SearchEngine.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.style24.persistence.domain.searchengine;
  2. import java.io.Serializable;
  3. import java.util.Collection;
  4. import com.fasterxml.jackson.annotation.JsonFormat;
  5. import com.style24.persistence.TscPageRequest;
  6. import lombok.Data;
  7. /**
  8. * 검색엔진 연동 도메인
  9. *
  10. * @author gagamel
  11. * @since 2021. 4. 29
  12. */
  13. @SuppressWarnings("serial")
  14. @Data
  15. public class SearchEngine implements Serializable {
  16. // 인기검색어 목록
  17. Collection<Trend> trendList;
  18. // 파라미터
  19. private String siteCd; // 사이트코드
  20. private String cateGb; // 카테고리구분
  21. private String filterGb; // 필터구분
  22. private Integer custNo; // 고객번호
  23. private Integer cate1No; // 카테고리1번호
  24. private Integer cate2No; // 카테고리2번호
  25. private Integer cate3No; // 카테고리3번호
  26. private Integer cate4No; // 카테고리4번호
  27. private Integer cate5No; // 카테고리5번호
  28. private String keyword; // 키워드
  29. private Integer brandGroupNo; // 브랜드그룹번호
  30. private String formalGb; // 정상이월구분
  31. private String defaultCateYn; // 기본카테고리사용여부
  32. private String frontGb; // 프론트구분
  33. private String custGb; // 고객구분
  34. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  35. private String[] brandGroupArr; // 브랜드그룹배열
  36. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  37. private String[] sizeArr; // 사이즈배열
  38. private Integer priceFrom; // 가격From
  39. private Integer priceTo; // 가격To
  40. private Integer dcRateFrom; // 할인율From
  41. private Integer dcRateTo; // 할인율To
  42. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  43. private String[] ageArr; // 사이즈배열
  44. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  45. private String[] seasonArr; // 시즌배열
  46. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  47. private String[] colorArr; // 색상배열
  48. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  49. private String[] benefitArr; // 혜택배열
  50. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  51. private String[] priceArr; // 가격배열
  52. @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
  53. private String[] dcRateArr; // 할인율배열
  54. private String unisex; // 남여공용만보기(성별구분:G007_Z)
  55. private String newGoods; // 신상품만보기(혜택구분:40)
  56. private String sortingType; // 정렬순서(BELOVED: 인기상품순, REVIEW: 리뷰많은순 그외는 최신상품순)
  57. private String priceSql;
  58. private String dcRateSql;
  59. private int pageNo = 1; // 페이지번호
  60. private int pageSize = 50; // 페이지사이즈
  61. private int pageUnit = 10; // 페이지단위
  62. private TscPageRequest pageable;
  63. // Result - 상품리스트
  64. private String brandGroupNm; // 브랜드그룹명
  65. private String goodsCd; // 상품코드
  66. private String goodsFullNm; // 상품FULL명
  67. private String goodsTnm; // 상품타이틀명
  68. private int listPrice; // 정상가
  69. private int currPrice; // 현재판매가(=혜택가)
  70. private String sysImgNm; // 상품시스템파일명(썸네일 기본 이미지)
  71. private String sysImgNm2; // 상품시스템파일명2(썸네일 마우스오버 이미지)
  72. private String videos; // 동영상들(,로 연결된 문자열. 동영상구분:미디어컨텐츠 또는 유튜브동영상ID, ...)
  73. private String colorChips; // 컬러칩들(,로 연결된 문자열. 색상코드:컬러칩, ...)
  74. private String sizes; // 사이즈들(,로 연결된 문자열. 사이즈코드:품절여부, ...)
  75. private String benefits; // 혜택들(,로 연결된 문자열. 혜택구분:혜택명, ...)
  76. private String likeIt; // 좋아요(위시리스트에담긴상품)
  77. private String mainColorCd; // 메인컬러
  78. private String selfGoodsYn; // 자사상품여부
  79. private String colorCd;
  80. private String adFlag; // 광고상품여부
  81. // private String adminIp; // 검색엔진IP
  82. // private String adminPort; // 검색엔진포트
  83. private String returnCode; // 검색오류코드(양수: 정상, 음수: 오류)
  84. // 기획전 리스트
  85. private String mainPimg; //메인이미지(Pc)
  86. Collection<PlanningGoods> planningGoodsList;
  87. private String planNm; //기획전명
  88. private Integer planSq; //기획전일련번호(SeqPlan sequence)
  89. private String dtlTitle1; //상세제목1
  90. private String brandNm;
  91. private String newYn;
  92. // 이벤트 리스트
  93. private String dispStdt; //기획전 시작일시
  94. private String dispEddt; //기획전 종료일시
  95. @Data
  96. public class Trend {
  97. // 인기검색어
  98. private String keyword; // 키워드
  99. private int prevRank; // 이전랭킹
  100. private int ranking; // 랭킹
  101. }
  102. @Data
  103. public class PlanningGoods {
  104. // 기획전,이벤트
  105. private String goodsCd; // 상품 코드
  106. private String goodsNm; // 상품 명
  107. private int currPrice; // 판매가
  108. private String sysImgNm; // 상품 이미지
  109. private int listPrice; // 최소 소비자가
  110. }
  111. }