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 bin2107
 * @since 2021. 3. 16
 */
@SuppressWarnings("serial")
@Data
public class GoodsSearch extends TscBaseDomain {

    // 몰메인 추가
    private String cateType;                    // 카테고리유형
    private Integer cateNo;                     // 카테고리번호
    private String soldoutGoodsDisplayYn = "N";	//품절노출여부
    private String frontGb;		                //프론트구분
    private int floorUnit;                      // 절사단위(1:일원단위절사, 10:십원단위절사, 100:백원단위절사)
    private String custGb;		                //고객구분
    private String custGrade;	                //고객등급
    private Integer custNo;		                //고객번호

    private int maxRownum;			            // 조회건수

    private Integer cate1No;
    private Integer cate2No;
    private Integer cate3No;
    private Integer cate4No;
    private Integer cate5No;
    private String siteCd;
    private String cateGb;
    private String formalGb;
    private Integer brandGroupNo;
    private String brandGroupNm;
    private String sizeGb;
    private String optCd2;
    private String agesCd;
    private String agesNm;
    private String seasonCd;
    private String seasonNm;
    private String colorGrpCd;
    private String colorChip;
    private String benefitCd;
    private String benefitNm;

    private Integer price1;
    private Integer price2;
    private Integer price3;
    private Integer price4;
    private Integer price5;
    private Integer price6;

    private String  filterGb;
    private String  filterCd;
    private String  filterNm;

    private String priceHigh;
    private String priceRow;
    private String dcrateHigh;
    private String dcrateRow;
    private String sexGb;
    private String newProd;

    private TscPageRequest pageable;				// 페이징
    private int pageNo = 1;
    private int pageSize = 50;
    private int pageUnit = 10;
    private String sortGb;

    private String contentsLoc;
    private int maxRow;

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

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

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

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

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

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

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