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