초기소스

This commit is contained in:
jazz
2025-10-29 17:08:05 +09:00
parent e531aa9540
commit 439a379a02
7551 changed files with 1234427 additions and 3 deletions

View File

@@ -0,0 +1,488 @@
package com.wb.domainserver.domain.sopmal.goods.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.domain.sopmal.csc.vo.GnrlBbscttVO;
import com.wb.domainserver.domain.sopmal.goods.vo.GoodsVO;
import com.wb.domainserver.domain.sopmal.mpage.act.vo.RvwVO;
import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
import com.wb.domainserver.security.authentication.AnonymousUser;
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.KakaoProperties;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.string.StringUtil;
import com.wb.domainserver.util.util.Util;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
@Controller
@RequestMapping("/sopmal/goods")
@Slf4j
public class GoodsController {
/** WebClient 호출을 위한 wrapper */
@Autowired
private WnbtWebClientResponseHandler responseHandler;
@Autowired
private SendToResrc sendToResrc;
/** 공통 메시지 처리를 위한 메시지 객체 */
@Autowired
private GconeMessageSource gconeMessageSource;
@Autowired
private KakaoProperties kakaoProperties;
/**
* 상품 검색 폼
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsSrchForm")
public String selectGoodsSrchForm(HttpServletRequest request,
GoodsVO vo,
ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOGoodsListForm", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/GoodsSrchRForm";
}
/**
* 상품 검색 리스트
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsSrchList")
public String selectGoodsSrchList(HttpServletRequest request,
GoodsVO vo,
ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOUserGoodsList", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/GoodsSrchR";
}
/**
* 상품명 검색어 조회
* @param vo
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectSrchGoodsNm")
public ResponseEntity<WnbtResponse> selectSrchGoodsNm(GoodsVO vo) {
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOSrchGoodsNm", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 목록 폼
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsListForm")
public String selectGoodsListForm(HttpServletRequest request,
GoodsVO vo,
ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOUserGoodsListForm", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/GoodsListRForm";
}
/**
* 상품 목록 리스트
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsList")
public String selectGoodsList(HttpServletRequest request,
GoodsVO vo,
ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOUserGoodsList", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/GoodsListR";
}
/**
* 모바일 상품 목록 리스트(인피티니스크롤 상품 추가)
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsListInqire")
public ResponseEntity<?> selectGoodsListIns(HttpServletRequest request,
GoodsVO vo,
ModelMap model) {
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOUserGoodsList", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 상세
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtl")
public String selectGoodsDtl(HttpServletRequest request, GoodsVO vo, ModelMap model) {
//광고유입코드 저장
if(!StringUtil.isEmpty((String) request.getAttribute("adTraceCd"))){
vo.setAdTraceCd((String) request.getAttribute("adTraceCd"));
}
//ep 코드 저장
if(!StringUtil.isEmpty((String) request.getAttribute("epCd"))){
vo.setEpCd((String) request.getAttribute("epCd"));
}
//접속환경 저장
if(!StringUtil.isEmpty((String) request.getAttribute("env"))){
vo.setEnv((String) request.getAttribute("env"));
}
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOGoodsDtlInfo", vo)
);
String kakaoKey = "";
if(resultMap.containsKey("sopmalCd")){
kakaoKey = kakaoProperties.getKeyForDomain(resultMap.get("sopmalCd").toString());
}
// 네이버 페이 config Data gethering
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
Map<String, Object> param = new HashMap<String, Object>();
param.put("sopmalCd", user.getSopmalCd());
Map<String,Object> naverKey = responseHandler.handleResponseAsMap(
//sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/npay/config/loadNpayConfigDetail", param)
sendToResrc.ofGetWithParam(RESRC.GCONEBO, "/gcone/ordr/npay/config/loadNpayConfigDetail", param)
);
Map<String,Object> naverMap = (Map<String, Object>) naverKey.get("npayConfigDetail");
model.addAttribute("kakaoKey", kakaoKey);
model.addAttribute("resultMap", resultMap);
// 네이버 페이 사용 여부
model.addAttribute("naverPayYn", naverKey.get("naverPayYn").toString());
// 네이버 페이 공통인증키
model.addAttribute("commonCertiKey", naverMap.get("commonCertiKey").toString());
// 네이버 페이 BUTTON_KEY
model.addAttribute("buttonKey", naverMap.get("buttonKey").toString());
return Util.getDeviceType(request)+"/goods/GoodsDtlR";
}
/**
* 상품 상세 > 쿠폰받기 팝업
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsCouponListPopup")
public String selectCouponListPopup(HttpServletRequest request, @RequestBody GoodsVO vo, ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOGoodsCouponListPopup", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/couponListPopupR";
}
/**
* 상품 상세 > 옵션 조회
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsOptnInfo")
public ResponseEntity<?> selectGoodsOptnInfo(HttpServletRequest request, @RequestBody GoodsVO vo, ModelMap model) {
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOGoodsOptnInfo", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 상세 > 함께하면 좋은 상품(관련상품) 팝업
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectRelateGoodsPopup")
public String selectRelateGoodsPopup(HttpServletRequest request, @RequestBody GoodsVO vo,ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBORelateGoodsPopup", vo),
model,
"relateResultMap"
);
return Util.getDeviceType(request)+"/goods/RelateGoodsPopupR";
}
/**
* 상품 목록 > 장바구니 버튼 팝업
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectAddCartGoodsPopup")
public String selectAddCartGoodsPopup(HttpServletRequest request, @RequestBody GoodsVO vo, ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBORelateGoodsPopup", vo),
model,
"addCartResultMap"
);
return Util.getDeviceType(request)+"/goods/GoodsAddCartPopUpR";
}
/**
* 상품 상세 > 리뷰 혜택 정보 조회
* @param vo
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectRvwBnefInfo")
public ResponseEntity<?> selectRvwBnefInfo(RvwVO vo) {
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBORvwBnefInfo", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 상세 > 리뷰 목록 조회 폼
*
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlRvwListForm")
public String selectGoodsDtlRvwListForm(HttpServletRequest request, RvwVO vo, ModelMap model) {
if(!"sopmal".equals(Util.getDeviceType(request))){ //모바일일 시 같이 파일 같이 가져오기
vo.setDiviceDv("mobile");
}
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsRvwForm", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/RvwListRForm";
}
/**
* 상품 상세 > 리뷰 목록 조회
*
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlRvwList")
public String selectGoodsDtlRvwList(HttpServletRequest request, RvwVO vo, ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsRvwList", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/RvwListR";
}
/**
* 상품 상세 > 리뷰 목록 조회 ajax
* @param vo
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlRvwListAjax")
public ResponseEntity<?> selectGoodsDtlRvwListAjax(GnrlBbscttVO vo) {
//게시글 노출 항목 설정값과 게시판 목록 조회
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsRvwList", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 상세 > 스토어 pick
*
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlStorePickDtl")
public String selectGoodsDtlStorePickDtl(HttpServletRequest request, RvwVO vo, ModelMap model) {
vo.setPageIndex(1);
vo.setPageUnit(100);
vo.setBstAt("Y");
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsRvwPhoto", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/StorePickDtlR";
}
/**
* 상품 상세 > 리뷰 상세 포토리스트
*
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlRvwPhoto")
public String selectGoodsDtlRvwPhoto(HttpServletRequest request, RvwVO vo, ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsRvwPhoto", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/RvwPhotoListR";
}
/**
* 상품 상세 > 리뷰 상세 포토리스트 이미지 추가 ajax
*
* @param vo
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlRvwPhotoAjax")
public ResponseEntity<?> selectGoodsDtlRvwPhotoAjax(RvwVO vo) {
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsRvwPhoto", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 상세 > QnA목록조회
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlQnaList")
public String selectGoodsDtlQnaList(HttpServletRequest request, GnrlBbscttVO vo, ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsQnaList", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/QnaListR";
}
/**
* 상품 상세 > QnA목록조회 ajax
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsDtlQnaListAjax")
public ResponseEntity<?> selectGoodsDtlQnaListAjax(GnrlBbscttVO vo) {
//게시글 노출 항목 설정값과 게시판 목록 조회
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/bbs/gnrlbbsctt/selectBOGoodsQnaList", vo),
ReplyFromResrc::getReply
);
}
/**
* 상품 상세 > 반품 정보 jsp 호출
* @param vo
* @param model
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectGoodsReturnInfo")
public String selectGoodsReturnInfo(HttpServletRequest request, GoodsVO vo, ModelMap model) {
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/goods/goods/selectBOGetGoodsCmnuseInfo", vo),
model,
"resultMap"
);
return Util.getDeviceType(request)+"/goods/ReturnInfoR";
}
}

View File

@@ -0,0 +1,21 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class CategoryLinkVO extends AbstractVO {
/** 카테고리연결상품고유번호 */
private long ctgryGoodsEsntlNb;
/** 상품고유번호 */
private long goodsInnb;
/** 카테고리ID */
private long ctgryId;
/** 대표카테고리여부 */
private String reprsntCtgryAt;
/** 상품순서 */
private double goodsOrdr;
}

View File

@@ -0,0 +1,28 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
public class GoodsAdditionVO extends AbstractVO {
/** 상품추가정보 고유번호 */
private long goodsAditInfoInnb;
/** 상품고유번호 */
private long goodsInnb;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 추가정보제목 */
private String infoSj;
/** 추가정보내용 */
private String infoCn;
/** 노출시작일시 */
private Date expsrBgnDt;
/** 노출종료일시 */
private Date expsrEndDt;
}

View File

@@ -0,0 +1,21 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class GoodsIconVO extends AbstractVO {
/** 상품아이콘 고유번호*/
private long goodsIconInnb;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 상품고유번호*/
private long goodsInnb;
/** 아이콘코드*/
private String iconCd;
}

View File

@@ -0,0 +1,25 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class GoodsImageVO extends AbstractVO {
/** 상품이미지 고유번호 */
private long goodsImgInnb;
/** 상품고유번호 */
private long goodsInnb;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 이미지종류 */
private String imgKnd;
/** 컷번호 */
private long cutNb;
/** 이미지경로 */
private String img;
}

View File

@@ -0,0 +1,78 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class GoodsOptionVO extends AbstractVO {
/** 상품옵션 고유번호 */
private long goodsOptnInnb;
/** 옵션 유형 */
private String optnTy;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 상품고유번호 */
private long goodsInnb;
/** 옵션 코드 */
private String optnCd;
/** 옵션명 1 */
private String optnNm1;
/** 옵션명 2 */
private String optnNm2;
/** 옵션명 3 */
private String optnNm3;
/** 옵션명 4 */
private String optnNm4;
/** 옵션값 1 */
private String optnVal1;
/** 옵션값 2 */
private String optnVal2;
/** 옵션값 3 */
private String optnVal3;
/** 옵션값 4 */
private String optnVal4;
/** 옵션코드 1 */
private String optnCd1;
/** 옵션코드 2 */
private String optnCd2;
/** 옵션코드 3 */
private String optnCd3;
/** 옵션코드 4 */
private String optnCd4;
/** 옵션별가격 1 */
private double acctoOptnPric1;
/** 옵션별가격 2 */
private double acctoOptnPric2;
/** 옵션별가격 3 */
private double acctoOptnPric3;
/** 옵션별가격 4 */
private double acctoOptnPric4;
/** 옵션정보 */
private String optnInfo;
/** 재고수량 */
private long invntryQy;
/** 가용재고수량 */
private long usefulInvntryQy;
/** 공급가 */
private double splpric;
/** 소비자가 */
private double cnsmrpric;
/** 판매가 */
private double slepric;
/** 마일리지적립구분코드 */
private double mlgAccmlRt;
/** 마일리지 적립금액 */
private double mlgAccmlmnyAmt;
/** 마일리지 유효월수 */
private long mlgValidMtCnt;
/** 구매자별 추가혜택여부 */
private String purchsrAcctoAditBnefAt;
/** 옵션관계번호 */
private long optnRelateNb;
/** 옵션노출여부 */
private String optnExpsrAt;
}

View File

@@ -0,0 +1,18 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class GoodsRelateVO extends AbstractVO {
/** 관련상품 고유번호 */
private long relateGoodsInnb;
/** 상품 고유번호 */
private long goodsInnb;
/** 관련 판매상품 고유번호 */
private long relateSleGoodsInnb;
}

View File

@@ -0,0 +1,436 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = false)
public class GoodsVO extends AbstractVO {
/*************************************
* 상품 GOODS START
* **********************************/
/** 상품고유번호 */
private String goodsInnb;
/*as-is 상품고유번호*/
private String no;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 배송그룹 고유번호 */
private long dlvyGroupInnb;
/** 공용정보 고유번호 */
private long cmnuseInfoInnb;
/** 버전번호 */
private long verNb;
/** 사업자 고유번호 */
private long bsnmInnb;
/** 상품종류 */
private String goodsKndCd;
/** 상품코드 */
private String goodsCd;
/** 대표상품코드 */
private String reprsntGoodsCd;
/** 상품명 */
@NotBlank(message = "상품명")
private String goodsNm;
/** ? */
private String textMarktGoodsNm;
/** 부가세 */
private String taxAt;
/** 상품상태 */
private String goodsSttusCd;
/** 재고정책 */
private String invntryPolicyCd;
/** 가용재고제한수량 */
private long avlinvLmttQy;
/** 짧은설명 */
private String srtDc;
/** 키워드 */
private String kwrd;
/** 상품설명 */
private String goodsDc;
/** 모바일상품설명 */
private String mblGoodsDc;
/** 모바일상품설명 PC 동일여부 */
private String mblGoodsDcPcSameAt;
/** 가격대체문구사용여부 */
private String pricRplcWordsUseAt;
/** 가격대체문구 */
private String pricRplcWords;
/** 버튼대체문구사용여부 */
private String buttonRplcWordsUseAt;
/** 버튼대체문구 */
private String buttonRplcWords;
/** 버튼대체문구링크URL */
private String buttonRplcWordsUrl;
/** 버튼대체문구링크구분 */
private String buttonRplcWordsDvCd;
/** 구매수량 유형 */
private String purchsQyTyCd;
/** 최소구매수량 */
private long mummPurchsQy;
/** 최대구매수량 */
private long mxmmPurchsQy;
/** 결제수단설정 */
private String setleMnSetupCd;
/** 상품노출유형 */
private String goodsExpsrTyCd;
/** 노출구분 */
private String expsrDvCd;
/** 노출시작일시 */
private Date expsrBgnDt;
/** 노출종료 */
private Date expsrEndDt;
/** 노출설정앞문구 */
private String expsrSetupFwords;
/** 리뷰그룹번호 */
private String rvwGroupNb;
/** 리뷰작성가능여부 */
private String rvwWritngPosblAt;
/** 입점마케팅연동상태 */
private String tentMarktIntrlckSttus;
/** 예약상품배송일자 */
private String resveGoodsDlvyDe;
/** 예약상품안내문구내용 */
private String resveGoodsGuidanceWordsCn;
/** 예약상품재고수 */
private long resveGoodsInvntryCnt;
/** 배송안내문구내용 */
private String dlvyGuidanceWordsCn;
/** 청약철회가능여부 */
private String subscrptWthdrawPosblAt;
/** 개별취소가능여부 */
private String indvdlzCanclPosblAt;
/** 개별출고가능여부 */
private String indvdlzDlivyPosblAt;
/** 개별반품교환가능여부 */
private String indvdlzReturnExchngPosblAt;
/** EP 코드 */
private String epCd;
/** 광고유입코드 */
private String adTraceCd;
/** 접속환경 */
private String env;
/*************************************
* 상품 GOODS END
* **********************************/
/*************************************
* 옵션 GOODS_OPTION START
* **********************************/
/** 상품옵션 고유번호 */
private String goodsOptnInnb;
/** 옵션 유형 */
private String optnTy;
// /** 쇼핑몰코드 */
// private String sopmalCd;
// /** 상품고유번호 */
// private long goodsInnb;
/** 옵션 코드 */
private String optnCd;
/** 옵션명 1 */
private String optnNm1;
/** 옵션명 2 */
private String optnNm2;
/** 옵션명 3 */
private String optnNm3;
/** 옵션명 4 */
private String optnNm4;
/** 옵션값 1 */
private String optnVal1;
/** 옵션값 2 */
private String optnVal2;
/** 옵션값 3 */
private String optnVal3;
/** 옵션값 4 */
private String optnVal4;
/** 옵션코드 1 */
private String optnCd1;
/** 옵션코드 2 */
private String optnCd2;
/** 옵션코드 3 */
private String optnCd3;
/** 옵션코드 4 */
private String optnCd4;
/** 옵션별가격 1 */
private double acctoOptnPric1;
/** 옵션별가격 2 */
private double acctoOptnPric2;
/** 옵션별가격 3 */
private double acctoOptnPric3;
/** 옵션별가격 4 */
private double acctoOptnPric4;
/** 옵션정보 */
private String optnInfo;
/** 재고수량 */
private Integer invntryQy;
/** 가용재고수량 */
private String usefulInvntryQy;
/** 공급가 */
private Integer splpric;
/** 소비자가 */
private Integer cnsmrpric;
/** 판매가 */
private Integer slepric;
/** 마일리지적립구분코드 */
private double mlgAccmlRt;
/** 마일리지적립구분코드 */
private double mlgAccmlCd;
/** 마일리지 적립금액 */
private double mlgAccmlAmt;
/** 구매자별 추가혜택여부 */
private String purchsrAcctoAditBnefAt;
/** 옵션관계번호 */
private long optnRelateNb;
/** 옵션노출여부 */
private String optnExpsrAt;
/** 기준구분여부 */
private String stdrDvAt;
/*************************************
* 옵션 GOODS_OPTION END
* **********************************/
/*************************************
* 관련상품 GOODS_RELATE START
* **********************************/
/** 관련상품 고유번호 */
private long relateGoodsInnb;
// /** 상품 고유번호 */
// private long goodsInnb;
/** 관련 판매상품 고유번호 */
private long relateSleGoodsInnb;
/*************************************
* 관련상품 GOODS_RELATE END
* **********************************/
/*************************************
* 배너 SHOP_GOODS_BANNER START
* **********************************/
// /** 상품고유번호*/
// private long goodsInnb;
/** 배너고유번호*/
private long bannerInnb;
/*************************************
* 배너 SHOP_GOODS_BANNER END
* **********************************/
/** 추가정보 */
private List<GoodsAdditionVO> goodsAdditionVOList;
/*************************************
* 할인(프로모션) SHOP_GOODS_DSCNT START
* **********************************/
/** 판매상품할인정책고유번호 */
private long sleGoodsDscntInnb;
// /** 상품고유번호 */
// private long goodsInnb;
// /** 쇼핑몰코드 */
// private String sopmalCd;
/** 할인시작구매수량 */
private long dscntBgnPurchsQy;
/** 할인종료구매수량 */
private long dscntEndPurchsQy;
/** 할인구분코드 */
private String dscntDvCd;
/** 할인금액 */
private double dscntAmt;
/*************************************
* 할인(프로모션) SHOP_GOODS_DSCNT END
* **********************************/
/*************************************
* 아이콘 GOODS_ICON START
* **********************************/
/** 상품아이콘 고유번호*/
// private long goodsIconInnb;
// /** 상품고유번호*/
// private long goodsInnb;
/** 아이콘코드*/
// private String iconCd;
private List<GoodsIconVO> goodsIconVOList;
/*************************************
* 아이콘 GOODS_ICON END
* **********************************/
/*************************************
* 이미지 GOODS_IMAGE START
* **********************************/
/** 상품이미지 고유번호 */
private long goodsImgInnb;
// /** 상품고유번호 */
// private long goodsInnb;
// /** 쇼핑몰코드 */
// private String sopmalCd;
/** 이미지종류 */
private String imgKnd;
/** 컷번호 */
private long cutNb;
/** 이미지경로 */
private String img;
/*************************************
* 이미지 GOODS_IMAGE END
* **********************************/
/*************************************
* 카테고리연결 CATEGORY_LINK START
* **********************************/
/** 카테고리연결상품고유번호 */
private long ctgryGoodsEsntlNb;
// /** 상품고유번호 */
// private long goodsInnb;
/** 카테고리ID */
private String ctgryId;
/** 카테고리CD */
private String code;
/** 대표카테고리여부 */
private String reprsntCtgryAt;
/** 상품순서 */
private double goodsOrdr;
/*************************************
* 카테고리연결 CATEGORY_LINK END
* **********************************/
/** 주문고유번호 */
private String ordrInnb;
/** 회원고유번호 */
private String mbrInnb;
/** 회원구분 */
private String mbrDvCd;
/** 상위 카테고리 */
private String upperCtgryId;
/** 노출 코드 */
private String expsrCd;
/** 가격 구분 */
private String pricDv;
/** 시작 가격 */
private String startPric;
/** 종료 가격 */
private String endPric;
/** 판매 상태 */
private String[] goodsDftinfoSttus;
/** 일자 구분 */
private String dateDv;
/** 시작 일자 */
private String startDate;
/** 종료 일자 */
private String endDate;
/** 재고에따른 판매 */
private String goodsDftinfoInvntryPolicy;
/** 상품옵션 고유번호 배열*/
private String[] goodsOptnInnbs;
/** 상품옵션 구분 */
private String goodsOptnDv;
/** 개수 */
private int qy;
/** 입력옵션 텍스트 */
private String inputOptn;
/** 입력옵션 텍스트 */
private String inputOptnText;
/** 이벤트 고유번호 배열*/
private String[] evtInnbs;
/** 이벤트 구분 */
private String evtDv;
/** 쿠폰 고유번호 */
private String couponInnb;
/** 다운로드쿠폰 고유번호 */
private String dwldCouponInnb;
/** 쿠폰 혜택구분 */
private String bnefDv;
/** 중복할인여부 */
private String dplctDscntAt;
/** 타쿠폰동시사용여부 */
private String otrCouponSmtmUseAt;
/** 적용쿠폰 */
private String usedCoupons;
/** 검색_정렬구분 */
private String sortDv;
/** 검색 타입 */
private String srchType;
/** 검색어 */
private String srchStr;
private List<HashMap<String, Object>> delInnbArr;
private List<HashMap<String, Object>> fileInfo;
/*************************************
* 상품수정로그 FM_GOODS_ADMIN_LOG START
* **********************************/
/** 상품수정로그 고유번호 */
private long goodsUpdtLogInnb;
/** 항목명 */
private String itmNm;
/** 변경전값 */
private String chngBfeVal;
/** 변경후값 */
private String chngAfeVal;
/** 수정자 이름 */
private String regusrNm;
/** 회차 */
private double round;
/** 아이피 */
private String ip;
/*************************************
* 상품수정로그 FM_GOODS_ADMIN_LOG END
* **********************************/
private String priceRange;
/** 회원ID */
private String mbrId;
/** 세션아이디 */
private String sesionId;
/** 옵션관계번호 배열 */
private String[] optnRelateNbs;
}

View File

@@ -0,0 +1,16 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class ShopGoodsBannerVO extends AbstractVO {
/** 상품고유번호*/
private long goodsInnb;
/** 배너고유번호*/
private long bannerInnb;
}

View File

@@ -0,0 +1,27 @@
package com.wb.domainserver.domain.sopmal.goods.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class ShopGoodsDscntVO extends AbstractVO {
/** 판매상품할인정책고유번호 */
private long sleGoodsDscntInnb;
/** 상품고유번호 */
private long goodsInnb;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 할인시작구매수량 */
private long dscntBgnPurchsQy;
/** 할인종료구매수량 */
private long dscntEndPurchsQy;
/** 할인구분코드 */
private String dscntDvCd;
/** 할인금액 */
private double dscntAmt;
}