package com.style24.persistence.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.style24.persistence.TscBaseDomain;
import com.style24.persistence.TscPageRequest;

import lombok.Data;

/**
 * 상품 검색 Domain
 *
 * @author jmh
 * @since 2021. 05. 11
 */
@SuppressWarnings("serial")
@Data
public class ShoplinkerSearch extends TscBaseDomain {

	private int startRow;
	private int endRow;
	private String search; // 키워드 종류
	private String condition; // 키워드 종류별 값
	private String supplyCompCd;
	private String brandGrpNm;
	private String brandCd;

	private String stDate;
	private String edDate;

	private String regSuccYn;
	private String searchGb;
	private String callBackFun;
	private String applyStdt;
	private String applyEddt;
	private String goodsCd;
	private String goodsNum;
	private String goodsNm;
	private String inoutGb;
	private String applyFlag;
	private String barcode;
	private String dateGbn;
	private String goodsTnmRes;
	private String searchBrandCd;
	private String brandList;
	private String supplyCompList;
	private String searchTxt;

	private String regNm;
	private String apiType;
	private String apiResult;
	private String apiStDate;

	private Integer remainExtCnt;		// 주문수집시-제휴몰주문업로드 남은수
	private Integer remainStyleCnt;		// 주문수집시-스타일24주문업로드 남은수

	//@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	//private String[] siteCd;

	/* 상품목록 Multi CheckBox 항목*/
	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiBrand;

	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiItemkindCd;

	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiGoodsStat;

	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiStyleYear;

	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiSeasonCd;
	/* 상품목록 Multi CheckBox 항목*/

	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] conditionList;

	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] arrGoodsCd;

	/* 다다익선 Multi 추가 */
	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiSupplyCompCd;

	private String pageingYn;

	/* 다다익선 Multi 추가 */

	// Pagination
	private TscPageRequest pageable;
	private int pageNo = 1;
	private int pageSize = 50;
	private int pageUnit = 10;

	// api 호출 가능여부 확인
	private String sid;
	private String runStdt;
	private String runEddt;
	private String runStat;
	private Integer runCnt = 0;	// 현재 실행중인건수
	private String txt;
	private Integer sidOverlapCnt = 0;

	// 주문수집 배치 - 마지막 호출 시간
	private int batchOrdLastHour;

	private String startDt;		// 주문수집 시작날짜
	private String toDt;		// 주문수집 오늘날짜
	private String bizdayYn;	// 주문수집 영업일여부(Y:영업일, N:휴무일)
}
