From 38b9a7e1221a47af9f7bd1f99028574e9a3b030b Mon Sep 17 00:00:00 2001 From: jazz Date: Thu, 13 Nov 2025 17:29:22 +0900 Subject: [PATCH] =?UTF-8?q?fo=20bo=20=EB=A8=B8=EC=A7=80=EC=9E=91=EC=97=85(?= =?UTF-8?q?mngr)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gcone/ordr/ordr/vo/BOOrdrMemoVO.java | 2 + .../atmcrmy/controller/AtmcrmyController.java | 278 ++- .../dlivy/controller/DlivyController.java | 936 ++++++++-- .../controller/IndvdlSetleController.java | 296 ++- .../controller/OrdrmngrController.java | 1658 +++++++++++++---- .../refnd/controller/RefndController.java | 361 +++- 6 files changed, 2808 insertions(+), 723 deletions(-) diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/vo/BOOrdrMemoVO.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/vo/BOOrdrMemoVO.java index 24cf0509..ab8ee93c 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/vo/BOOrdrMemoVO.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/ordr/vo/BOOrdrMemoVO.java @@ -1,6 +1,7 @@ package com.wb.domainserver.domain.gcone.ordr.ordr.vo; import com.wb.domainserver.domain.comm.vo.AbstractVO; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; @@ -34,6 +35,7 @@ public class BOOrdrMemoVO extends AbstractVO { /** * 메모내용 */ + @NotBlank(message = "내용") private String memoCn; /*전화번호*/ private String telnb; diff --git a/src/main/java/com/wb/domainserver/domain/mngr/ordr/atmcrmy/controller/AtmcrmyController.java b/src/main/java/com/wb/domainserver/domain/mngr/ordr/atmcrmy/controller/AtmcrmyController.java index 58932b62..c7afa4a6 100644 --- a/src/main/java/com/wb/domainserver/domain/mngr/ordr/atmcrmy/controller/AtmcrmyController.java +++ b/src/main/java/com/wb/domainserver/domain/mngr/ordr/atmcrmy/controller/AtmcrmyController.java @@ -1,16 +1,28 @@ package com.wb.domainserver.domain.mngr.ordr.atmcrmy.controller; +import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo; +import com.wb.domainserver.common.prop.PaginationProperties; +import com.wb.domainserver.domain.gcone.ordr.atmcrcpmny.service.BOAtmcrcpmnyService; +import com.wb.domainserver.domain.gcone.ordr.atmcrcpmny.vo.BOAtmcRcpmnyCnfirmMemoVO; +import com.wb.domainserver.domain.gcone.ordr.atmcrcpmny.vo.BOAtmcRcpmnyCnfirmVO; +import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService; +import com.wb.domainserver.domain.gcone.setup.nbkk.vo.BOSetupNbkkVO; import com.wb.domainserver.domain.mngr.ordr.atmcrmy.vo.AtmcRcpmnyCnfirmMemoVO; import com.wb.domainserver.domain.mngr.ordr.atmcrmy.vo.AtmcRcpmnyCnfirmVO; import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; 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.RESRC; import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.SendToResrc; +import com.wb.domainserver.util.dataaccess.DataMap; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -18,6 +30,11 @@ import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Controller @RequestMapping("/mngr/ordr/atmcrmy") @Slf4j @@ -29,6 +46,14 @@ public class AtmcrmyController { @Autowired private WnbtWebClientResponseHandler responseHandler;; + @Autowired + private BOAtmcrcpmnyService service; + + @Autowired + private PaginationProperties paginationProperties; + + @Autowired + private BONbkkService boNbkkService; /** @@ -39,15 +64,54 @@ public class AtmcrmyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectAtmcRcpmnyDtlsListInqireForm") - public String selectAtmcRcpmnyDtlsListInqireForm(AtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectAtmcRcpmnyDtlsListInqireForm(BOAtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsListInqireForm", vo), - model, - "resultMap" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); +// log.debug("SopmalCd : "+user.getSopmalCd()); +// vo.setSopmalCd(user.getSopmalCd()); + + + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + + + // 응답 메세지 객체 + Map content = new HashMap<>(); + + // 무통장 계좌번호를 가져오기 위한 파라미터용 객체 + BOSetupNbkkVO boSetupNbkkVO = new BOSetupNbkkVO(); + boSetupNbkkVO.setUseAt("Y"); + boSetupNbkkVO.setSopmalCd(vo.getSopmalCd()); + + // 무통장계좌 쇼핑몰코드 가져오는 메소드 + Map sopmalSetupListVO = boNbkkService.selectBOSopmalSetupList(boSetupNbkkVO); + + List sopmalSetupVO = (List) sopmalSetupListVO.get("acntSetup"); + + // 계좌번호 쇼핑몰코드 담은 객체 + List accountVO = new ArrayList<>(); + + for(int i = 0; i < sopmalSetupVO.size(); i++) { + Map tempVO = (Map) sopmalSetupVO.get(i); + + if(tempVO.get("acntnb") != null) { + accountVO.add(tempVO.get("acntnb").toString().replace("-", "")); + } + } + + content.put("paramVO", vo); + content.put("bankAccount", accountVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsListInqireForm", vo), +// model, +// "resultMap" +// ); return "mngr/ordr/atmcrmy/AtmcRcpmnyListInqireRForm"; } @@ -60,15 +124,42 @@ public class AtmcrmyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectAtmcRcpmnyDtlsListInqire") - public String selectAtmcRcpmnyDtlsListInqire(AtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectAtmcRcpmnyDtlsListInqire(BOAtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsListInqire", vo), - model, - "resultMap" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + // 페이징 객체 생성 & 페이징정보 할당 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(vo.getPageIndex()); + paginationInfo.setRecordCountPerPage(vo.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + vo.setPaginationInfo(paginationInfo); + vo.setFirstIndex(paginationInfo.getFirstRecordIndex()); + vo.setLastIndex(paginationInfo.getLastRecordIndex()); + vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + // 자동입금확인 목록 조회 + List resultList = service.selectBOAtmcRcpmnyDtlsListInqire(vo); + + content.put("paramVO", vo); + content.put("resultList", resultList); + content.put("paginationInfo", vo.getPaginationInfo()); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsListInqire", vo), +// model, +// "resultMap" +// ); return "mngr/ordr/atmcrmy/AtmcRcpmnyListInqireR"; } @@ -95,15 +186,33 @@ public class AtmcrmyController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/insertRcpmnyDtlsMngrMemoRegist") - public ResponseEntity insertRcpmnyDtlsMngrMemoRegist(AtmcRcpmnyCnfirmMemoVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value = "/insertRcpmnyDtlsMngrMemoRegist", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertRcpmnyDtlsMngrMemoRegist(BOAtmcRcpmnyCnfirmMemoVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/insertBORcpmnyDtlsMngrMemoRegist", vo), - ReplyFromResrc::getReply - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + // 자동입금확인 메모 팝업 글쓰기 + Map message = service.insertBORcpmnyDtlsMngrMemoRegist(vo); + + Map content = new HashMap<>(); + content.put("paramVO", vo); + content.put("message", message); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() + ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/insertBORcpmnyDtlsMngrMemoRegist", vo), +// ReplyFromResrc::getReply +// ); } @@ -115,15 +224,28 @@ public class AtmcrmyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectAtmcRcpmnyDtlsOrdrInqirePopupForm", method = RequestMethod.GET) - public String selectAtmcRcpmnyDtlsOrdrInqirePopupForm(AtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectAtmcRcpmnyDtlsOrdrInqirePopupForm(BOAtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsOrdrInqirePopupForm", vo), - model, - "resultMap" - ); + Map content = new HashMap<>(); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); +// log.debug("SopmalCd : "+user.getSopmalCd()); +// vo.setSopmalCd(user.getSopmalCd()); + + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + content.put("paramVO", vo); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsOrdrInqirePopupForm", vo), +// model, +// "resultMap" +// ); return "mngr/ordr/atmcrmy/AtmcRcpmnyDtlsOrdrInqirePopupRForm"; } @@ -135,15 +257,43 @@ public class AtmcrmyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectAtmcRcpmnyOrdrInqire", method = RequestMethod.POST) - public String selectAtmcRcpmnyOrdrInqire(AtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectAtmcRcpmnyOrdrInqire(BOAtmcRcpmnyCnfirmVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); +// log.debug("SopmalCd : "+user.getSopmalCd()); +// vo.setSopmalCd(user.getSopmalCd()); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyOrdrInqire", vo), - model, - "resultMap" - ); + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + // 페이징 객체 생성 & 페이징정보 할당 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(vo.getPageIndex()); + paginationInfo.setRecordCountPerPage(vo.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + vo.setPaginationInfo(paginationInfo); + vo.setFirstIndex(paginationInfo.getFirstRecordIndex()); + vo.setLastIndex(paginationInfo.getLastRecordIndex()); + vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map content = new HashMap<>(); + + // 주문조회 팝업 주문조회 + List resultList = service.selectBOAtmcRcpmnyOrdrInqire(vo); + + content.put("resultList", resultList); + content.put("paramVO", vo); + content.put("paginationInfo", vo.getPaginationInfo()); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyOrdrInqire", vo), +// model, +// "resultMap" +// ); return "mngr/ordr/atmcrmy/AtmcRcpmnyDtlsOrdrInqirePopupR"; } @@ -154,15 +304,31 @@ public class AtmcrmyController { * @return */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateRcpmnyCnfirmMtchg", method = RequestMethod.POST) - public ResponseEntity updateRcpmnyCnfirmMtchg(AtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value = "/updateRcpmnyCnfirmMtchg", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateRcpmnyCnfirmMtchg(BOAtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/updateBORcpmnyCnfirmMtchg", vo), - ReplyFromResrc::getReply - ); + vo.setMbrNm(user.getMbrNm()); + vo.setMbrDvCd(user.getMbrDvCd());; +// vo.setSopmalCd(user.getSopmalCd()); + + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + Map message = service.updateBORcpmnyCnfirmMtchg(vo); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() + ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/updateBORcpmnyCnfirmMtchg", vo), +// ReplyFromResrc::getReply +// ); } @@ -172,15 +338,43 @@ public class AtmcrmyController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateRcpmnyCnfirmExecut", method = RequestMethod.POST) - public ResponseEntity updateRcpmnyCnfirmExecut(AtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value = "/updateRcpmnyCnfirmExecut", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateRcpmnyCnfirmExecut(BOAtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { vo.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/updateBORcpmnyCnfirmExecut", vo), - ReplyFromResrc::getReply - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + + + vo.setMbrNm(user.getMbrNm()); + vo.setMbrDvCd(user.getMbrDvCd()); +// vo.setSopmalCd(user.getSopmalCd()); + + if("01".equals(user.getSysDvCd())){ + vo.setSopmalCd(user.getSopmalCd()); + } + + + Map insertMessage = service.insertBORcpmnyDtlsColct(); + + Map message = new HashMap<>(); + + if("success".equals( insertMessage.get("response").toString() ) ) { + service.updateBORcpmnyDtlsColct(); + message = service.updateBORcpmnyCnfirmExecut(vo); + }else { + message.put("response", "failure"); + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() + ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/updateBORcpmnyCnfirmExecut", vo), +// ReplyFromResrc::getReply +// ); } diff --git a/src/main/java/com/wb/domainserver/domain/mngr/ordr/dlivy/controller/DlivyController.java b/src/main/java/com/wb/domainserver/domain/mngr/ordr/dlivy/controller/DlivyController.java index 38023fbf..2edbd4f8 100644 --- a/src/main/java/com/wb/domainserver/domain/mngr/ordr/dlivy/controller/DlivyController.java +++ b/src/main/java/com/wb/domainserver/domain/mngr/ordr/dlivy/controller/DlivyController.java @@ -3,18 +3,35 @@ package com.wb.domainserver.domain.mngr.ordr.dlivy.controller; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.wb.domainserver.common.msg.GconeMessageSource; +import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo; +import com.wb.domainserver.common.prop.PaginationProperties; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO; +import com.wb.domainserver.domain.gcone.common.service.BOCommonService; +import com.wb.domainserver.domain.gcone.ordr.dlivy.service.BODlivyService; +import com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivySrchVO; +import com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyUpdtVO; +import com.wb.domainserver.domain.gcone.ordr.dlivy.vo.BODlivyVO; +import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService; +import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BODwldItmVO; +import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO; import com.wb.domainserver.domain.mngr.ordr.dlivy.vo.DlivySrchVO; import com.wb.domainserver.domain.mngr.ordr.dlivy.vo.DlivyVO; import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.DwldItmVO; import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; 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.RESRC; import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.SendToResrc; +import com.wb.domainserver.util.dataaccess.DataMap; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -24,6 +41,10 @@ import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /* * 통합관리자 > 출고 FO Controller * @author 김혜인 @@ -57,20 +78,71 @@ public class DlivyController { @Autowired private GconeMessageSource gconeMessageSource; + @Autowired + private BODlivyService service; + + @Autowired + private BOOrdrService ordrService; + + @Autowired + private BOMaComncdService bOMaComncdService; + + @Autowired + private PaginationProperties paginationProperties; + + @Autowired + private BOCommonService commonService; + + @Autowired + private BOOrdrService boOrdrService; /** * 출고 목록 조회 폼 * @return String */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivyListInqireForm") - public String selectDlivyListInqireForm(ModelMap model, DlivySrchVO dlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { - dlivySrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqireForm", dlivySrchVO), - model, - "cond" - ); - model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(dlivySrchVO)); + public String selectDlivyListInqireForm(ModelMap model, BODlivySrchVO boDlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + boDlivySrchVO.setSopmalCd(authSopmalCd); + + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivySrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + + BODwldItmVO dwldItmVO = new BODwldItmVO(); + dwldItmVO.setSopmalCd(boDlivySrchVO.getSopmalCd()); + List dwldItmSetupFormList = ordrService.selectDwldItmSetupFormList(dwldItmVO); + content.put("dwldItmSetupFormList", dwldItmSetupFormList); // 엑셀다운로드 양식 폼 목록 + + bOMaComncdVO.setGroupCd("ORDR_STTUS"); + List ordrSttusCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("ordrSttusCdList", ordrSttusCdList); // 주문상태 + + bOMaComncdVO.setGroupCd("DLVY_MTH"); // 배송방법 + List dlvyMthCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("dlvyMthCdList", dlvyMthCdList); + + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + + + content.put("paramVO", boDlivySrchVO); + + model.addAttribute("cond", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqireForm", dlivySrchVO), +// model, +// "cond" +// ); + model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(boDlivySrchVO)); return "mngr/ordr/dlivy/DlivyListInqireRForm"; } @@ -78,17 +150,56 @@ public class DlivyController { /** * 출고 목록 조회 - * @param DlivySrchVO + * @param boDlivySrchVO * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/selectDlivyListInqireAjax") - public ResponseEntity selectDlivyListInqireAjax(DlivySrchVO dlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivySrchVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqire", dlivySrchVO), - ReplyFromResrc::getReply + @RequestMapping(value = "/selectDlivyListInqireAjax", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectDlivyListInqireAjax(BODlivySrchVO boDlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivySrchVO.setSopmalCd(authSopmalCd); + + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivySrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + //페이징 정보 set + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(boDlivySrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(30); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + boDlivySrchVO.setPaginationInfo(paginationInfo); + boDlivySrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boDlivySrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boDlivySrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + //출고 목록 조회 + boDlivySrchVO.setSecretKey(commonService.selectSecretkey()); + List resultList = service.selectBODlivyListInqire(boDlivySrchVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("paginationInfo", boDlivySrchVO.getPaginationInfo()); + content.put("paramVO", boDlivySrchVO); + content.put("allOrdrList", resultList); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqire", dlivySrchVO), +// ReplyFromResrc::getReply +// ); } @@ -97,13 +208,30 @@ public class DlivyController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/selectDlivyListDtlAjax") - public ResponseEntity selectDlivyListDtlAjax(DlivySrchVO dlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivySrchVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListDtlAjax", dlivySrchVO), - ReplyFromResrc::getReply + @RequestMapping(value = "/selectDlivyListDtlAjax", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectDlivyListDtlAjax(BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); + + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + log.debug("출고 목록 상세 조회 => {}", boDlivyVO); + Map content = new HashMap<>(); + + content= service.selectBODlivyListDtlAjax(boDlivyVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListDtlAjax", dlivySrchVO), +// ReplyFromResrc::getReply +// ); } @@ -113,14 +241,46 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivySttusChngPopupForm") - public String selectDlivySttusChngPopupForm(ModelMap model, DlivySrchVO dlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivySrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqireForm", dlivySrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivySrchVO); + public String selectDlivySttusChngPopupForm(ModelMap model, BODlivySrchVO boDlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivySrchVO.setSopmalCd(authSopmalCd); + + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivySrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + + BODwldItmVO dwldItmVO = new BODwldItmVO(); + dwldItmVO.setSopmalCd(boDlivySrchVO.getSopmalCd()); + List dwldItmSetupFormList = ordrService.selectDwldItmSetupFormList(dwldItmVO); + content.put("dwldItmSetupFormList", dwldItmSetupFormList); // 엑셀다운로드 양식 폼 목록 + + bOMaComncdVO.setGroupCd("ORDR_STTUS"); + List ordrSttusCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("ordrSttusCdList", ordrSttusCdList); // 주문상태 + + bOMaComncdVO.setGroupCd("DLVY_MTH"); // 배송방법 + List dlvyMthCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("dlvyMthCdList", dlvyMthCdList); + + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + content.put("paramVO", boDlivySrchVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqireForm", dlivySrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivySrchVO); return "mngr/ordr/dlivy/DlivySttusChngUForm"; } @@ -132,14 +292,48 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivySttusChngPopup") - public String selectDlivySttusChngPopup(ModelMap model, DlivySrchVO dlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivySrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqirePage", dlivySrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivySrchVO); + public String selectDlivySttusChngPopup(ModelMap model, BODlivySrchVO boDlivySrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivySrchVO.setSopmalCd(authSopmalCd); + + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivySrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + //페이징 정보 set + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(boDlivySrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(50); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + boDlivySrchVO.setPaginationInfo(paginationInfo); + boDlivySrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boDlivySrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boDlivySrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + //출고 목록 조회 + List resultList = service.selectBODlivyListInqire(boDlivySrchVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("paginationInfo", boDlivySrchVO.getPaginationInfo()); + content.put("paramVO", boDlivySrchVO); + content.put("allOrdrList", resultList); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqirePage", dlivySrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivySrchVO); return "mngr/ordr/dlivy/DlivySttusChngU"; } @@ -165,27 +359,58 @@ public class DlivyController { /** * 출고 상세 조회 - * @param DlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivyDtlInqire") - public String selectDlivyDtlInqire(ModelMap model, DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws JsonProcessingException { - dlivyVO.setSopmalCd(authSopmalCd); + public String selectDlivyDtlInqire(ModelMap model, BODlivyVO boDlivyVO, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws JsonProcessingException { + boDlivyVO.setSopmalCd(authSopmalCd); + ordrVO.setSopmalCd(authSopmalCd); // WnbtResponse response = WnbtResponse.builder().resBody(new WnbtResponseBody(reply.getReply())).build(); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtlInqire", dlivyVO), - model, - "resultMap" - ); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", dlivyVO), - model, - "data" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + DataMap result = service.selectBODlivyDtlInqire(boDlivyVO); // 출고 상세 + + List resultList = null; + resultList = service.selectBODlivyGoodsList(boDlivyVO); // 출고 상품 목록 + + DataMap total = service.selectBODlivyDtlTot(boDlivyVO); // 출고 상품 전체 정보 + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("result", result); + content.put("resultList", resultList); + content.put("paramVO", boDlivyVO); + content.put("total", total); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtlInqire", dlivyVO), +// model, +// "resultMap" +// ); + + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + } + + Map data = boOrdrService.selectOrdrDtlInqire(ordrVO); + + model.addAttribute("data", data); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", dlivyVO), +// model, +// "data" +// ); // model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(refndSrchVO)); - model.addAttribute("paginationInfo", dlivyVO.getPaginationInfo()); + model.addAttribute("paginationInfo", boDlivyVO.getPaginationInfo()); return "mngr/ordr/dlivy/DlivyDtlInqireR"; } @@ -194,54 +419,121 @@ public class DlivyController { /** * 출고 상태변경 > 출고 상세 상품 목록 조회 - * @param DlivyVO + * @param boDlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/selectDlivyDtlGoodsListInqire") - public ResponseEntity selectDlivyDtlGoodsListInqire(ModelMap model, DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/selectDlivyDtlGoodsListInqire", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectDlivyDtlGoodsListInqire(ModelMap model, BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtlGoodsListInqire", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + List resultList = null; + resultList = service.selectBODlivyGoodsList(boDlivyVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("resultList", resultList); + content.put("paramVO", boDlivyVO); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtlGoodsListInqire", dlivyVO), +// ReplyFromResrc::getReply +// ); } /** * 관리자 > 출고 목록 > 출고 상세 펼치기 - * @param DlivyVO + * @param boDlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/selectDlivyDtlInfoAndGoodsListInqire") - public ResponseEntity selectDlivyDtlInfoAndGoodsListInqire(ModelMap model, DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/selectDlivyDtlInfoAndGoodsListInqire", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectDlivyDtlInfoAndGoodsListInqire(ModelMap model, BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtlInqire", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + DataMap result = service.selectBODlivyDtlInqire(boDlivyVO); // 출고 상세 + + List resultList = null; + resultList = service.selectBODlivyGoodsList(boDlivyVO); // 출고 상품 목록 + + DataMap total = service.selectBODlivyDtlTot(boDlivyVO); // 출고 상품 전체 정보 + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("result", result); + content.put("resultList", resultList); + content.put("paramVO", boDlivyVO); + content.put("total", total); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtlInqire", dlivyVO), +// ReplyFromResrc::getReply +// ); } /** * 출고내역서 팝업 화면 이동 * @param model - * @param ordrVO + * @param dlivyVO * @return OrdrDtstmnDwldPopupR.jsp */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectDlivyDtstmnDwldPopupForm") - public String selectDlivyDtstmnDwldPopupForm(ModelMap model, DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectDlivyDtstmnDwldPopupForm(ModelMap model, BODlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { dlivyVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtstmnDwldPopupForm", dlivyVO), - model, - "data" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + dlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + List> ordrDtstmnDwldList = service.selectBODlivyDtstmnDwld(dlivyVO); + + Map content = new HashMap<>() {{ + put("ordrDtstmnDwldList", ordrDtstmnDwldList); + }}; + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyDtstmnDwldPopupForm", dlivyVO), +// model, +// "data" +// ); return "mngr/ordr/dlivy/DlivyDtstmnDwldPopupR"; } @@ -250,53 +542,107 @@ public class DlivyController { /** * 출고 정보 수정 - * @param DlivyVO + * @param boDlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateDlivyInfoUpdt") - public ResponseEntity updateDlivyInfoUpdt(DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/updateDlivyInfoUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateDlivyInfoUpdt(BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBODlivyInfoUpdt", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + //출고 정보 수정 로직 + Map message = new HashMap<>(); + message = service.updateBODlivyInfoUpdt(boDlivyVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBODlivyInfoUpdt", dlivyVO), +// ReplyFromResrc::getReply +// ); } /** * 관리자 > 출고 목록, 출고상태변경 팝업 > 출고 상태 변경 ( 배송중, 배송완료 ) - * @param DlivyVO + * @param boDlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateDlivySttusGetbackUpdt") - public ResponseEntity updateDlivySttusGetbackUpdt(DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/updateDlivySttusGetbackUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateDlivySttusGetbackUpdt(BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBODlivySttusGetbackUpdt", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + boDlivyVO.setOpetrNm(user.getMbrNm()); // 처리자 명 + + Map message = new HashMap<>(); + message = service.updateBODlivySttusGetbackUpdt(boDlivyVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBODlivySttusGetbackUpdt", dlivyVO), +// ReplyFromResrc::getReply +// ); } /** * 다운로드 항목 조회 - * @param DlivyVO + * @param dwldItmVO * @return String */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivyDwldItmSetupPopupForm") - public String selectDlivyDwldItmSetupPopupForm(ModelMap model, DwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectDlivyDwldItmSetupPopupForm(ModelMap model, BODwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldForm", dwldItmVO), - model, - "data" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + dwldItmVO.setSopmalCd(user.getSopmalCd()); + } + Map content = new HashMap<>(); + + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("STDR_DV"); + + List cgo065List = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + DataMap dwldForm = boOrdrService.selectDwldForm(dwldItmVO); + + content.put("sopmalCd", dwldItmVO.getSopmalCd()); + content.put("allItems", dwldItmVO.getAllItems((String) dwldForm.get("formItmCn"))); + content.put("selItems", dwldItmVO.getSelItems((String) dwldForm.get("formItmCn"))); + content.put("form", dwldForm); + content.put("cgo065List", cgo065List); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldForm", dwldItmVO), +// model, +// "data" +// ); return "mngr/ordr/dlivy/DlivyDwldItmSetupPopupR"; } @@ -304,35 +650,64 @@ public class DlivyController { /** * 다운로드 항목 수정 - * @param DwldItmVO + * @param dwldItmVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateDlivyDwldItmSetup", method = RequestMethod.POST) - public ResponseEntity updateDlivyDwldItmSetup(DwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value = "/updateDlivyDwldItmSetup", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateDlivyDwldItmSetup(BODwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODwldFormUpdt", dwldItmVO), - ReplyFromResrc::getReply + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + dwldItmVO.setUpdusr(user.getUserInnb()); + + Map message = boOrdrService.updateDwldFormUpdt(dwldItmVO); + + message.put("form", dwldItmVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODwldFormUpdt", dwldItmVO), +// ReplyFromResrc::getReply +// ); } /** * 중요출고여부 수정 - * @param DwldItmVO + * @param boDlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateImprtncdlivyAt", method = RequestMethod.POST) - public ResponseEntity updateImprtncdlivyAt(DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/updateImprtncdlivyAt", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateImprtncdlivyAt(BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBOImprtncdlivyAt", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + //출고 정보 수정 로직 + Map message = new HashMap<>(); + message = service.updateBOImprtncdlivyAt(boDlivyVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBOImprtncdlivyAt", dlivyVO), +// ReplyFromResrc::getReply +// ); } @@ -363,15 +738,46 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivyProcsPopupForm") - public String selectDlivyProcsPopupForm(DlivySrchVO dlivySrchVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivySrchVO.setSopmalCd(authSopmalCd); + public String selectDlivyProcsPopupForm(BODlivySrchVO boDlivySrchVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivySrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqireForm", dlivySrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivySrchVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivySrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + + BODwldItmVO dwldItmVO = new BODwldItmVO(); + dwldItmVO.setSopmalCd(boDlivySrchVO.getSopmalCd()); + List dwldItmSetupFormList = ordrService.selectDwldItmSetupFormList(dwldItmVO); + content.put("dwldItmSetupFormList", dwldItmSetupFormList); // 엑셀다운로드 양식 폼 목록 + + bOMaComncdVO.setGroupCd("ORDR_STTUS"); + List ordrSttusCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("ordrSttusCdList", ordrSttusCdList); // 주문상태 + + bOMaComncdVO.setGroupCd("DLVY_MTH"); // 배송방법 + List dlvyMthCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("dlvyMthCdList", dlvyMthCdList); + + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + content.put("paramVO", boDlivySrchVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyListInqireForm", dlivySrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivySrchVO); return "mngr/ordr/dlivy/DlivyProcsPopupUForm"; } @@ -383,15 +789,48 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlivyProcsPopupListInqire") - public String selectDlivyProcsPopupListInqire(DlivySrchVO dlivySrchVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivySrchVO.setSopmalCd(authSopmalCd); + public String selectDlivyProcsPopupListInqire(BODlivySrchVO boDlivySrchVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivySrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyProcsPopupForm", dlivySrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivySrchVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivySrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + //페이징 정보 set + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(boDlivySrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(50); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + boDlivySrchVO.setPaginationInfo(paginationInfo); + boDlivySrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boDlivySrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boDlivySrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + //출고 목록 조회 + List resultList = service.selectBODlivyProcsPopupFormInqire(boDlivySrchVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("paginationInfo", boDlivySrchVO.getPaginationInfo()); + content.put("paramVO", boDlivySrchVO); + content.put("allOrdrList", resultList); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlivyProcsPopupForm", dlivySrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivySrchVO); return "mngr/ordr/dlivy/DlivyProcsPopupU"; } @@ -399,18 +838,45 @@ public class DlivyController { /** * 주문 -> 출고처리 팝업 > 주문배송 상품 목록 조회 - * @param DlivyVO + * @param boDlivyVO * @return String */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/selectOrdrDlvyDtlGoodsListInqire") - public ResponseEntity selectOrdrDlvyDtlGoodsListInqire(ModelMap model, DlivyVO dlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/selectOrdrDlvyDtlGoodsListInqire", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectOrdrDlvyDtlGoodsListInqire(ModelMap model, BODlivyVO boDlivyVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlvyDtlGoodsListInqire", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + List resultList = null; + resultList = service.selectBOOrdrDlvyDtlGoodsListInqire(boDlivyVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("resultList", resultList); + content.put("paramVO", boDlivyVO); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("HDRYCPN"); // 택배사 코드 + List hdrycpnCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("hdrycpnCdList", hdrycpnCdList); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlvyDtlGoodsListInqire", dlivyVO), +// ReplyFromResrc::getReply +// ); } @@ -420,15 +886,27 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectOrdrDlivyProcsRegistForm") - public String selectOrdrDlivyProcsRegistForm(DlivyVO dlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + public String selectOrdrDlivyProcsRegistForm(BODlivyVO boDlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlivyProcsRegistForm", dlivyVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivyVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + Map content = new HashMap<>(); + content.put("paramVO", boDlivyVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlivyProcsRegistForm", dlivyVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivyVO); return "mngr/ordr/dlivy/OrdrDlivyProcsPopupC"; } @@ -440,14 +918,29 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/insertOrdrDlivyProcsRegist", method = RequestMethod.POST) - public String insertOrdrDlivyProcsRegist(DlivyVO dlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + public String insertOrdrDlivyProcsRegist(BODlivyVO boDlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBOOrdrDlivyProcsUpdt", dlivyVO), - model, - "resultMap" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setMngrInnb(String.valueOf(user.getUserInnb())); // 관리자 고유번호 + boDlivyVO.setRegusr(user.getUserInnb()); + boDlivyVO.setUpdusr(user.getUserInnb()); + boDlivyVO.setOpetrNm(user.getMbrNm()); // 처리자명 + + // 주문 출고 처리 등록 + Map message = new HashMap<>(); + message = service.updateBOOrdrDlivyProcsUpdt(boDlivyVO); + + model.addAttribute("resultMap", message); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBOOrdrDlivyProcsUpdt", dlivyVO), +// model, +// "resultMap" +// ); return "mngr/ordr/dlivy/OrdrDlivyProcsRsltPopupR"; } @@ -460,14 +953,37 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectDlvyGroupMthChngPopupForm") - public String selectDlvyGroupMthChngPopupForm(DlivyVO dlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + public String selectDlvyGroupMthChngPopupForm(BODlivyVO boDlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlvyGroupDtlForm", dlivyVO), - model, - "resultMap" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + DataMap result = new DataMap(); + result = service.selectBODlvyGroupDtlForm(boDlivyVO); + + // 공통 코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("DLVY_GROUP_DV"); // 배송 그룹 코드 + List dlvyGroupCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("DLVY_MTH"); // 배송 그룹 코드 + List dlvyMthCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + Map content = new HashMap<>(); + content.put("result", result); + content.put("dlvyGroupCdList", dlvyGroupCdList); + content.put("dlvyMthCdList", dlvyMthCdList); + content.put("paramVO", boDlivyVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBODlvyGroupDtlForm", dlivyVO), +// model, +// "resultMap" +// ); return "mngr/ordr/dlivy/DlvyGroupMthChngPopupU"; } @@ -479,14 +995,31 @@ public class DlivyController { * @return */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateDlvyGroupMthChngUpdt", method = RequestMethod.POST) - public ResponseEntity updateDlvyGroupMthChngUpdt(@Validated DlivyVO dlivyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value = "/updateDlvyGroupMthChngUpdt", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateDlvyGroupMthChngUpdt(@Validated BODlivyVO dlivyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBODlvyGroupMthChngUpdt", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + dlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + dlivyVO.setRegusr(user.getUserInnb()); // 등록자 + dlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + + Map message = new HashMap<>(); + message = service.updateBODlvyGroupMthChngUpdt(dlivyVO); + log.debug("message 성공 확인 : {}", message); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBODlvyGroupMthChngUpdt", dlivyVO), +// ReplyFromResrc::getReply +// ); } @@ -496,15 +1029,24 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectOrdrDlvyDtlsInqire") - public String selectOrdrDlvyDtlsInqire(DlivyVO dlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + public String selectOrdrDlvyDtlsInqire(BODlivyVO boDlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlvyDtlsInqire", dlivyVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivyVO); + Map content = new HashMap<>(); + content = service.selectBOOrdrDlvyDtlsInqire(boDlivyVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOOrdrDlvyDtlsInqire", dlivyVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivyVO); return "mngr/ordr/dlivy/OrdrDlvyDtlsInqireR"; } @@ -512,19 +1054,38 @@ public class DlivyController { /** * 구매 확정 상태 수정 - * @param dlivyVO + * @param boDlivyVO * @param bindingResult * @return */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updatePurchsDcsnSttusUpdt", method = RequestMethod.POST) - public ResponseEntity updatePurchsDcsnSttusUpdt(@Validated DlivyVO dlivyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/updatePurchsDcsnSttusUpdt", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updatePurchsDcsnSttusUpdt(@Validated BODlivyUpdtVO boDlivyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBOPurchsDcsnSttusUpdt", dlivyVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + boDlivyVO.setRegusr(user.getUserInnb()); // 등록자 + boDlivyVO.setUpdusr(user.getUserInnb()); // 수정자 + boDlivyVO.setOpetrNm(user.getMbrNm()); // 처리자 명 + boDlivyVO.setMbrDvCd(user.getMbrDvCd()); // 회원 구분 + boDlivyVO.setMngrInnb(String.valueOf(user.getUserInnb())); // 회원 고유번호 + + Map message = new HashMap<>(); + message = service.updateBOPurchsDcsnSttusUpdt(boDlivyVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/updateBOPurchsDcsnSttusUpdt", dlivyVO), +// ReplyFromResrc::getReply +// ); } @@ -534,16 +1095,31 @@ public class DlivyController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectPurchsDcsnProcsLogDtlsPopupForm") - public String selectPurchsDcsnProcsLogDtlsPopupForm(DlivyVO dlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - dlivyVO.setSopmalCd(authSopmalCd); - log.debug("구매 확정 상태 수정 vo 확인 {}", dlivyVO); + public String selectPurchsDcsnProcsLogDtlsPopupForm(BODlivyVO boDlivyVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boDlivyVO.setSopmalCd(authSopmalCd); + log.debug("구매 확정 상태 수정 vo 확인 {}", boDlivyVO); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOPurchsDcsnLog", dlivyVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", dlivyVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boDlivyVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드 + } + + List result = null; + result = service.selectBOPurchsDcsnLog(boDlivyVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("result", result); + log.debug("구매확정 로그 맵 : {}", content); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/dlivy/selectBOPurchsDcsnLog", dlivyVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boDlivyVO); return "mngr/ordr/dlivy/PurchsDcsnProcsLogDtlsPopupR"; } diff --git a/src/main/java/com/wb/domainserver/domain/mngr/ordr/indvdlSetle/controller/IndvdlSetleController.java b/src/main/java/com/wb/domainserver/domain/mngr/ordr/indvdlSetle/controller/IndvdlSetleController.java index c54f4747..315f580f 100644 --- a/src/main/java/com/wb/domainserver/domain/mngr/ordr/indvdlSetle/controller/IndvdlSetleController.java +++ b/src/main/java/com/wb/domainserver/domain/mngr/ordr/indvdlSetle/controller/IndvdlSetleController.java @@ -1,17 +1,29 @@ package com.wb.domainserver.domain.mngr.ordr.indvdlSetle.controller; import com.wb.domainserver.common.msg.GconeMessageSource; +import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo; +import com.wb.domainserver.common.prop.PaginationProperties; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO; +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.BOIndvdlSetleSrchVO; +import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOIndvdlSetleVO; import com.wb.domainserver.domain.mngr.ordr.indvdlSetle.vo.IndvdlSetleSrchVO; import com.wb.domainserver.domain.mngr.ordr.indvdlSetle.vo.IndvdlSetleVO; +import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; 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.RESRC; -import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.SendToResrc; +import com.wb.domainserver.util.dataaccess.DataMap; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -21,6 +33,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.util.HashMap; +import java.util.List; +import java.util.Map; /* * 통합관리자 > 개인결제 FO Controller @@ -56,6 +70,19 @@ public class IndvdlSetleController { @Autowired private GconeMessageSource gconeMessageSource; + @Autowired + private BOOrdrService service; + + @Autowired + private BOCommonService commonService; + + @Autowired + private PaginationProperties paginationProperties; + + @Autowired + private BOMaComncdService bOMaComncdService; + + /** * 관리자 > 주문 > 개인결제관리 > 개인 결제 목록 화면 이동 * @return IndvdlSetleListInqireRForm.jsp @@ -76,14 +103,37 @@ public class IndvdlSetleController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectIndvdlSetleListInqire") - public String selectIndvdlSetleListInqireModelMap(ModelMap model, IndvdlSetleSrchVO indvdlSetleSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - + public String selectIndvdlSetleListInqireModelMap(ModelMap model, BOIndvdlSetleSrchVO indvdlSetleSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { indvdlSetleSrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleListInqire", indvdlSetleSrchVO), - model, - "data" - ); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + indvdlSetleSrchVO.setSopmalCd(user.getSopmalCd()); + } + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(indvdlSetleSrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(indvdlSetleSrchVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + indvdlSetleSrchVO.setPaginationInfo(paginationInfo); + indvdlSetleSrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + indvdlSetleSrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + indvdlSetleSrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + indvdlSetleSrchVO.setSecretKey(commonService.selectSecretkey()); + List resultList = service.selectIndvdlSetleListInqire(indvdlSetleSrchVO); + + Map content = new HashMap<>(); + + content.put("resultList", resultList); + content.put("paginationInfo", indvdlSetleSrchVO.getPaginationInfo()); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleListInqire", indvdlSetleSrchVO), +// model, +// "data" +// ); return "mngr/ordr/indvdlSetle/IndvdlSetleListInqireR"; } @@ -95,14 +145,22 @@ public class IndvdlSetleController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectIndvdlSetleDtlInqire") - public String selectIndvdlSetleDtlInqire(ModelMap model, IndvdlSetleSrchVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - + public String selectIndvdlSetleDtlInqire(ModelMap model, BOIndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { indvdlSetleVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleDtlInqire", indvdlSetleVO), - model, - "data" - ); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + indvdlSetleVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = service.selectIndvdlSetleDtlInqire(indvdlSetleVO); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleDtlInqire", indvdlSetleVO), +// model, +// "data" +// ); return "mngr/ordr/indvdlSetle/IndvdlSetleDtlInqirePopupR"; } @@ -115,13 +173,22 @@ public class IndvdlSetleController { @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectIndvdlSetleRegistForm") public String selectIndvdlSetleRegistForm(ModelMap model, IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - indvdlSetleVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOIndvdlSetleRegistForm", indvdlSetleVO), - model, - "data" - ); + + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("INDVDL_SETLE_MTH"); + + List setleMthCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + HashMap contnet = new HashMap<>() {{ + put("setlMthCdList", setleMthCdList); + }}; + model.addAttribute("data", contnet); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOIndvdlSetleRegistForm", indvdlSetleVO), +// model, +// "data" +// ); model.addAttribute("paramVO", indvdlSetleVO); return "mngr/ordr/indvdlSetle/IndvdlSetleRegistFormC"; @@ -133,17 +200,45 @@ public class IndvdlSetleController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/insertIndvdlSetleRegist", method = RequestMethod.POST) - public ResponseEntity insertIndvdlSetleRegist(@RequestBody HashMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value = "/insertIndvdlSetleRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertIndvdlSetleRegist(@RequestBody DataMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { param.put("sopmalCd", authSopmalCd); //결제플랫폼 구분코드 param.put("deviceType", "P"); log.debug("param.get(deviceType) {}", param.get("deviceType")); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOIndvdlSetleRegist", param), - ReplyFromResrc::getReply + + Map content = null; + + try { + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + param.put("sopmalCd", user.getSopmalCd()); + } + + content = service.insertIndvdlSetleRegist(param, user); + } catch (WnbtRestException wre) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", wre.getMessage()); + }}; + + } catch (Exception e) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", "주문등록이 실패하였습니다.\n관리자에게 문의하시기 바랍니다."); + }}; + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOIndvdlSetleRegist", param), +// ReplyFromResrc::getReply +// ); } /** @@ -153,14 +248,26 @@ public class IndvdlSetleController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectIndvdlSetleUpdateForm") - public String selectIndvdlSetleUpdateForm(ModelMap model, IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - + public String selectIndvdlSetleUpdateForm(ModelMap model, BOIndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { indvdlSetleVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleUpdateForm", indvdlSetleVO), - model, - "data" - ); + + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("INDVDL_SETLE_MTH"); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + indvdlSetleVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = service.selectIndvdlSetleUpdateForm(indvdlSetleVO); + content.put("setlMthCdList", bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO)); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleUpdateForm", indvdlSetleVO), +// model, +// "data" +// ); return "mngr/ordr/indvdlSetle/IndvdlSetleUpdateFormU"; } @@ -171,14 +278,43 @@ public class IndvdlSetleController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateIndvdlSetleUpdt") - public ResponseEntity updateIndvdlSetleUpdt(@RequestBody HashMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - + @RequestMapping(value="/updateIndvdlSetleUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateIndvdlSetleUpdt(@RequestBody DataMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { param.put("sopmalCd", authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOIndvdlSetleUpdt",param), - ReplyFromResrc::getReply + + Map content = new HashMap<>() {{ + put("status", "0"); + put("message", ""); + }}; + + try { + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + param.put("sopmalCd", user.getSopmalCd()); + } + + service.updateIndvdlSetleUpdt(param, MemberJwtContextHolder.getMemberInfo()); + } catch (WnbtRestException wre) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", wre.getMessage()); + }}; + } catch (Exception e) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", "개인결제 수정에 실패하였습니다.\n관리자에게 문의하시기 바랍니다."); + }}; + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOIndvdlSetleUpdt",param), +// ReplyFromResrc::getReply +// ); } /** @@ -187,14 +323,42 @@ public class IndvdlSetleController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/deleteIndvdlSetle") - public ResponseEntity updateImprtncOrdrAt(IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - + @RequestMapping(value="/deleteIndvdlSetle", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateImprtncOrdrAt(BOIndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { indvdlSetleVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBOIndvdlSetle",indvdlSetleVO), - ReplyFromResrc::getReply + + Map content = new HashMap<>() {{ + put("status", "0"); + put("message", ""); + }}; + + try { + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + indvdlSetleVO.setSopmalCd(user.getSopmalCd()); + } + service.deleteIndvdlSetle(indvdlSetleVO); + } catch (WnbtRestException wre) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", wre.getMessage()); + }}; + } catch (Exception e) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", "개인결제 삭제를 실패하였습니다.\n관리자에게 문의하시기 바랍니다."); + }}; + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBOIndvdlSetle",indvdlSetleVO), +// ReplyFromResrc::getReply +// ); } /** @@ -203,13 +367,41 @@ public class IndvdlSetleController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/insertSetleLinkMsg") - public ResponseEntity insertSetleLinkMsg(IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - + @RequestMapping(value="/insertSetleLinkMsg", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertSetleLinkMsg(BOIndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { indvdlSetleVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleLinkMsg",indvdlSetleVO), - ReplyFromResrc::getReply + + Map content = new HashMap<>() {{ + put("status", "0"); + put("message", ""); + }}; + + try { + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + indvdlSetleVO.setSopmalCd(user.getSopmalCd()); + } + service.insertSetleLinkMsg(indvdlSetleVO); + } catch (WnbtRestException wre) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", wre.getMessage()); + }}; + } catch (Exception e) { + content = new HashMap<>() {{ + put("status", "1"); + put("message", "개인결제 링크발송을 실패하였습니다.\n관리자에게 문의하시기 바랍니다."); + }}; + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleLinkMsg",indvdlSetleVO), +// ReplyFromResrc::getReply +// ); } } diff --git a/src/main/java/com/wb/domainserver/domain/mngr/ordr/ordrmngr/controller/OrdrmngrController.java b/src/main/java/com/wb/domainserver/domain/mngr/ordr/ordrmngr/controller/OrdrmngrController.java index 644e0994..320da5b7 100644 --- a/src/main/java/com/wb/domainserver/domain/mngr/ordr/ordrmngr/controller/OrdrmngrController.java +++ b/src/main/java/com/wb/domainserver/domain/mngr/ordr/ordrmngr/controller/OrdrmngrController.java @@ -2,20 +2,44 @@ package com.wb.domainserver.domain.mngr.ordr.ordrmngr.controller; import com.fasterxml.jackson.databind.ObjectMapper; import com.wb.domainserver.common.msg.GconeMessageSource; -import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.*; +import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo; +import com.wb.domainserver.common.prop.PaginationProperties; +import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO; +import com.wb.domainserver.domain.gcone.common.service.BOCommonService; +import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService; +import com.wb.domainserver.domain.gcone.goods.purchs.vo.BOOrderLogVO; +import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService; +import com.wb.domainserver.domain.gcone.ordr.ordr.vo.*; +import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO; +import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService; +import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService; +import com.wb.domainserver.domain.gcone.setup.nbkk.vo.BOSetupNbkkVO; +import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.DwldItmVO; +import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.OrdrShippingVO; +import com.wb.domainserver.domain.mngr.ordr.ordrmngr.vo.OrdrSrchVO; import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.exception.code.ErrorCode; import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; 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.*; +import com.wb.domainserver.util.communicate.SendToResrc; +import com.wb.domainserver.util.communicate.ValidateResultConverter; +import com.wb.domainserver.util.dataaccess.DataMap; import com.wb.domainserver.util.excel.ExcelDownloadUtil; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; +import org.springframework.util.StringUtils; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.CookieValue; @@ -23,6 +47,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import java.io.IOException; +import java.math.BigInteger; import java.util.*; /** @@ -59,6 +84,29 @@ public class OrdrmngrController { @Autowired private GconeMessageSource gconeMessageSource; + @Autowired + private BOOrdrService service; + + @Autowired + private BOOrderService orderService; + + @Autowired + private BOMaComncdService bOMaComncdService; + + @Autowired + private PaginationProperties paginationProperties; + + @Autowired + private BONbkkService nbkkService; + + @Autowired + private BOMaSopmalService boMaSopmalService; + + @Autowired + private BOCommonService commonService; + + @Autowired + private BODlvygrpService dlvyGroupService; /* #################################### 선물 주문 목록 시작 @@ -67,19 +115,102 @@ public class OrdrmngrController { /** * 선물 주문 목록 페이지 이동 - * @param OrdrSrchVO + * @param ordrSrchVO * @return GiftOrdrInqireR.jsp */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectGiftOrdrInqire") - public String selectGiftOrdrInqire(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectGiftOrdrInqire(ModelMap model, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrSrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOAllOrdrListInqire", ordrSrchVO), - model, - "cond" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + ordrSrchVO.setUpdusr(user.getUserInnb()); // 수정자 + + Map content = new HashMap<>(); + + content.put("sopmalCd", ordrSrchVO.getSopmalCd()); + + List storeList = service.selectBOStoreList(ordrSrchVO); + + content.put("storeList", storeList); // 매장 + + BODwldItmVO dwldItmVO = new BODwldItmVO(); + dwldItmVO.setSopmalCd(ordrSrchVO.getSopmalCd()); + + List dwldItmSetupFormList = service.selectDwldItmSetupFormList(dwldItmVO); + + content.put("dwldItmSetupFormList", dwldItmSetupFormList); // 엑셀다운로드 양식 폼 목록 + + BOMaComncdVO maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_STTUS"); + + List ordrSttusCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("ordrSttusCdList", ordrSttusCdList); // 주문상태 + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경 + + List ordrEnvrnDvCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("ordrEnvrnDvCdList", ordrEnvrnDvCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("DLVY_MTH"); // 배송방법 + + List dlvyMthCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("dlvyMthCdList", dlvyMthCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_TY"); // 주문유형 + + List ordrTyCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("ordrTyCdList", ordrTyCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("RESVE_SNDNG_DV"); // 희망배송일, 상품예약발송일 + + List resveSndngDvCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("resveSndngDvCdList", resveSndngDvCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("SETLE_MTH"); // 모든 결제수단 + + List setleMthList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("setleMthList", setleMthList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("PG_CMPNY"); // 모든결제사 + + List setlePgCmpnyList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("setlePgCmpnyList", setlePgCmpnyList); + + // 무통장자동입금 사용 여부 + String acntUseAt = nbkkService.selectBOAcntUseAtInqire(ordrSrchVO); + content.put("acntUseAt", acntUseAt); + + // 네이버페이 사용 여부 + String npayUseAt = boMaSopmalService.selectBONpayUseAtByShop(ordrSrchVO.getSopmalCd()); + content.put("npayUseAt", npayUseAt); + + // Map객체에 필요 정보 할당 + content.put("paramVO", ordrSrchVO); + + model.addAttribute("cond", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOAllOrdrListInqire", ordrSrchVO), +// model, +// "cond" +// ); model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrSrchVO)); return "mngr/ordr/ordrmngr/GiftOrdrInqireR"; @@ -88,12 +219,12 @@ public class OrdrmngrController { /** * 주문 목록 조회 ajax 페이지 이동 관리자 > 주문 > 선물함 목록 조회 - * @param OrdrSrchVO + * @param ordrSrchVO * @return OrdrListAjaxR.jsp */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/selectGiftOrdrListInqireAjax") - public ResponseEntity selectGiftOrdrListInqireAjax(OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/selectGiftOrdrListInqireAjax", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectGiftOrdrListInqireAjax(BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSrchVO.setSopmalCd(authSopmalCd); // 주문 유형 코드 -> 04 : 선물하기 @@ -101,10 +232,41 @@ public class OrdrmngrController { ordrTy[0] = "04"; ordrSrchVO.setSrchOrdrTyCds(ordrTy); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectAllOrdrListInqireAjax", ordrSrchVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(ordrSrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(ordrSrchVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + ordrSrchVO.setPaginationInfo(paginationInfo); + ordrSrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + ordrSrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + ordrSrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + /*시크릿 키 set*/ + ordrSrchVO.setSecretKey(commonService.selectSecretkey()); + List allOrdrList = service.selectAllOrdrListInqireAjax(ordrSrchVO); + + content.put("allOrdrList", allOrdrList); + content.put("paramVO", ordrSrchVO); + content.put("paginationInfo", ordrSrchVO.getPaginationInfo()); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectAllOrdrListInqireAjax", ordrSrchVO), +// ReplyFromResrc::getReply +// ); } /* #################################### 선물 주문 목록 끝 @@ -121,14 +283,97 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectAllOrdrListInqire") - public String selectAllOrdrListInqire(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectAllOrdrListInqire(ModelMap model, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrSrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOAllOrdrListInqire", ordrSrchVO), - model, - "cond" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + ordrSrchVO.setUpdusr(user.getUserInnb()); // 수정자 + + Map content = new HashMap<>(); + + content.put("sopmalCd", ordrSrchVO.getSopmalCd()); + + List storeList = service.selectBOStoreList(ordrSrchVO); + + content.put("storeList", storeList); // 매장 + + BODwldItmVO dwldItmVO = new BODwldItmVO(); + dwldItmVO.setSopmalCd(ordrSrchVO.getSopmalCd()); + + List dwldItmSetupFormList = service.selectDwldItmSetupFormList(dwldItmVO); + + content.put("dwldItmSetupFormList", dwldItmSetupFormList); // 엑셀다운로드 양식 폼 목록 + + BOMaComncdVO maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_STTUS"); + + List ordrSttusCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("ordrSttusCdList", ordrSttusCdList); // 주문상태 + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경 + + List ordrEnvrnDvCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("ordrEnvrnDvCdList", ordrEnvrnDvCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("DLVY_MTH"); // 배송방법 + + List dlvyMthCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("dlvyMthCdList", dlvyMthCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_TY"); // 주문유형 + + List ordrTyCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("ordrTyCdList", ordrTyCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("RESVE_SNDNG_DV"); // 희망배송일, 상품예약발송일 + + List resveSndngDvCdList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("resveSndngDvCdList", resveSndngDvCdList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("SETLE_MTH"); // 모든 결제수단 + + List setleMthList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("setleMthList", setleMthList); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("PG_CMPNY"); // 모든결제사 + + List setlePgCmpnyList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("setlePgCmpnyList", setlePgCmpnyList); + + // 무통장자동입금 사용 여부 + String acntUseAt = nbkkService.selectBOAcntUseAtInqire(ordrSrchVO); + content.put("acntUseAt", acntUseAt); + + // 네이버페이 사용 여부 + String npayUseAt = boMaSopmalService.selectBONpayUseAtByShop(ordrSrchVO.getSopmalCd()); + content.put("npayUseAt", npayUseAt); + + // Map객체에 필요 정보 할당 + content.put("paramVO", ordrSrchVO); + + model.addAttribute("cond", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOAllOrdrListInqire", ordrSrchVO), +// model, +// "cond" +// ); model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrSrchVO)); return "mngr/ordr/ordrmngr/AllOrdrListInqireR"; @@ -140,14 +385,45 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/selectAllOrdrListInqireAjax") - public ResponseEntity selectAllOrdrListInqireAjax(OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/selectAllOrdrListInqireAjax", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectAllOrdrListInqireAjax(BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSrchVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectAllOrdrListInqireAjax", ordrSrchVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(ordrSrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(ordrSrchVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + ordrSrchVO.setPaginationInfo(paginationInfo); + ordrSrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + ordrSrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + ordrSrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + /*시크릿 키 set*/ + ordrSrchVO.setSecretKey(commonService.selectSecretkey()); + List allOrdrList = service.selectAllOrdrListInqireAjax(ordrSrchVO); + + content.put("allOrdrList", allOrdrList); + content.put("paramVO", ordrSrchVO); + content.put("paginationInfo", ordrSrchVO.getPaginationInfo()); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectAllOrdrListInqireAjax", ordrSrchVO), +// ReplyFromResrc::getReply +// ); } @@ -157,27 +433,37 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateImprtncOrdrAt") - public ResponseEntity updateImprtncOrdrAt(OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateImprtncOrdrAt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateImprtncOrdrAt(BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOImprtncOrdrAt",ordrVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(); -// -// errorList.add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + Map message = new HashMap<>() {{ + put("status", "0"); + put("message", "중요주문여부 수정을 완료 하였습니다."); + }}; - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOImprtncOrdrAt",ordrVO), - ReplyFromResrc::getReply + try { + service.updateBOImprtncOrdrAt(ordrVO); + } catch (WnbtRestException wre) { + message = new HashMap<>() {{ + put("status", "1"); + put("message", wre.getMessage()); + }}; + } catch (Exception e) { + message = new HashMap<>() {{ + put("status", "1"); + put("message", "중요주문여부 수정을 실패하였습니다.\n관리자에게 문의하시기 바랍니다."); + }}; + } + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOImprtncOrdrAt",ordrVO), +// ReplyFromResrc::getReply +// ); } /** @@ -186,27 +472,45 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateOrdrSttusCd") - public ResponseEntity updateOrdrSttusCd(OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateOrdrSttusCd", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateOrdrSttusCd(BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrSttusCd",ordrVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(); -// -// errorList.add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + } - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrSttusCd",ordrVO), - ReplyFromResrc::getReply + Map message = new HashMap<>() {{ + put("status", "0"); + put("message", "주문상태 수정을 완료 하였습니다."); + }}; + + try { + ordrVO.setMbrDvCd(user.getMbrDvCd());; + ordrVO.setOrdrrNm(user.getMbrNm());; + service.updateOrdrSttusCd(ordrVO); + } catch (WnbtRestException wre) { + message = new HashMap<>() {{ + put("status", "1"); + put("message", wre.getMessage()); + }}; + } catch (Exception e) { + message = new HashMap<>() {{ + put("status", "1"); + put("message", "주문상태 수정을 실패하였습니다.\n관리자에게 문의하시기 바랍니다."); + }}; + } + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrSttusCd",ordrVO), +// ReplyFromResrc::getReply +// ); } /** @@ -215,14 +519,30 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/selectOrdrGoodsDtllAjax") - public ResponseEntity selectOrdrGoodsDtllAjax(OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/selectOrdrGoodsDtllAjax", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectOrdrGoodsDtllAjax(BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrGoodsDtllAjax", ordrVO), - ReplyFromResrc::getReply + Map content = new HashMap<>(); + + List goodsDtlsList = service.selectOrdrGoodsDtllAjax(ordrVO); + List dscntList = service.selectOrdrGoodsDtllDscntList(ordrVO); + DataMap total = service.selectOrdrGoodsDtllTot(ordrVO); + + content.put("goodsDtlsList", goodsDtlsList); + content.put("dscntList", dscntList); + content.put("total", total); + content.put("paramVO", ordrVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrGoodsDtllAjax", ordrVO), +// ReplyFromResrc::getReply +// ); } /** @@ -233,18 +553,56 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.PUBLIC) @RequestMapping(value="/selectExcelDwldListInqire") - public void selectExcelList(HttpServletResponse response, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public void selectExcelList(HttpServletResponse response, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSrchVO.setSopmalCd(authSopmalCd); - Map data = responseHandler.handleResponseAsMap( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOExcelDwldListInqire",ordrSrchVO) - ); + Map content = new HashMap<>(); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + BODwldItmVO bODwldItmVO = new BODwldItmVO(); + bODwldItmVO.setExcelDwldFormSnb(ordrSrchVO.getSrchExcelDwldFormSnb()); + bODwldItmVO.setSopmalCd(ordrSrchVO.getSopmalCd()); + if ("01".equals(user.getSysDvCd())) { + bODwldItmVO.setSopmalCd(user.getSopmalCd()); + } + + DataMap dwldForm = service.selectDwldForm(bODwldItmVO); + + String formItmCn = (String) dwldForm.get("formItmCn"); + String coulms = ""; + + if (!StringUtils.isEmpty(formItmCn)) { + String[] items = formItmCn.split("\\|"); + + for (int i = 0; i < items.length; i++) { + String coulm = items[i].indexOf("추가") > 0 ? "'chr(9)'" : items[i]; + + coulms += 0 < i ? "," + coulm : coulm; + } + } + + ordrSrchVO.setExcelCoulms(coulms); + + List excelList = null; + + if ("02".equals(dwldForm.get("stdrDvCd"))) { + excelList = service.selectExcelListByGoods(ordrSrchVO); + } else if ("01".equals(dwldForm.get("stdrDvCd"))) { + excelList = service.selectExcelListByOrder(ordrSrchVO); + } + + content.put("header", bODwldItmVO.getSelItemsToMap(formItmCn)); + content.put("list", excelList); + content.put("paramVO", ordrSrchVO); + +// Map data = responseHandler.handleResponseAsMap( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOExcelDwldListInqire",ordrSrchVO) +// ); try { // 엑셀생성 및 다운로드 - if (data != null) { - LinkedHashMap header = (LinkedHashMap) data.get("header"); - List> list = (List>) data.get("list"); + if (content != null) { + LinkedHashMap header = (LinkedHashMap) content.get("header"); + List> list = (List>) content.get("list"); if (header != null && list != null) { // 엑셀 생성 및 다운로드 @@ -272,14 +630,25 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrdrDtstmnDwldPopupForm") - public String selectOrdrDtstmnDwldPopupForm(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectOrdrDtstmnDwldPopupForm(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtstmnDwldPopupForm", ordrVO), - model, - "data" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + } + List> ordrDtstmnDwldList = service.selectOrdrDtstmnDwld(ordrVO); + + Map content = new HashMap<>() {{ + put("ordrDtstmnDwldList", ordrDtstmnDwldList); + }}; + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtstmnDwldPopupForm", ordrVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/OrdrDtstmnDwldPopupR"; } @@ -298,14 +667,23 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrdrDtlInqire") - public String selectOrdrDtlInqire(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectOrdrDtlInqire(ModelMap model, OrdrSrchVO ordrSrchVO, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrSrchVO.setSopmalCd(authSopmalCd); + ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", ordrSrchVO), - model, - "data" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = service.selectOrdrDtlInqire(ordrVO); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", ordrSrchVO), +// model, +// "data" +// ); model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrSrchVO)); model.addAttribute("paginationInfo", ordrSrchVO.getPaginationInfo()); @@ -321,14 +699,63 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectSetleCanclRefndRegistPopupForm") - public String selectSetleCanclRefndRegistPopupForm(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectSetleCanclRefndRegistPopupForm(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOSetleCanclRefndRegist", ordrVO), - model, - "data" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + ordrVO.setSysDvCd("S"); // 쇼핑몰 + } else { + ordrVO.setSysDvCd("A"); // 관리자 + } + + Map content = service.selectBOSetleCanclRefndRegist(ordrVO); + content.put("mbrInnb", user.getUserInnb()); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("KCP_BANK_CD"); // KCP은행코드 + List kcpBankCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + bOMaComncdVO.setGroupCd("TOSS_BANK_CD"); // TOSS은행코드 + List toosBankCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + DataMap order = (DataMap) content.get("order"); // TODO : ( 2024-08-22 ) 통장 코드 환불 선택해서 입력 Npay , 에스크로, 페이코 고려되어있지않음 확인시 수정 필요 + log.debug("order : {} ", order); + if (order != null && ("gcpay".equals(order.get("pgCmpnyNm")) || "toss".equals(order.get("pgCmpnyNm")) || "tosspay".equals(order.get("pgCmpnyNm")))) { + content.put("bankCdList", toosBankCdList); + } else if (order != null && ("kcp".equals(order.get("pgCmpnyNm")))) { + content.put("bankCdList", kcpBankCdList); + } else { + content.put("bankCdList", toosBankCdList); + } + + + // 무통장 계좌 정보 + BOSetupNbkkVO boShopSetupVO = new BOSetupNbkkVO(); + boShopSetupVO.setSopmalCd(ordrVO.getSopmalCd()); + boShopSetupVO.setUseAt("Y"); + Map setupJson = nbkkService.selectBOSopmalSetupList(boShopSetupVO); + List sopmalSetupVO = (List) setupJson.get("refundAcntSetup"); + log.debug("반품 배송비 계좌 json : {}", sopmalSetupVO); + + content.put("bankAccount", sopmalSetupVO); + + DataMap returnDataMap = new DataMap(); + returnDataMap = dlvyGroupService.selectBOReturnAddressInqire(ordrVO); + + String returnAddress = ""; + returnAddress = returnDataMap.get("rtnlcAdres") + " " + returnDataMap.get("rtnlcDtlAdres"); + content.put("returnAddress", returnAddress); + log.debug("반송지 : {}", content.get("returnAddress")); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOSetleCanclRefndRegist", ordrVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/SetleCanclRefndRegistPopupC"; @@ -340,27 +767,52 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/insertSetleCanclRefndRegist") - public ResponseEntity insertSetleCanclRefndRegist(@RequestBody HashMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/insertSetleCanclRefndRegist", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertSetleCanclRefndRegist(@RequestBody DataMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { param.put("sopmalCd", authSopmalCd); -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleCanclRefndRegist",param); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(); -// -// errorList.add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + param.put("sopmalCd", user.getSopmalCd()); + param.put("mbrInnb", user.getUserInnb()); + } else { + param.put("mngrInnb", user.getUserInnb()); + } + param.put("mbrDvCd", user.getMbrDvCd()); + param.put("updusr", user.getUserInnb()); + param.put("regusr", user.getUserInnb()); + param.put("mbrNm", user.getMbrNm()); + param.put("userName", user.getMbrNm()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleCanclRefndRegist",param), - ReplyFromResrc::getReply + Map message = service.insertBOSetleCanclRefnd(param); + + // 회원 사이트정보 갱신 ============================================================== + try { + BOPayVO payVO = new BOPayVO(); + if ("01".equals(user.getSysDvCd())) { + payVO.setSopmalCd(user.getSopmalCd()); + payVO.setMbrInnb(String.valueOf(user.getUserInnb())); + payVO.setMbrDvCd(user.getMbrDvCd()); + } else { + payVO.setSopmalCd(String.valueOf(param.get("sopmalCd"))); + payVO.setMbrInnb(String.valueOf(param.get("siteMbrInnb"))); + payVO.setMbrDvCd(String.valueOf(param.get("siteMbrDvCd"))); + } + service.updateMbrSiteUpdtOrdrRefund(payVO); + } catch (Exception e) { + log.error("회원 사이트정보 갱신 실패!"); + throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR); + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleCanclRefndRegist",param), +// ReplyFromResrc::getReply +// ); } @@ -371,11 +823,10 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/insertReturnRefundRegist") - public ResponseEntity insertReturnRefundRegist(@RequestBody HashMap param, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/insertReturnRefundRegist", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertReturnRefundRegist(@RequestBody DataMap param, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { param.put("sopmalCd", authSopmalCd); - // 정합성 검사 if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); @@ -406,8 +857,6 @@ public class OrdrmngrController { } } - - if (param != null) { List> errorList = new ArrayList<>(); @@ -436,10 +885,48 @@ public class OrdrmngrController { } } - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleCanclRefndRegist", param), - ReplyFromResrc::getReply + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + param.put("sopmalCd", user.getSopmalCd()); + param.put("mbrInnb", user.getUserInnb()); + } else { + param.put("mngrInnb", user.getUserInnb()); + } + param.put("mbrDvCd", user.getMbrDvCd()); + param.put("updusr", user.getUserInnb()); + param.put("regusr", user.getUserInnb()); + param.put("mbrNm", user.getMbrNm()); + param.put("userName", user.getMbrNm()); + + Map message = service.insertBOSetleCanclRefnd(param); + + // 회원 사이트정보 갱신 ============================================================== + try { + BOPayVO payVO = new BOPayVO(); + if ("01".equals(user.getSysDvCd())) { + payVO.setSopmalCd(user.getSopmalCd()); + payVO.setMbrInnb(String.valueOf(user.getUserInnb())); + payVO.setMbrDvCd(user.getMbrDvCd()); + } else { + payVO.setSopmalCd(String.valueOf(param.get("sopmalCd"))); + payVO.setMbrInnb(String.valueOf(param.get("siteMbrInnb"))); + payVO.setMbrDvCd(String.valueOf(param.get("siteMbrDvCd"))); + } + service.updateMbrSiteUpdtOrdrRefund(payVO); + } catch (Exception e) { + log.error("회원 사이트정보 갱신 실패!"); + throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR); + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleCanclRefndRegist", param), +// ReplyFromResrc::getReply +// ); } /** @@ -450,14 +937,22 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectGoodsExport") - public String selectGoodsExport(ModelMap model, OrdrShippingVO ordrShippingVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectGoodsExport(ModelMap model, OrdrShippingVO ordrShippingVO, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrShippingVO.setSopmalCd(authSopmalCd); + ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOGoodsExportList", ordrShippingVO), - model, - "data" - ); + List goodsExportList = service.selectGoodsExportList(ordrVO); + + Map content = new HashMap<>() {{ + put("goodsExportList", goodsExportList); + }}; + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOGoodsExportList", ordrShippingVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrShippingVO.getOrdrInnb()); model.addAttribute("dlivyInnb", ordrShippingVO.getDlivyInnb()); @@ -467,19 +962,26 @@ public class OrdrmngrController { /** * 전체주문상세 > 출고내역 > 상품 배송 팝업 화면 이동 * @param model - * @param ordrVO + * @param ordrShippingVO * @return OrdrShippingPopupR.jsp */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrdrShipping") - public String selectOrdrShipping(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { - ordrVO.setSopmalCd(authSopmalCd); + public String selectOrdrShipping(ModelMap model, BOOrdrShippingVO ordrShippingVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + ordrShippingVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrShipping", ordrVO), - model, - "data" - ); + DataMap ordrShipping = service.selectOrdrShipping(ordrShippingVO); + + Map content = new HashMap<>() {{ + put("ordrShipping", ordrShipping); + }}; + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrShipping", ordrVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/OrdrShippingPopupR"; } @@ -492,14 +994,21 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrderRefund") - public String selectOrderRefund(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectOrderRefund(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderRefundList", ordrVO), - model, - "data" - ); + List orderRefundList = service.selectOrderRefundList(ordrVO); + + Map content = new HashMap<>() {{ + put("orderRefundList", orderRefundList); + }}; + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderRefundList", ordrVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/OrdrDtlRefundR"; @@ -513,14 +1022,21 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrderShipping") - public String selectOrderShipping(ModelMap model, OrdrShippingVO ordrShippingVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectOrderShipping(ModelMap model, BOOrdrShippingVO ordrShippingVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrShippingVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderShippingList", ordrShippingVO), - model, - "data" - ); + List orderShippingList = service.selectOrderShippingList(ordrShippingVO); + + Map content = new HashMap<>() {{ + put("orderShippingList", orderShippingList); + }}; + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderShippingList", ordrShippingVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrShippingVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/OrdrDtlShippingR"; @@ -532,65 +1048,83 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateDlvylcInfoUpdt") - public ResponseEntity updateDlvylcInfoUpdt(@Validated OrdrShippingVO ordrShippingVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateDlvylcInfoUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateDlvylcInfoUpdt(@Validated BOOrdrShippingVO ordrShippingVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrShippingVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODlvylcInfoUpdt",ordrShippingVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrShippingVO.setUpdusr(user.getUserInnb()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODlvylcInfoUpdt",ordrShippingVO), - ReplyFromResrc::getReply + Map message = service.updateDlvylcInfo(ordrShippingVO); + + // 배송지 정보 변경 주문 로그 + BOOrderLogVO logVO = new BOOrderLogVO(); + logVO.setOrdrInnb(BigInteger.valueOf(Long.valueOf(ordrShippingVO.getOrdrInnb()))); + logVO.setSopmalCd(ordrShippingVO.getSopmalCd()); + if ("0".equals(message.get("status"))) { + logVO.setLogSj("배송지 정보 변경"); + logVO.setLogDtlCn("배송지 정보 변경을 처리하였습니다."); + } else { + logVO.setLogSj("배송지 정보 변경 실패"); + logVO.setLogDtlCn("배송지 정보 변경을 실패하였습니다."); + } + logVO.setLogDvCd("02"); + if ("01".equals(user.getSysDvCd())) { + logVO.setDvCd("01"); + } else { + logVO.setDvCd("02"); + } + logVO.setOpetrNm(user.getMbrNm()); + service.updateDlvylcInfoLogRegist(logVO); + + message.put("form", ordrShippingVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODlvylcInfoUpdt",ordrShippingVO), +// ReplyFromResrc::getReply +// ); } /** * 전체주문상세 > 주문자정보 > 주문자정보 수정 - * @param ordrrVO + * @param BOOrdrrVO * @param bindingResult * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateOrdrrInfoUpdt") - public ResponseEntity updateOrdrrInfoUpdt(@Validated OrdrrVO ordrrVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - ordrrVO.setSopmalCd(authSopmalCd); + @RequestMapping(value="/updateOrdrrInfoUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateOrdrrInfoUpdt(@Validated BOOrdrrVO BOOrdrrVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + BOOrdrrVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrrInfoUpdt",ordrrVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + BOOrdrrVO.setUpdusr(user.getUserInnb()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrrInfoUpdt",ordrrVO), - ReplyFromResrc::getReply + Map message = service.updateBOOrdrrInfo(BOOrdrrVO); + + message.put("form", BOOrdrrVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrrInfoUpdt",ordrrVO), +// ReplyFromResrc::getReply +// ); } /** @@ -601,14 +1135,32 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value= "/selectOrderSetle") - public String selectOrderSetle(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectOrderSetle(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderSetle", ordrVO), - model, - "data" - ); + Map content = new HashMap<>(); + + List orderSetleList = service.selectOrderSetleList(ordrVO); + + content.put("orderSetleList", orderSetleList); + + // 무통장 계좌 정보 + BOSetupNbkkVO boShopSetupVO = new BOSetupNbkkVO(); + boShopSetupVO.setSopmalCd(ordrVO.getSopmalCd()); + Map setupJson = nbkkService.selectBOSopmalSetupList(boShopSetupVO); + List sopmalSetupVO = (List) setupJson.get("acntSetup"); + log.debug("반품 배송비 계좌 json : {}", sopmalSetupVO); + + // List antnbList = service.selectAcntnbList(ordrVO); + + content.put("antnbList", sopmalSetupVO); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderSetle", ordrVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); model.addAttribute("ordrSttusCd", ordrVO.getOrdrSttusCd()); @@ -622,31 +1174,30 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateOrderSetleUpdt") - public ResponseEntity updateOrdrrSetleUpdt(@Validated OrdrSetleVO ordrSetleVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateOrderSetleUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateOrdrrSetleUpdt(@Validated BOOrdrSetleVO ordrSetleVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSetleVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrderSetleUpdt",ordrSetleVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrSetleVO.setUpdusr(user.getUserInnb()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrderSetleUpdt",ordrSetleVO), - ReplyFromResrc::getReply + Map message = service.updateSetleInfo(ordrSetleVO); + + message.put("form", ordrSetleVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrderSetleUpdt",ordrSetleVO), +// ReplyFromResrc::getReply +// ); } /** @@ -657,13 +1208,22 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value= {"/selectOrdrProcsDtls", "/selectNpayIntrlckDtls", "/selectKakaopayIntrlckDtls"}) - public String selectOrdrProcsDtls(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectOrdrProcsDtls(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrProcsDtls", ordrVO), - model, - "data" - ); + + Map content = new HashMap<>(); + + List ordrProcsDtlsList = service.selectOrdrProcsDtlsList(ordrVO); + + content.put("ordrProcsDtlsList", ordrProcsDtlsList); + content.put("procsDtlsDvCd", ordrVO.getProcsDtlsDvCd()); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrProcsDtls", ordrVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/OrdrDtlProcsDtlsR"; @@ -677,13 +1237,22 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value= "/selectDlivyFailrDtls") - public String selectDlivyFailrDtls(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectDlivyFailrDtls(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODlivyFailrDtls", ordrVO), - model, - "data" - ); + + Map content = new HashMap<>(); + + List ordrProcsDtlsList = service.selectDlivyFailrDtlsList(ordrVO); + + content.put("ordrProcsDtlsList", ordrProcsDtlsList); + content.put("procsDtlsDvCd", ordrVO.getProcsDtlsDvCd()); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODlivyFailrDtls", ordrVO), +// model, +// "data" +// ); model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/OrdrDtlProcsDtlsR"; @@ -692,19 +1261,23 @@ public class OrdrmngrController { /** * 전체주문상세 > 관리메모 > 목록 화면 이동 * @param model - * @param ordrVO + * @param ordrMemoVO * @return OrdrDtlMemoR.jsp */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrderMemo") - public String selectOrderMemo(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderMemoList", ordrVO), - model, - "data" - ); - model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); + public String selectOrderMemo(ModelMap model, BOOrdrMemoVO ordrMemoVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + ordrMemoVO.setSopmalCd(authSopmalCd); + + DataMap orderMemo = service.selectOrderMemoList(ordrMemoVO); + + model.addAttribute("data", orderMemo); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrderMemoList", ordrVO), +// model, +// "data" +// ); + model.addAttribute("ordrInnb", ordrMemoVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/OrdrDtlMemoR"; } @@ -716,29 +1289,41 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/insertOrdrDtlMngrMemoRegist") - public ResponseEntity insertOrdrDtlMngrMemoRegist(@Validated OrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/insertOrdrDtlMngrMemoRegist", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertOrdrDtlMngrMemoRegist(@Validated BOOrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrMemoVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOOrdrDtlMngrMemoRegist",ordrMemoVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOOrdrDtlMngrMemoRegist",ordrMemoVO), - ReplyFromResrc::getReply + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrMemoVO.setRegusr(user.getUserInnb()); + ordrMemoVO.setUpdusr(user.getUserInnb()); + + Map message = service.insertBOOrdrDtlMngrMemo(ordrMemoVO); + + /*상담 등록*/ + LinkedHashMap purchsr = new LinkedHashMap(); + if(StringUtils.hasText(ordrMemoVO.getMbrInnb())){ + purchsr.put("mbrInnb", Integer.parseInt(ordrMemoVO.getMbrInnb())); + purchsr.put("mbrDvCd", ordrMemoVO.getMbrDvCd()); + } + purchsr.put("telnb",ordrMemoVO.getTelnb()); + LinkedHashMap enuri = new LinkedHashMap(); + enuri.put("managerMemo", ordrMemoVO.getMemoCn()); + orderService.insertCnsltMemo(ordrMemoVO.getSopmalCd(), ordrMemoVO.getOrdrInnb(),purchsr,enuri,user); + + message.put("form", ordrMemoVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOOrdrDtlMngrMemoRegist",ordrMemoVO), +// ReplyFromResrc::getReply +// ); } /** @@ -748,17 +1333,30 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateOrdrDtlMngrMemo") - public ResponseEntity updateOrdrDtlMngrMemo(@Validated OrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateOrdrDtlMngrMemo", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateOrdrDtlMngrMemo(@Validated BOOrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrMemoVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrDtlMngrMemo",ordrMemoVO), - ReplyFromResrc::getReply + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrMemoVO.setRegusr(user.getUserInnb()); + ordrMemoVO.setUpdusr(user.getUserInnb()); + + Map message = service.updateBOOrdrDtlMngrMemo(ordrMemoVO); + + message.put("form", ordrMemoVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOOrdrDtlMngrMemo",ordrMemoVO), +// ReplyFromResrc::getReply +// ); } /** @@ -768,17 +1366,30 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/deleteOrdrDtlMngrMemo") - public ResponseEntity deleteOrdrDtlMngrMemo(@Validated OrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/deleteOrdrDtlMngrMemo", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity deleteOrdrDtlMngrMemo(@Validated BOOrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrMemoVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBOOrdrDtlMngrMemo",ordrMemoVO), - ReplyFromResrc::getReply + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrMemoVO.setRegusr(user.getUserInnb()); + ordrMemoVO.setUpdusr(user.getUserInnb()); + + Map message = service.deleteBOOrdrDtlMngrMemo(ordrMemoVO); + + message.put("form", ordrMemoVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBOOrdrDtlMngrMemo",ordrMemoVO), +// ReplyFromResrc::getReply +// ); } /** @@ -788,30 +1399,29 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateLgistChargerMemoUpdt") - public ResponseEntity updateLgistChargerMemoUpdt(@Validated OrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateLgistChargerMemoUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateLgistChargerMemoUpdt(@Validated BOOrdrMemoVO ordrMemoVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrMemoVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOLgistChargerMemoUpdt",ordrMemoVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrMemoVO.setUpdusr(user.getUserInnb()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOLgistChargerMemoUpdt",ordrMemoVO), - ReplyFromResrc::getReply + Map message = service.updateBOLgistChargerMemo(ordrMemoVO); + + message.put("form", ordrMemoVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOLgistChargerMemoUpdt",ordrMemoVO), +// ReplyFromResrc::getReply +// ); } /** @@ -822,13 +1432,17 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectDelngDtstmnPopupForm") - public String selectDelngDtstmnPopupForm(ModelMap model, OrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectDelngDtstmnPopupForm(ModelMap model, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODelngDtstmnPopupForm", ordrVO), - model, - "data" - ); + + Map content = service.selectDelngDtstmn(ordrVO); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODelngDtstmnPopupForm", ordrVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/DelngDtstmnPopupR"; } @@ -860,13 +1474,25 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectDwldItmSetupFormList") - public String selectDwldItmSetup(ModelMap model, DwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectDwldItmSetup(ModelMap model, BODwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldItmSetupForm", dwldItmVO), - model, - "data" - ); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + dwldItmVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + List dwldItmSetupFormList = service.selectDwldItmSetupFormList(dwldItmVO); + + content.put("dwldItmSetupFormList", dwldItmSetupFormList); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldItmSetupForm", dwldItmVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/DwldItmSetupFormRList"; } @@ -879,13 +1505,33 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectDwldFormRegistForm") - public String selectDwldFormRegistForm(ModelMap model, DwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectDwldFormRegistForm(ModelMap model, BODwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldFormRegistForm", dwldItmVO), - model, - "data" - ); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + dwldItmVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + BOMaComncdVO maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("STDR_DV"); + + List cgo065List = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + + content.put("sopmalCd", dwldItmVO.getSopmalCd()); + content.put("allItems", dwldItmVO.getAllItems()); + content.put("selItems", null); + content.put("form", null); + content.put("cgo065List", cgo065List); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldFormRegistForm", dwldItmVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/DwldFormRegistFormC"; } @@ -898,13 +1544,34 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectDwldForm") - public String selectDwldForm(ModelMap model, DwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectDwldForm(ModelMap model, BODwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldForm", dwldItmVO), - model, - "data" - ); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + dwldItmVO.setSopmalCd(user.getSopmalCd()); + } + Map content = new HashMap<>(); + + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("STDR_DV"); + + List cgo065List = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + DataMap dwldForm = service.selectDwldForm(dwldItmVO); + + content.put("sopmalCd", dwldItmVO.getSopmalCd()); + content.put("allItems", dwldItmVO.getAllItems((String) dwldForm.get("formItmCn"))); + content.put("selItems", dwldItmVO.getSelItems((String) dwldForm.get("formItmCn"))); + content.put("form", dwldForm); + content.put("cgo065List", cgo065List); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBODwldForm", dwldItmVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/DwldFormRegistFormC"; } @@ -931,30 +1598,30 @@ public class OrdrmngrController { * */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/insertDwldFormRegist") - public ResponseEntity insertDwldFormRegist(@Validated DwldItmVO dwldItmVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/insertDwldFormRegist", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertDwldFormRegist(@Validated BODwldItmVO dwldItmVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBODwldFormRegist",dwldItmVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + dwldItmVO.setRegusr(user.getUserInnb()); + dwldItmVO.setUpdusr(user.getUserInnb()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBODwldFormRegist",dwldItmVO), - ReplyFromResrc::getReply + Map message = service.insertDwldFormRegist(dwldItmVO); + + message.put("form", dwldItmVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBODwldFormRegist",dwldItmVO), +// ReplyFromResrc::getReply +// ); } /** @@ -963,31 +1630,29 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateDwldFormUpdt") - public ResponseEntity updateDwldFormUpdt(@Validated DwldItmVO dwldItmVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/updateDwldFormUpdt", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateDwldFormUpdt(@Validated BODwldItmVO dwldItmVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); if (bindingResult.hasErrors()) { throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); } -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODwldFormUpdt",dwldItmVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + dwldItmVO.setUpdusr(user.getUserInnb()); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODwldFormUpdt",dwldItmVO), - ReplyFromResrc::getReply + Map message = service.updateDwldFormUpdt(dwldItmVO); + + message.put("form", dwldItmVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBODwldFormUpdt",dwldItmVO), +// ReplyFromResrc::getReply +// ); } @@ -997,27 +1662,21 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/deleteDwldItmDel") - public ResponseEntity updateImprtncOrdrAt(DwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/deleteDwldItmDel", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateImprtncOrdrAt(BODwldItmVO dwldItmVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { dwldItmVO.setSopmalCd(authSopmalCd); -// Mono monoResponse = sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBODwldItmDel",dwldItmVO); -// Map resultMap = responseHandler.handleResponseAsMap( -// monoResponse -// ); -// -// if ("1".equals(resultMap.get("status"))) { -// List> errorList = new ArrayList<>(){{ -// add(ValidateResultConverter.setErrorMap("error", (String) resultMap.get("message"))); -// }}; -// -// throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList)); -// } + Map message = service.deleteDwldItm(dwldItmVO); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBODwldItmDel",dwldItmVO), - ReplyFromResrc::getReply + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBODwldItmDel",dwldItmVO), +// ReplyFromResrc::getReply +// ); } /* #################################### 다운로드항목설정 종료 @@ -1033,13 +1692,50 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrdrDtlInqirePoputForm") - public String selectAllOrdrListPopupForm(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectAllOrdrListPopupForm(ModelMap model, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqirePoputForm", ordrSrchVO), - model, - "cond" - ); + + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + ordrSrchVO.setReprsntBrand(user.getSopmalCd()); // 브랜드 쇼핑몰 코드 + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + List storeList = service.selectBOStoreList(ordrSrchVO); + content.put("storeList", storeList); // 매장 + + BOMaComncdVO maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_STTUS"); + List cgo014List = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + content.put("cgo014List", cgo014List); // 주문상태 + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_ENVRN_DV"); // 주문환경 + List cgo012List = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + content.put("cgo012List", cgo012List); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("DLVY_MTH_CD"); // 배송방법 + List cgo134List = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + content.put("cgo134List", cgo134List); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("ORDR_TY_CD"); // 주문유형 + List cgo135List = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + content.put("cgo135List", cgo135List); + + maComncdVO = new BOMaComncdVO(); + maComncdVO.setGroupCd("RESVE_SNDNG_DV_CD"); // 희망배송일, 상품예약발송일 + List cgn051List = bOMaComncdService.selectBOCommcdDetailList(maComncdVO); + content.put("cgn051List", cgn051List); + + model.addAttribute("cond", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqirePoputForm", ordrSrchVO), +// model, +// "cond" +// ); return "mngr/ordr/ordrmngr/OrdrInqirePopupR"; } @@ -1052,14 +1748,38 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectOrdrDtlInqirePoputFormList") - public String selectOrdrDtlInqirePoputFormList(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectOrdrDtlInqirePoputFormList(ModelMap model, BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqirePoputFormList", ordrSrchVO), - model, - "data" - ); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(ordrSrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(paginationProperties.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + ordrSrchVO.setPaginationInfo(paginationInfo); + ordrSrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + ordrSrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + ordrSrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List allOrdrList = service.selectAllOrdrListInqireAjax(ordrSrchVO); + + content.put("allOrdrList", allOrdrList); + content.put("paramVO", ordrSrchVO); + content.put("paginationInfo", ordrSrchVO.getPaginationInfo()); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqirePoputFormList", ordrSrchVO), +// model, +// "data" +// ); return "mngr/ordr/ordrmngr/OrdrInqirePopupRList"; } @@ -1078,14 +1798,32 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectFdrmDlvyForm") - public String selectFdrmDlvyForm(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectFdrmDlvyForm(ModelMap model, OrdrSrchVO ordrSrchVO, BOOrdrShippingVO ordrShippingVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrSrchVO.setSopmalCd(authSopmalCd); + ordrShippingVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOFdrmDlvyForm", ordrSrchVO), - model, - "resultMap" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrShippingVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 배송주기 코드 + List dlvyCycleCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + content.put("paramVO", ordrShippingVO); + content.put("dlvyCycleCdList", dlvyCycleCdList); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOFdrmDlvyForm", ordrSrchVO), +// model, +// "resultMap" +// ); model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrSrchVO)); return "mngr/ordr/ordrmngr/FdrmDlvyRForm"; @@ -1100,14 +1838,40 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectFdrmDlvyInqire") - public String selectFdrmDlvyInqire(ModelMap model, OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { + public String selectFdrmDlvyInqire(ModelMap model, OrdrSrchVO ordrSrchVO, BOOrdrShippingVO ordrShippingVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws Exception { ordrSrchVO.setSopmalCd(authSopmalCd); + ordrShippingVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOFdrmDlvyInqire", ordrSrchVO), - model, - "resultMap" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrShippingVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(ordrShippingVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(ordrShippingVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + ordrShippingVO.setPaginationInfo(paginationInfo); + ordrShippingVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + ordrShippingVO.setLastIndex(paginationInfo.getLastRecordIndex()); + ordrShippingVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List allOrdrList = service.selectBOFdrmDlvyInqire(ordrShippingVO); + + content.put("allOrdrList", allOrdrList); + content.put("paramVO", ordrShippingVO); + content.put("paginationInfo", ordrShippingVO.getPaginationInfo()); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOFdrmDlvyInqire", ordrSrchVO), +// model, +// "resultMap" +// ); model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrSrchVO)); return "mngr/ordr/ordrmngr/FdrmDlvyR"; @@ -1119,34 +1883,114 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/selectFdrmDlvyAjax") - public ResponseEntity selectFdrmDlvyAjax(OrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + @RequestMapping(value="/selectFdrmDlvyAjax", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectFdrmDlvyAjax(BOOrdrSrchVO ordrSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrSrchVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectAllOrdrListInqireAjax", ordrSrchVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrSrchVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(ordrSrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(ordrSrchVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + ordrSrchVO.setPaginationInfo(paginationInfo); + ordrSrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + ordrSrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + ordrSrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + /*시크릿 키 set*/ + ordrSrchVO.setSecretKey(commonService.selectSecretkey()); + List allOrdrList = service.selectAllOrdrListInqireAjax(ordrSrchVO); + + content.put("allOrdrList", allOrdrList); + content.put("paramVO", ordrSrchVO); + content.put("paginationInfo", ordrSrchVO.getPaginationInfo()); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectAllOrdrListInqireAjax", ordrSrchVO), +// ReplyFromResrc::getReply +// ); } /** * 반품환불 신청 팝업 이동 - * @param refundVO + * @param ordrVO * @param model * @return */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectRtngudRegistPopupForm") - public String selectRtngudRegistPopupForm(OrdrRefundVO refundVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ - refundVO.setSopmalCd(authSopmalCd); + public String selectRtngudRegistPopupForm(BOOrdrVO ordrVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ + ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOSetleCanclRefndRegist", refundVO), - model, - "data" - ); - model.addAttribute("ordrInnb", refundVO.getOrdrInnb()); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + ordrVO.setSysDvCd("S"); // 쇼핑몰 + } else { + ordrVO.setSysDvCd("A"); // 관리자 + } + + Map content = service.selectBOSetleCanclRefndRegist(ordrVO); + content.put("mbrInnb", user.getUserInnb()); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("KCP_BANK_CD"); // KCP은행코드 + List kcpBankCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + bOMaComncdVO.setGroupCd("TOSS_BANK_CD"); // TOSS은행코드 + List toosBankCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + DataMap order = (DataMap) content.get("order"); // TODO : ( 2024-08-22 ) 통장 코드 환불 선택해서 입력 Npay , 에스크로, 페이코 고려되어있지않음 확인시 수정 필요 + log.debug("order : {} ", order); + if (order != null && ("gcpay".equals(order.get("pgCmpnyNm")) || "toss".equals(order.get("pgCmpnyNm")) || "tosspay".equals(order.get("pgCmpnyNm")))) { + content.put("bankCdList", toosBankCdList); + } else if (order != null && ("kcp".equals(order.get("pgCmpnyNm")))) { + content.put("bankCdList", kcpBankCdList); + } else { + content.put("bankCdList", toosBankCdList); + } + + + // 무통장 계좌 정보 + BOSetupNbkkVO boShopSetupVO = new BOSetupNbkkVO(); + boShopSetupVO.setSopmalCd(ordrVO.getSopmalCd()); + boShopSetupVO.setUseAt("Y"); + Map setupJson = nbkkService.selectBOSopmalSetupList(boShopSetupVO); + List sopmalSetupVO = (List) setupJson.get("refundAcntSetup"); + log.debug("반품 배송비 계좌 json : {}", sopmalSetupVO); + + content.put("bankAccount", sopmalSetupVO); + + DataMap returnDataMap = new DataMap(); + returnDataMap = dlvyGroupService.selectBOReturnAddressInqire(ordrVO); + + String returnAddress = ""; + returnAddress = returnDataMap.get("rtnlcAdres") + " " + returnDataMap.get("rtnlcDtlAdres"); + content.put("returnAddress", returnAddress); + log.debug("반송지 : {}", content.get("returnAddress")); + + model.addAttribute("data", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOSetleCanclRefndRegist", refundVO), +// model, +// "data" +// ); + model.addAttribute("ordrInnb", ordrVO.getOrdrInnb()); return "mngr/ordr/ordrmngr/RtngudRegistPopupC"; } @@ -1158,14 +2002,32 @@ public class OrdrmngrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectFdrmDlvyCycleChngForm") - public String selectFdrmDlvyCycleChngForm(OrdrShippingVO ordrShippingVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + public String selectFdrmDlvyCycleChngForm(BOOrdrShippingVO ordrShippingVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ordrShippingVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOFdrmDlvyCycleChngForm", ordrShippingVO), - model, - "resultMap" - ); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrShippingVO.setSopmalCd(user.getSopmalCd()); + } + + Map content = new HashMap<>(); + + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("DLVY_CYCLE"); // 배송주기 코드 + List dlvyCycleCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + log.debug("DLVY_CYCLE : {}", dlvyCycleCdList); + content.put("paramVO", ordrShippingVO); + content.put("dlvyCycleCdList", dlvyCycleCdList); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOFdrmDlvyCycleChngForm", ordrShippingVO), +// model, +// "resultMap" +// ); return "mngr/ordr/ordrmngr/FdrmDlvyCycleChngU "; } @@ -1176,14 +2038,30 @@ public class OrdrmngrController { * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value="/updateFdrmDlvyCycleChng ") - public ResponseEntity updateFdrmDlvyCycleChng (OrdrShippingVO ordrShippingVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ + @RequestMapping(value="/updateFdrmDlvyCycleChng", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateFdrmDlvyCycleChng (BOOrdrShippingVO ordrShippingVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ ordrShippingVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOFdrmDlvyCycleChng", ordrShippingVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if ("01".equals(user.getSysDvCd())) { + ordrShippingVO.setSopmalCd(user.getSopmalCd()); + } + ordrShippingVO.setUpdusr(user.getUserInnb()); // 수정자 + + Map content = new HashMap<>(); + + service.updateBOFdrmDlvyCycleChng(ordrShippingVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(content)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOFdrmDlvyCycleChng", ordrShippingVO), +// ReplyFromResrc::getReply +// ); } } diff --git a/src/main/java/com/wb/domainserver/domain/mngr/ordr/refnd/controller/RefndController.java b/src/main/java/com/wb/domainserver/domain/mngr/ordr/refnd/controller/RefndController.java index e96b5572..8989d3f6 100644 --- a/src/main/java/com/wb/domainserver/domain/mngr/ordr/refnd/controller/RefndController.java +++ b/src/main/java/com/wb/domainserver/domain/mngr/ordr/refnd/controller/RefndController.java @@ -2,19 +2,38 @@ package com.wb.domainserver.domain.mngr.ordr.refnd.controller; import com.fasterxml.jackson.core.JsonProcessingException; import com.wb.domainserver.common.msg.GconeMessageSource; +import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo; +import com.wb.domainserver.common.prop.PaginationProperties; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO; +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.ordr.pay.vo.BOPayVO; +import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.service.BORtngudrefndService; +import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BOOrderReItemVO; +import com.wb.domainserver.domain.gcone.ordr.rtngudrefnd.vo.BORtngudrefndVO; +import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService; +import com.wb.domainserver.domain.gcone.setup.nbkk.vo.BOSetupNbkkVO; import com.wb.domainserver.domain.mngr.ordr.refnd.vo.OrderReItemVO; import com.wb.domainserver.domain.mngr.ordr.refnd.vo.RefndVO; import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.exception.code.ErrorCode; import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; 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.RESRC; import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.ValidateResultConverter; +import com.wb.domainserver.util.dataaccess.DataMap; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -26,6 +45,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -58,9 +78,30 @@ public class RefndController { @Autowired private SendToResrc sendToResrc; /** 공통 메시지 처리를 위한 메시지 객체 */ + + @Autowired + private BORtngudrefndService service; + @Autowired private GconeMessageSource gconeMessageSource; + @Autowired + private BOMaComncdService bOMaComncdService; + + @Autowired + private PaginationProperties paginationProperties; + + @Autowired + private BOCommonService commonService; + + @Autowired + private BONbkkService nbkkService; + + @Autowired + private BOOrdrService boOrdrService; + + @Autowired + private BOOrdrService ordrService; /** * 반품환불 목록 조회 폼 @@ -69,15 +110,42 @@ public class RefndController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectRtngudRefndListInqireForm") - public String selectRtngudRefndListInqireForm(ModelMap model, RefndVO refndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - refndSrchVO.setSopmalCd(authSopmalCd); + public String selectRtngudRefndListInqireForm(ModelMap model, BORtngudrefndVO boRtngudrefndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boRtngudrefndVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndListInqireForm", refndSrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", refndSrchVO); + log.debug("selectBORtngudRefndListInqireForm = {}", boRtngudrefndVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드 + } + + Map content = new HashMap<>(); + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + //환불 처리 상태 공통 코드 + bOMaComncdVO.setGroupCd("REFUND_PROCS_STTUS"); + List refndProcsSttus = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("refndProcsSttus", refndProcsSttus); + //반품 처리 상태 공통 코드 + bOMaComncdVO.setGroupCd("RETURN_PROCS_STTUS"); + List rtngudProcsSttus = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("rtngudProcsSttus", rtngudProcsSttus); + // 반품 방법 코드 + bOMaComncdVO.setGroupCd("RETURN_MTH"); + List returnMtcCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + content.put("returnMtcCdList", returnMtcCdList); + + // Map객체에 필요 정보 할당 + content.put("paramVO", boRtngudrefndVO); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndListInqireForm", refndSrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boRtngudrefndVO); return "mngr/ordr/refnd/RtngudRefndListInqireRForm"; } @@ -89,15 +157,45 @@ public class RefndController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectRtngudRefndListInqire") - public String selectRtngudRefndListInqire(ModelMap model,RefndVO refndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - refndSrchVO.setSopmalCd(authSopmalCd); + public String selectRtngudRefndListInqire(ModelMap model,BORtngudrefndVO boRtngudrefndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boRtngudrefndSrchVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndListInqire", refndSrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", refndSrchVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boRtngudrefndSrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드 + } + + // 페이징 객체 생성 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(boRtngudrefndSrchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boRtngudrefndSrchVO.getPageUnit()); + paginationInfo.setPageSize(paginationProperties.getPageSize()); + + // 페이징정보 할당 + boRtngudrefndSrchVO.setPaginationInfo(paginationInfo); + boRtngudrefndSrchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boRtngudrefndSrchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boRtngudrefndSrchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + // 목록 조회 + boRtngudrefndSrchVO.setSecretKey(commonService.selectSecretkey()); + List resultList = null; + resultList = service.selectBORtngudRefndListInqire(boRtngudrefndSrchVO); + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + content.put("paramVO", boRtngudrefndSrchVO); + content.put("resultList", resultList); + content.put("paginationInfo", boRtngudrefndSrchVO.getPaginationInfo()); + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndListInqire", refndSrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boRtngudrefndSrchVO); return "mngr/ordr/refnd/RtngudRefndListInqireR"; } @@ -110,74 +208,181 @@ public class RefndController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value = "/selectRtngudRefndDtlInqire") - public String selectRtngudRefndDtlInqire(ModelMap model,RefndVO refndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws JsonProcessingException { - refndSrchVO.setSopmalCd(authSopmalCd); + public String selectRtngudRefndDtlInqire(ModelMap model, BORtngudrefndVO boRtngudrefndVO, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws JsonProcessingException { + boRtngudrefndVO.setSopmalCd(authSopmalCd); + ordrVO.setSopmalCd(authSopmalCd); - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndDtlInqire", refndSrchVO), - model, - "resultMap" - ); - model.addAttribute("paramVO", refndSrchVO); + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드 + } - responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", refndSrchVO), - model, - "data" - ); + // 공통코드 호출 + BOMaComncdVO bOMaComncdVO = new BOMaComncdVO(); + bOMaComncdVO.setGroupCd("RETURN_DLVY_PYMNT_TY"); // 반품배송비 지불 타입 코드 + List returnDlvyPymntTyCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("RETURN_RESN_DTL"); // 반품상세사유 + List returnResnDtlCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("RETURN_DLVY_RSPNSBL"); // 반품배송비 지불 책임 코드 + List returnDlvyRspnsbl = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("SETLE_MTH"); // 환불방법 + List refundMth = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("RETURN_PROCS_STTUS"); // 반품 처리상태 코드 + List returnProcsSttusCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("REFUND_PROCS_STTUS"); // 환불 처리상태 코드 + List refundProcsSttusCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + bOMaComncdVO.setGroupCd("RETURN_MTH"); // 반품 방법 코드 : 회수 방법 + List returnMthCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + bOMaComncdVO.setGroupCd("TOSS_BANK_CD"); // TOSS은행코드 + List kcpBankCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + bOMaComncdVO.setGroupCd("TOSS_BANK_CD"); // TOSS은행코드 + List toosBankCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO); + + // 무통장 계좌 정보 + BOSetupNbkkVO boShopSetupVO = new BOSetupNbkkVO(); + boShopSetupVO.setSopmalCd(boRtngudrefndVO.getSopmalCd()); + boShopSetupVO.setUseAt("Y"); + Map setupJson = nbkkService.selectBOSopmalSetupList(boShopSetupVO); + List sopmalSetupVO = (List) setupJson.get("refundAcntSetup"); + log.debug("반품 배송비 계좌 json : {}", sopmalSetupVO); + + + // Map객체에 필요 정보 할당 + Map content = new HashMap<>(); + + content.put("result", service.selectBORtngudRefndDtlInqire(boRtngudrefndVO)); + content.put("paramVO", boRtngudrefndVO); + content.put("returnDlvyPymntTyCdList", returnDlvyPymntTyCdList); + content.put("returnResnList", returnResnDtlCdList); + content.put("returnDlvyRspnsbl", returnDlvyRspnsbl); + content.put("refundMth", refundMth); + content.put("returnProcsSttusCdList", returnProcsSttusCdList); + content.put("refundProcsSttusCdList", refundProcsSttusCdList); + content.put("returnMthCdList", returnMthCdList); + + content.put("bankAccount", sopmalSetupVO); + + Map resultData = (Map) content.get("result"); // TODO : ( 2024-08-22 ) 통장 코드 환불 선택해서 입력 Npay , 에스크로, 페이코 고려되어있지않음 확인시 수정 필요 + DataMap order = new DataMap(); + order = (DataMap) resultData.get("refnd"); + log.debug("order : {} ", order); + if ( order != null && ( "gcpay".equals(order.get("pgCmpnyNm")) || "toss".equals(order.get("pgCmpnyNm")) || "tosspay".equals(order.get("pgCmpnyNm")) ) ) { + content.put("bankCdList", toosBankCdList); + } else if ( order != null && ( "kcp".equals(order.get("pgCmpnyNm")) ) ) { + content.put("bankCdList", kcpBankCdList); + } else { + content.put("bankCdList", toosBankCdList); + } + + model.addAttribute("resultMap", content); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndDtlInqire", refndSrchVO), +// model, +// "resultMap" +// ); + model.addAttribute("paramVO", boRtngudrefndVO); + + + if ("01".equals(user.getSysDvCd())) { + ordrVO.setSopmalCd(user.getSopmalCd()); + } + + Map content2 = boOrdrService.selectOrdrDtlInqire(ordrVO); + + model.addAttribute("data", content2); +// responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", refndSrchVO), +// model, +// "data" +// ); // model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(refndSrchVO)); - model.addAttribute("paginationInfo", refndSrchVO.getPaginationInfo()); + model.addAttribute("paginationInfo", boRtngudrefndVO.getPaginationInfo()); return "mngr/ordr/refnd/RtngudRefndDtlInqireR"; } - /** * 반품 철회 - * @param RefndVO + * @param boRtngudrefndVO * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/updateRtngudWthdrawSttusUpdt", method = RequestMethod.POST) - public ResponseEntity updateRtngudWthdrawSttusUpdt(RefndVO refndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - refndVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/updateRtngudWthdrawSttusUpdt", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateRtngudWthdrawSttusUpdt(BORtngudrefndVO boRtngudrefndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boRtngudrefndVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBORtngudWthdrawSttusUpdt", refndVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드 + } + boRtngudrefndVO.setUpdusr(user.getUserInnb()); // 수정자 + boRtngudrefndVO.setMbrNm(user.getMbrId()); // 처리자 명 + + //반품 철회 처리 로직 + Map message = new HashMap<>(); + message = service.updateBORtngudWthdrawSttusUpdt(boRtngudrefndVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBORtngudWthdrawSttusUpdt", refndVO), +// ReplyFromResrc::getReply +// ); } /** * 반품환불 관리자 메모 수정 - * @param RefndVO + * @param boRtngudrefndVO * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/insertRtngudRefndMngrMemoRegist", method = RequestMethod.POST) - public ResponseEntity insertRtngudRefndMngrMemoRegist(RefndVO refndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - refndVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/insertRtngudRefndMngrMemoRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertRtngudRefndMngrMemoRegist(BORtngudrefndVO boRtngudrefndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boRtngudrefndVO.setSopmalCd(authSopmalCd); - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBORtngudRefndMngrMemoRegist", refndVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드 + } + boRtngudrefndVO.setUpdusr(user.getUserInnb()); // 수정자 + + //반품 환불 관리자 메모 등록 및 수정 로직 + Map message = new HashMap<>(); + message = service.updateBORtngudRefndMngrMemoRegist(boRtngudrefndVO); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBORtngudRefndMngrMemoRegist", refndVO), +// ReplyFromResrc::getReply +// ); } /** * 반품환불 처리 - * @param RefndVO + * @param boRtngudrefndVO * @return ResponseEntity */ @Policy(AuthPolicy.RESTRICTED) - @RequestMapping(value = "/insertRtngudRefndSttusRegist", method = RequestMethod.POST) - public ResponseEntity insertRtngudRefndSttusRegist(@Validated RefndVO refndVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { - refndVO.setSopmalCd(authSopmalCd); + @RequestMapping(value = "/insertRtngudRefndSttusRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity insertRtngudRefndSttusRegist(@Validated BORtngudrefndVO boRtngudrefndVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + boRtngudrefndVO.setSopmalCd(authSopmalCd); // 정합성 검사 if (bindingResult.hasErrors()) { @@ -185,19 +390,19 @@ public class RefndController { } else { List> errorList = new ArrayList<>(); - List refundItemList = refndVO.getOrderReItemVOList(); + List refundItemList = boRtngudrefndVO.getOrderReItemVOList(); - if ( !StringUtils.isEmpty(refndVO.getMlgRecovryDv()) && "mlg01".equals(refndVO.getMlgRecovryDv()) ) { - refndVO.setMlgRecovryDv("01"); - if ( StringUtils.isEmpty(refndVO.getMlgRecovryDvDt()) ) { + if ( !StringUtils.isEmpty(boRtngudrefndVO.getMlgRecovryDv()) && "mlg01".equals(boRtngudrefndVO.getMlgRecovryDv()) ) { + boRtngudrefndVO.setMlgRecovryDv("01"); + if ( StringUtils.isEmpty(boRtngudrefndVO.getMlgRecovryDvDt()) ) { errorList.add(ValidateResultConverter.setErrorMap("mlgRecovryDvDt", gconeMessageSource.getMessage("errors.required", new Object[]{"마일리지 복원 유효기간"}))); } } - for (OrderReItemVO orderReItemVO : refundItemList) { + for (BOOrderReItemVO orderReItemVO : refundItemList) { if ( !StringUtils.isEmpty(orderReItemVO.getCouponRecovryDv()) && "coupon01".equals(orderReItemVO.getCouponRecovryDv()) ) { orderReItemVO.setCouponRecovryDv("01"); @@ -216,14 +421,52 @@ public class RefndController { } } - if (refndVO.getProsbleCancelAmt() != null) { - refndVO.setProsbleCancelAmt(refndVO.getProsbleCancelAmt().replace(",", "")); + if (boRtngudrefndVO.getProsbleCancelAmt() != null) { + boRtngudrefndVO.setProsbleCancelAmt(boRtngudrefndVO.getProsbleCancelAmt().replace(",", "")); } - return responseHandler.handleResponse( - sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBOOrderReUpdt", refndVO), - ReplyFromResrc::getReply + // 작성자 정보 할당 + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + if("01".equals(user.getSysDvCd())){ + boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드 + } + boRtngudrefndVO.setRegusr(user.getUserInnb()); // 등록자 + boRtngudrefndVO.setUpdusr(user.getUserInnb()); // 수정자 + boRtngudrefndVO.setMbrDvCd(user.getMbrDvCd()); // 회원 구문 코드 + boRtngudrefndVO.setMbrNm(user.getMbrNm()); // 회원 명 + log.debug("넘겨받은 파라미터 확인 : {}", boRtngudrefndVO); + // 반품 환불 수정 + Map message = new HashMap<>(); + + message = service.updateBOOrderReUpdt(boRtngudrefndVO); + log.debug("환불 저장 컨트롤러 message : {}", message); + // 10. 회원 사이트정보 갱신 ============================================================== + try { + BOPayVO payVO = new BOPayVO(); + if ("01".equals(user.getSysDvCd())) { + payVO.setSopmalCd(user.getSopmalCd()); + payVO.setMbrInnb(String.valueOf(user.getUserInnb())); + payVO.setMbrDvCd(user.getMbrDvCd()); + }else{ + payVO.setSopmalCd(String.valueOf(boRtngudrefndVO.getSopmalCd())); + payVO.setMbrInnb(String.valueOf(boRtngudrefndVO.getSiteMbrInnb())); + payVO.setMbrDvCd(String.valueOf(boRtngudrefndVO.getSiteMbrDvCd())); + } + ordrService.updateMbrSiteUpdtOrdrRefund(payVO); + } catch (Exception e) { + log.error("회원 사이트정보 갱신 실패!"); + throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR); + } + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() ); +// return responseHandler.handleResponse( +// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBOOrderReUpdt", refndVO), +// ReplyFromResrc::getReply +// ); }