초기소스

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,310 @@
package com.wb.domainserver.domain.gcone.tm.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.gcone.common.service.BOCommonService;
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
import com.wb.domainserver.domain.gcone.tm.response.TmResponse;
import com.wb.domainserver.domain.gcone.tm.service.BOTmService;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmGoodsVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmMbrVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmOrdrVO;
import com.wb.domainserver.exception.code.TmCode;
import com.wb.domainserver.exception.response.WnbtTmRestException;
import com.wb.domainserver.response.ApiResponse;
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.string.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/gcone/tm")
public class BOTmController {
@Autowired
private BOTmService service;
@Autowired
private BOOrdrService ordrService;
@Autowired
private SendToResrc sendToResrc;
@Autowired
private BOCommonService boCommonService;
@Autowired
private PaginationProperties paginationProperties;
/*분류 정보
* ok
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmCategory")
public ResponseEntity<?> selectBOTmCategory(@RequestBody BOTmGoodsVO vo) {
List<Map<String, Object>> itmList = new ArrayList<>();
itmList = service.selectBOTmitmList(vo);
Map<String, Object> list = new HashMap<>();
list.put("list", itmList);
TmResponse response = new TmResponse("Y", "", list);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*상품 목록 검색
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmGoodsList")
public ResponseEntity<?> selectBOTmGoodsList(@RequestBody BOTmGoodsVO vo) {
Map<String, Object> goodsInfo = new HashMap<>();
goodsInfo = service.selectBOTmGoodsList(vo);
TmResponse response = new TmResponse("Y", "", goodsInfo);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*상품정보 보기 ok
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmGoodsDtlInfo")
public ResponseEntity<?> selectBOTmGoodsDtlInfo(@RequestBody BOTmGoodsVO vo) {
if (StringUtil.isEmpty(vo.getGoods_seq())) {
throw new WnbtTmRestException(TmCode.NO_GOODS_SEQ);
}
Map<String, Object> goodsInfo = new HashMap<>();
goodsInfo = service.selectBOTmGoodsDtlInfo(vo);
TmResponse response = new TmResponse("Y", "", goodsInfo);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*사은품이벤트설정
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmGiftInfo")
public ResponseEntity<?> selectBOTmGiftInfo(@RequestBody BOTmGoodsVO vo) {
List<Map<String, Object>> content = new ArrayList<>();
content = service.selectBOTmGiftInfo(vo);
TmResponse response = new TmResponse("Y", "", content);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*최근 주문 내역 ok
* 안쓰는듯?
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmRecentOrdrList")
public ResponseEntity<?> selectBOTmRecentOrdrList(@RequestBody BOTmOrdrVO vo) {
if (StringUtil.isEmpty(vo.getMember_seq())) {
throw new WnbtTmRestException(TmCode.NO_MEMBER_SEQ);
}
Map<String, Object> content = new HashMap<>();
content = service.selectBOTmRecentOrdrList(vo);
TmResponse response = new TmResponse("Y", "", content);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*주문 내역 조회 ok
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmOrderList")
public ResponseEntity<?> selectBOTmOrderList(@RequestBody BOTmOrdrVO vo) throws JsonProcessingException {
//주문번호 혹의 tm주문번호 없을 시
if (StringUtil.isEmpty(vo.getOrder_site())){
throw new WnbtTmRestException(TmCode.NO_BRAND_CD);
}else if (CollectionUtils.isEmpty(vo.getArr())) {
String msg = "주문이 지정되지 않았습니다.(NO_ORDER_SEQ:" + vo.getOrder_seq() + ")";
throw new WnbtTmRestException(TmCode.CUSTOM_MSG, msg, TmCode.CUSTOM_MSG.getErr());
}
//쇼핑몰 코드가 없을 경우
if (StringUtil.isEmpty(vo.getOrder_site())) {
throw new WnbtTmRestException(TmCode.NO_BRAND_CD);
}
Map<String, Object> content = new HashMap<>();
List<Map<String, Object>> data = new ArrayList<>();
data = service.selectBOTmOrdrList(vo);
ObjectMapper objectMapper = new ObjectMapper();
String jsonData = objectMapper.writeValueAsString(data);
TmResponse response = new TmResponse("Y", "", jsonData);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/* *//*주문취소
* 취소처리 로직 없음 안해도 되는건가?? (현재 주문 상태 조회만 있는데??)
* *//*
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/updateBOTmOrdrCancl")
public ResponseEntity<?> updateBOTmOrdrCancl(@RequestBody Map map) {
String sopmalCd = StringUtil.isNullToString(map.get("sopmalCd"));
String ordrInnb = StringUtil.isNullToString(map.get("order_seq"));
//주문번호
if(StringUtil.isEmpty(sopmalCd)){
throw new WnbtTmRestException(TmCode.NO_ORDER_SEQ);
}
//쇼핑몰 코드가 없을 경우
if (StringUtil.isEmpty(ordrInnb)) {
throw new WnbtTmRestException(TmCode.NO_BRAND_CD);
}
//주문 취소
Map<String, Object> content = service.updateCanclOrdr(map);
return ApiResponse.of(content).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}*/
/*주문 내역 수정 ok
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/updateBOTmOrdrInfo")
public ResponseEntity<?> updateBOTmOrdrInfo(@RequestBody BOTmOrdrVO vo) {
String sopmalCd = StringUtil.isNullToString(vo.getOrder_site());
String ordrInnb = StringUtil.isNullToString(vo.getOrder_seq());
//대상정보 확인
//주문번호
if (StringUtil.isEmpty(ordrInnb)) {
throw new WnbtTmRestException(TmCode.NO_ORDER_SEQ);
}
//쇼핑몰 코드가 없을 경우
if (StringUtil.isEmpty(sopmalCd)) {
throw new WnbtTmRestException(TmCode.NO_BRAND_CD);
}
//secretKey set
vo.setSecretKey(boCommonService.selectSecretkey());
Map<String, Object> content = new HashMap<>();
content = service.updateBOTmOrdrInfo(vo);
TmResponse response = new TmResponse("Y", "", content);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*휴대전화로 회원검색 ok
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmMbrInfo")
public ResponseEntity<?> selectBOTmMbrInfo(@RequestBody BOTmMbrVO vo) {
//회원명이 있는지
if (StringUtil.isEmpty(vo.getUser_name())) {
throw new WnbtTmRestException(TmCode.NO_USER_NAME);
}
//휴대폰 번호가 있는지
if (StringUtil.isEmpty(vo.getCellphone())) {
throw new WnbtTmRestException(TmCode.NO_CELLPHONE);
}
//숫자외 문자가 있는지
String cellphone = vo.getCellphone();
if (cellphone.matches(".*[^0-9].*")) {
throw new WnbtTmRestException(TmCode.BAD_CELLPHONE);
}
//11자리인지
if (cellphone.length() != 11) {
throw new WnbtTmRestException(TmCode.BAD_LEN_CELLPHONE);
}
List<Map<String, Object>> mbrInfo = new ArrayList<>();
//secretKey set
vo.setSecretKey(boCommonService.selectSecretkey());
mbrInfo = service.selectBOTmMbrInfo(vo);
if (CollectionUtils.isEmpty(mbrInfo)) {
throw new WnbtTmRestException(TmCode.NO_MEMBER_INFO);
}
TmResponse response = new TmResponse("Y", "", mbrInfo);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*주문번호로 주문 상세(결제완료시)
*
* */
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmOrdrInfo")
public ResponseEntity<?> selectBOTmOrdrInfo(@RequestBody BOOrdrVO vo) {
Map<String, Object> ordrInfo = new HashMap<>();
ordrInfo = service.selectBOTmOrdrInfo(vo);
return ApiResponse.of(ordrInfo).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*환불 동기화
*
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmRefundList")
public ResponseEntity<?> selectBOTmRefundList(@RequestBody BOTmOrdrVO vo) throws JsonProcessingException {
//쇼핑몰 코드가 없을 경우
if (CollectionUtils.isEmpty(vo.getArr())) {
String msg = "환불 코드가 지정되지 않았습니다.";
throw new WnbtTmRestException(TmCode.CUSTOM_MSG, msg, TmCode.CUSTOM_MSG.getErr());
}
List<Map<String, Object>> data = new ArrayList<>();
data = service.selectTmRefundList(vo);
ObjectMapper objectMapper = new ObjectMapper();
String jsonData = objectMapper.writeValueAsString(data);
TmResponse response = new TmResponse("Y", "", jsonData);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*반품 동기화
*
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmReturnList")
public ResponseEntity<?> selectBOTmReturnList(@RequestBody BOTmOrdrVO vo) throws JsonProcessingException {
//쇼핑몰 코드가 없을 경우
if (CollectionUtils.isEmpty(vo.getArr())) {
String msg = "반품 코드가 지정되지 않았습니다.";
throw new WnbtTmRestException(TmCode.CUSTOM_MSG, msg, TmCode.CUSTOM_MSG.getErr());
}
List<Map<String, Object>> data = new ArrayList<>();
data = service.selectTmReturnList(vo);
ObjectMapper objectMapper = new ObjectMapper();
String jsonData = objectMapper.writeValueAsString(data);
TmResponse response = new TmResponse("Y", "", jsonData);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
/*최근 주문 내역 여러 회원
*
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/selectBOTmManyMbrRecentOrdrList")
public ResponseEntity<?> selectBOTmManyMbrRecentOrdrList(@RequestBody BOTmOrdrVO vo) throws JsonProcessingException {
//쇼핑몰 코드가 없을 경우
if (CollectionUtils.isEmpty(vo.getArr())) {
String msg = "회원 고유 번호가 지정되지 않았습니다.";
throw new WnbtTmRestException(TmCode.CUSTOM_MSG, msg, TmCode.CUSTOM_MSG.getErr());
}
List<Map<String, Object>> data = new ArrayList<>();
data = service.selectTmManyMbrRecentOrdrList(vo);
ObjectMapper objectMapper = new ObjectMapper();
String jsonData = objectMapper.writeValueAsString(data);
TmResponse response = new TmResponse("Y", "", jsonData);
return ApiResponse.of(response).ifPresentOrElse(HttpStatus.OK, HttpStatus.NOT_FOUND);
}
}

View File

@@ -0,0 +1,67 @@
package com.wb.domainserver.domain.gcone.tm.mapper;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmGoodsVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmMbrVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmOrdrVO;
import com.wb.domainserver.util.dataaccess.DataMap;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Mapper
@Repository
public interface BOTmMapper {
/*분류 조회*/
List<Map<String,Object>> selectBOTmitmList(BOTmGoodsVO vo);
/*상품 목록 건수*/
Integer selectBOTmGoodsCnt(BOTmGoodsVO vo);
/*상품 목록 리스트*/
List<Map<String,Object>> selectBOTmGoodsList(BOTmGoodsVO vo);
/*이벤트 목록 조회*/
List<Map<String,Object>> selectBOTmEvtList(BOTmGoodsVO vo);
/*사은품 대상 상품/카테고리*/
List<Map<String,Object>> selectBOTmTgtGiftList(String gift_seq, String order_site);
/*증정 상품*/
List<Map<String,Object>> selectBOTmGiftList(String gift_seq, String order_site);
/*사은품 상품 조회*/
List<Map<String,Object>> selectBOTmGiftGoodsList(BOTmGoodsVO vo);
/*상품정보 보기*/
Map<String, Object> selectBOTmGoodsDtlInfo(BOTmGoodsVO vo);
/*주문 내역*/
List<Map<String,Object>> selectBOTmOrdrList(BOTmOrdrVO vo);
/*주문정보검색*/
DataMap selectBOOrdrList(BOTmOrdrVO vo);
/*최근 주문 검색*/
Map<String,Object> selectBOTmRecentOrdrList(BOTmOrdrVO vo);
/*수정 성공 후 주문결제검색*/
Map<String,Object> selectOrdrSetleInfo(BOTmOrdrVO vo);
/*휴대전화로 회원검색*/
List<Map<String, Object>> selectBOTmMbrInfo(BOTmMbrVO vo);
/*결제 완료시 tm 주문 조회*/
Map<String, Object> selectBOTmOrdrInfo(BOOrdrVO vo);
/*환불 동기화*/
List<Map<String, Object>> selectTmRefundList(BOTmOrdrVO vo);
/*환불 동기화*/
List<Map<String, Object>> selectTmReturnList(BOTmOrdrVO vo);
/*최근 주문 내역 여러 회원*/
List<Map<String,Object>> selectTmManyMbrRecentOrdrList(BOTmOrdrVO vo);
}

View File

@@ -0,0 +1,26 @@
package com.wb.domainserver.domain.gcone.tm.response;
import lombok.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper=false)
@Builder
public class TmResponse {
private String result;
private String msg;
private Object data;
private String err;
//추가
public TmResponse(String result, String msg, Object data) {
this.result = result;
this.msg = msg;
this.data = data;
}
}

View File

@@ -0,0 +1,341 @@
package com.wb.domainserver.domain.gcone.tm.service;
import com.wb.domainserver.domain.gcone.ordr.ordr.mapper.BOOrdrMapper;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrMemoVO;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrShippingVO;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrrVO;
import com.wb.domainserver.domain.gcone.tm.mapper.BOTmMapper;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmGoodsVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmMbrVO;
import com.wb.domainserver.domain.gcone.tm.vo.BOTmOrdrVO;
import com.wb.domainserver.exception.code.TmCode;
import com.wb.domainserver.exception.response.WnbtTmRestException;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.string.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigInteger;
import java.util.*;
@Slf4j
@Service
@RequiredArgsConstructor
public class BOTmService {
@Autowired
private BOTmMapper mapper;
@Autowired
private BOOrdrMapper ordrMapper;
/*분류 정보 파라미터 안들어옴
*
* */
public List<Map<String,Object>> selectBOTmitmList(BOTmGoodsVO vo) {
List<Map<String,Object>> info = new ArrayList<>();
info = mapper.selectBOTmitmList(vo);
return info;
}
/*상품 목록 검색 o
*
* */
public Map<String,Object> selectBOTmGoodsList(BOTmGoodsVO vo) {
Integer sch_cnt = mapper.selectBOTmGoodsCnt(vo);
Map<String,Object> data = new HashMap<>();
if(sch_cnt == 0){
throw new WnbtTmRestException(TmCode.CUSTOM_MSG,"대상이 없습니다.");
}else{
//페이징 set
vo.setSct_cnt(sch_cnt);
Map<String,Object> paging = new HashMap<>();
paging = getPaging(vo);
int start = ((Integer) paging.get("cur_page")-1) * (Integer) paging.get("lines");
vo.setStart(start);
vo.setLines((Integer) paging.get("lines"));
//상품 목록 조회
List<Map<String,Object>> list = new ArrayList<>();
list = mapper.selectBOTmGoodsList(vo);
data.put("list",list);
data.put("paging",paging);
}
return data;
}
/*asis 페이징 처리 로직*/
public static Map<String, Object> getPaging(BOTmGoodsVO param) {
int schCnt = param.getSct_cnt();
int lines = (param.getLines() > 0) ? param.getLines() : 15;
int pages = (param.getPages() > 0) ? param.getPages() : 5;
int lastPage = (int) Math.ceil((double) schCnt / lines);
if (lastPage < 1) lastPage = 1;
if (param.getStart() > 0) {
param.setCur_page((int) Math.ceil((double) param.getStart() / lines));
}
int curPage = (param.getCur_page() > 0) ? param.getCur_page() : 1;
if (curPage > lastPage) curPage = lastPage;
if (curPage < 1) curPage = 1;
int sPage = (curPage - 1) / pages * pages + 1;
if (sPage < 1) sPage = 1;
int ePage = sPage + pages - 1;
if (ePage > lastPage) ePage = lastPage;
if (ePage < sPage) ePage = sPage;
Map<String,Object> paging = new HashMap<>();
paging.put("sct_cnt",schCnt);
paging.put("lines",lines);
paging.put("start",lines);
paging.put("pages",pages);
paging.put("s_page",sPage);
paging.put("e_page",ePage);
paging.put("cur_page",curPage);
paging.put("last_page",lastPage);
return paging;
}
/*상품정보 보기*/
public Map<String, Object> selectBOTmGoodsDtlInfo(BOTmGoodsVO vo) {
Map<String, Object> data = new HashMap<>();
data = mapper.selectBOTmGoodsDtlInfo(vo);
if(CollectionUtils.isEmpty(data)){
throw new WnbtTmRestException(TmCode.NO_GOODS_INFO);
}
return data;
}
/*사은품 이벤트 조회 */
public List<Map<String, Object>> selectBOTmGiftInfo(BOTmGoodsVO vo) {
//사은품 이벤트 조회
List<Map<String,Object>> evtList = new ArrayList<>();
evtList = mapper.selectBOTmEvtList(vo);
List<Map<String, Object>> gift_arr = new ArrayList<>();
//이벤트 없으면
if(CollectionUtils.isEmpty(evtList)){
/*throw new WnbtTmRestException(TmCode.NO_GIFT_DATA);*/
}else{//이벤트 있으면
for(Map<String,Object> data : evtList){
//이벤트 고유번호
String giftSeq = data.get("gift_seq").toString();
//이벤트 상품 적용 구분이 전체 제외
List<Map<String,Object>> choice_arr = new ArrayList<>();
if(!"01".equals(data.get("goods_applc_dv_cd"))){
choice_arr = mapper.selectBOTmTgtGiftList(giftSeq,vo.getOrder_site());
}
//증정 상품 조회
List<Map<String,Object>> benefit_arr = new ArrayList<>();
benefit_arr = mapper.selectBOTmGiftList(giftSeq,vo.getOrder_site());
if(!CollectionUtils.isEmpty(benefit_arr)){
//,로 되어있는 증정 상품 리스트로 재조회
for(Map<String,Object> map : benefit_arr){
List<Map<String,Object>> goods_arr = new ArrayList<>();
BOTmGoodsVO vo2 = new BOTmGoodsVO();
vo2.setGiftGoodsSeq((String) map.get("gift_goods_seq"));
vo2.setOrder_site(vo.getOrder_site());
goods_arr = mapper.selectBOTmGiftGoodsList(vo2);
map.put("goods_arr",goods_arr);
}
}
data.put("choice_arr",choice_arr);
data.put("benefit_arr",benefit_arr);
gift_arr.add(data);
}
}
return gift_arr;
}
/*최근 주문 내역*/
public Map<String, Object> selectBOTmRecentOrdrList(BOTmOrdrVO vo) {
Map<String, Object> data = new HashMap<>();
data = mapper.selectBOTmRecentOrdrList(vo);
return data;
}
/*주문 내역 조회*/
public List<Map<String, Object>> selectBOTmOrdrList(BOTmOrdrVO vo) {
List<Map<String, Object>> data = new ArrayList<>();
data = mapper.selectBOTmOrdrList(vo);
return data;
}
/*주문수정*/
@Transactional
public Map<String, Object> updateBOTmOrdrInfo(BOTmOrdrVO vo) {
Map<String, Object> result = new HashMap<>();
try {
//주문 확인
DataMap ordrInfo = new DataMap();
ordrInfo = mapper.selectBOOrdrList(vo);
log.debug("ordrInfo {}",ordrInfo);
if(CollectionUtils.isEmpty(ordrInfo)){//주문정보가 없으면
throw new WnbtTmRestException(TmCode.NO_DATA);
}
//상태확인 (35:상품준비 미만이어야 함)
Integer status = Integer.valueOf((String) ordrInfo.get("ordrSttusCd"));
String msg = "";
String ordrSttusNm = (String) ordrInfo.get("ordrSttusNm");
if(status >= 35){
if (status >= 85) {
throw new WnbtTmRestException(TmCode.NO_VALIDATE_ORDER);
} else {
throw new WnbtTmRestException(TmCode.NO_UPDATE);
}
}
//항목 mapping (asis <=> tobe)
/*'order_user_name', 주문자명
'order_cellphone', 주문자휴대폰번호
'order_email', 주문자 이메일
'recipient_user_name', 받는자명
'recipient_cellphone', 받는자휴대폰번호
'recipient_zipcode', 받는분 zip
'recipient_address', 받는분 지번주소
'recipient_address_street', 받는분 도로명주소
'recipient_address_detail', 받는분 상세주소
'memo', 배송메시지
'admin_memo' 관리자메모*/
BigInteger ordrInnbBig = (BigInteger) ordrInfo.get("ordrInnb");
// BigInteger -> long 변환
long ordrInnb = ordrInnbBig.longValue();
//주문자 정보 수정
BOOrdrrVO ordrrVO = new BOOrdrrVO();
ordrrVO.setSopmalCd(vo.getOrder_site());
ordrrVO.setOrdrInnb(ordrInnb);
ordrrVO.setOrdrrNm(vo.getOrder_user_name());
ordrrVO.setOrdrrMbtlnb(vo.getOrder_cellphone());
ordrrVO.setOrdrrEmail(vo.getOrder_email());
ordrrVO.setSecretKey(vo.getSecretKey());
ordrrVO.setUpdusr(555);
int ordrCnt = ordrMapper.updateOrdrrInfo(ordrrVO);
if(ordrCnt == 0){
throw new WnbtTmRestException(TmCode.FAIL_UPDATE);
}
//받는분,배송지 정보 수정
//주소 구분 처리
String adresDvCd = "";
//지번 주소만 있으면
if (!StringUtil.isEmpty(vo.getRecipient_address()) &&
StringUtil.isEmpty(vo.getRecipient_address_street())) {
adresDvCd = "02";
//도로명 주소만 있으면
} else if (!StringUtil.isEmpty(vo.getRecipient_address_street()) &&
StringUtil.isEmpty(vo.getRecipient_address())) {
adresDvCd = "01";
} else { //지번주소, 도로명 주소 전체 있으면 기존 주소구분으로 update
adresDvCd = (String) ordrInfo.get("dlvylcAdresDvCd");
}
BOOrdrShippingVO ordrShippingVO = new BOOrdrShippingVO();
ordrShippingVO.setRecpntNm(vo.getRecipient_user_name());
ordrShippingVO.setRecpntMbtlnb(vo.getRecipient_cellphone());
ordrShippingVO.setDlvylcZip(vo.getRecipient_zipcode());
ordrShippingVO.setDlvylcAdresDvCd(adresDvCd);
ordrShippingVO.setDlvylcLnbAdres(vo.getRecipient_address());
ordrShippingVO.setDlvylcRnmAdres(vo.getRecipient_address_street());
ordrShippingVO.setDlvylcAdresDtl(vo.getRecipient_address_detail());
ordrShippingVO.setSopmalCd(vo.getOrder_site());
ordrShippingVO.setSecretKey(vo.getSecretKey());
ordrShippingVO.setOrdrInnb(((BigInteger) ordrInfo.get("ordrInnb")).toString());
ordrShippingVO.setOrdrDlvyInnb(((BigInteger) ordrInfo.get("ordrDlvyInnb")).toString());
ordrShippingVO.setDlvyMssageCn(vo.getMemo());
ordrShippingVO.setUpdusr(555);
log.debug("ordrShippingVO {}",ordrShippingVO);
int shippingCnt = ordrMapper.updateDlvylcInfo(ordrShippingVO);
if (shippingCnt == 0) {
throw new WnbtTmRestException(TmCode.FAIL_UPDATE);
}
//관리자 메모 있을 시
if(!StringUtil.isEmpty(StringUtil.isNullToString(vo.getAdmin_memo()))){
List<DataMap> memoList = new ArrayList<>();
BOOrdrMemoVO ordrMemoVO = new BOOrdrMemoVO();
ordrMemoVO.setSopmalCd(StringUtil.isNullToString(vo.getOrder_site()));
ordrMemoVO.setOrdrInnb(BigInteger.valueOf(ordrInnb));
ordrMemoVO.setMemoDvCd("01");
ordrMemoVO.setMemoCn(StringUtil.isNullToString(vo.getAdmin_memo()));
ordrMemoVO.setRegusr(555);
ordrMemoVO.setUpdusr(555);
int memoResult = 0;
memoResult = ordrMapper.insertOrderMemo(ordrMemoVO);
if(memoResult == 0){
throw new WnbtTmRestException(TmCode.FAIL_UPDATE);
}
}
result = mapper.selectOrdrSetleInfo(vo);
} catch (WnbtTmRestException wpe) {
throw wpe;
} catch (RuntimeException re) {
log.error(re.getMessage());
throw new WnbtTmRestException(TmCode.INTERNAL_SERVER_ERROR);
}
return result;
}
/*휴대전화로 회원검색
*
* */
public List<Map<String, Object>> selectBOTmMbrInfo(BOTmMbrVO vo) {
List<Map<String, Object>> mbrInfo = new ArrayList<>();
mbrInfo = mapper.selectBOTmMbrInfo(vo);
return mbrInfo;
}
/* 주문번호로 주문 상세(결제완료시)
*
* */
public Map<String, Object> selectBOTmOrdrInfo(BOOrdrVO vo) {
Map<String, Object> ordrInfo = new HashMap<>();
ordrInfo = mapper.selectBOTmOrdrInfo(vo);
return ordrInfo;
}
/* 환불 동기화
*
*/
public List<Map<String, Object>> selectTmRefundList(BOTmOrdrVO vo) {
List<Map<String, Object>> refundList = new ArrayList<>();
refundList = mapper.selectTmRefundList(vo);
return refundList;
}
/* 환불 동기화
*
*/
public List<Map<String, Object>> selectTmReturnList(BOTmOrdrVO vo) {
List<Map<String, Object>> returnList = new ArrayList<>();
returnList = mapper.selectTmReturnList(vo);
return returnList;
}
/* 최근 주문 내역 여러 회원
*
*/
public List<Map<String, Object>> selectTmManyMbrRecentOrdrList(BOTmOrdrVO vo) {
List<Map<String, Object>> returnList = new ArrayList<>();
returnList = mapper.selectTmManyMbrRecentOrdrList(vo);
return returnList;
}
}

View File

@@ -0,0 +1,48 @@
package com.wb.domainserver.domain.gcone.tm.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class BOTmGoodsVO extends AbstractVO{
private static final long serialVersionUID = 1L;
/*asis 쇼핑몰 코드*/
private String order_site;
/*asis 검색할 상품명*/
private String sch_goods;
/*asis 검색할 분류 첫번째*/
private String sch_brand;
/*asis 검색할 분류 두번째*/
private String sch_category;
/*asis 상품 고유번호*/
private String goods_seq;
/*사은품*/
/*tobe 이벤트 고유번호*/
private String evtInnb;
/*tobe 이벤트 명*/
private String evtnm;
/*tobe 이벤트 시작일시*/
private String evtBgnDt;
/*tobe 이벤트 종료일시*/
private String evtEndDt;
/*tobe 이벤트 상품적용구분코드*/
private String goodsApplcDvCd;
/*asis 이벤트 고유번호*/
private String gift_seq;
/*사은품 gift*/
private String giftGoodsSeq;
/* 페이징 관련 */
/*asis 페이징 정보(현재 pageIndex)*/
private int cur_page;
/*asis 페이징 정보(현재 pageUnit)*/
private int lines;
/*asis 페이징 정보(현재 페이지수)*/
private int pages;
private int start;
private int sct_cnt;
}

View File

@@ -0,0 +1,18 @@
package com.wb.domainserver.domain.gcone.tm.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class BOTmMbrVO extends AbstractVO {
/*asis 쇼핑몰 코드*/
private String order_site;
/*이름*/
private String user_name;
/*휴대폰번호*/
private String cellphone;
/*시크릿키*/
private String secretKey;
}

View File

@@ -0,0 +1,47 @@
package com.wb.domainserver.domain.gcone.tm.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = false)
public class BOTmOrdrVO extends AbstractVO {
/*asis 쇼핑몰 코드*/
private String order_site;
/*회원고유번호*/
private String member_seq;
/*주문고유번호*/
private String order_seq;
/*tm주문고유번호*/
private String tm_order_seq;
/*주문자명*/
private String order_user_name;
/*주문자휴대폰번호*/
private String order_cellphone;
/*주문자 이메일*/
private String order_email;
/*받는자명*/
private String recipient_user_name;
/*받는자휴대폰번호*/
private String recipient_cellphone;
/*받는분 zip*/
private String recipient_zipcode;
/*받는분 지번주소*/
private String recipient_address;
/*받는분 도로명주소*/
private String recipient_address_street;
/*받는분 상세주소*/
private String recipient_address_detail;
/*배송메시지*/
private String memo;
/*관리자메모*/
private String admin_memo;
/*시크릿키*/
private String secretKey;
/*싱크 arr 파라미터*/
private List<String> arr;
}