초기소스
This commit is contained in:
@@ -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";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user