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 eskim
 * @since 2019. 12. 10
 */
@SuppressWarnings("serial")
@Data
public class GoodsSearch 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 itemkindCd;
	private String goodsStat;
	private String styleYear;
	private String seasonCd;
	private String sexGb;
	private String changeableYn;
	private String returnableYn;
	private String returnFeeFreeYn;
	private String changeFeeFreeYn;
	private String formalGb;
	private String soldOutYn;
	private String erpStockLinkYn;
	private String erpPriceLinkYn;
	private String mdNo;
	private String currPrice;
	private String currPriceSt;
	private String currPriceEd;
	private String dcRate;
	private String dcRateSt;
	private String dcRateEd;
	private String pntRateSt;
	private String pntRateEd;
	private String stDate;
	private String edDate;
	private String stockQtySt;
	private String stockQtyEd;

	private String siteCd;
	private String cateGb;
	private String selLvl;
	private int cateNo;
	private String ageGrpCd;

	private String regSuccYn;
	private String searchGb;
	private String callBackFun;
	private String applyStdt;
	private String applyEddt;
	private String optCd1;	//옵션1
	private String optCd2;	//옵션2
	private String beforSkipFlag;
	private String goodsTnm;
	private String imageViewYn;
	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 int goodsPriceResSt;
	private int goodsPriceResEd;
	private String selfGoodsYn;
	private String goodsPriceYn;
	private String goodsType;
	private String selfMallYn;
	private String searchBrandCd;
	private String alarmYn;
	private String useYn;
	private String noticeTitle;
	private Integer rinbdInfoSq;
	private String callbackFn;
	private String brandList;
	private String supplyCompList;
	private String itemkindList;
	private String goodsContentsType;

	//@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;


}
