fo bo 머지작업(mngr)

This commit is contained in:
jazz
2025-11-13 17:29:22 +09:00
parent 5b2f542b68
commit 38b9a7e122
6 changed files with 2808 additions and 723 deletions

View File

@@ -1,6 +1,7 @@
package com.wb.domainserver.domain.gcone.ordr.ordr.vo; package com.wb.domainserver.domain.gcone.ordr.ordr.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -34,6 +35,7 @@ public class BOOrdrMemoVO extends AbstractVO {
/** /**
* 메모내용 * 메모내용
*/ */
@NotBlank(message = "내용")
private String memoCn; private String memoCn;
/*전화번호*/ /*전화번호*/
private String telnb; private String telnb;

View File

@@ -1,16 +1,28 @@
package com.wb.domainserver.domain.mngr.ordr.atmcrmy.controller; 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.AtmcRcpmnyCnfirmMemoVO;
import com.wb.domainserver.domain.mngr.ordr.atmcrmy.vo.AtmcRcpmnyCnfirmVO; import com.wb.domainserver.domain.mngr.ordr.atmcrmy.vo.AtmcRcpmnyCnfirmVO;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller @Controller
@RequestMapping("/mngr/ordr/atmcrmy") @RequestMapping("/mngr/ordr/atmcrmy")
@Slf4j @Slf4j
@@ -29,6 +46,14 @@ public class AtmcrmyController {
@Autowired @Autowired
private WnbtWebClientResponseHandler responseHandler;; 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) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAtmcRcpmnyDtlsListInqireForm") @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); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsListInqireForm", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
);
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 무통장 계좌번호를 가져오기 위한 파라미터용 객체
BOSetupNbkkVO boSetupNbkkVO = new BOSetupNbkkVO();
boSetupNbkkVO.setUseAt("Y");
boSetupNbkkVO.setSopmalCd(vo.getSopmalCd());
// 무통장계좌 쇼핑몰코드 가져오는 메소드
Map<String, Object> sopmalSetupListVO = boNbkkService.selectBOSopmalSetupList(boSetupNbkkVO);
List<Object> sopmalSetupVO = (List<Object>) sopmalSetupListVO.get("acntSetup");
// 계좌번호 쇼핑몰코드 담은 객체
List<String> accountVO = new ArrayList<>();
for(int i = 0; i < sopmalSetupVO.size(); i++) {
Map<String, Object> tempVO = (Map<String, Object>) 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"; return "mngr/ordr/atmcrmy/AtmcRcpmnyListInqireRForm";
} }
@@ -60,15 +124,42 @@ public class AtmcrmyController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAtmcRcpmnyDtlsListInqire") @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); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsListInqire", vo),
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
Map<String, Object> 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<DataMap> 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"; return "mngr/ordr/atmcrmy/AtmcRcpmnyListInqireR";
} }
@@ -95,15 +186,33 @@ public class AtmcrmyController {
* @return ResponseEntity * @return ResponseEntity
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/insertRcpmnyDtlsMngrMemoRegist") @RequestMapping(value = "/insertRcpmnyDtlsMngrMemoRegist", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertRcpmnyDtlsMngrMemoRegist(AtmcRcpmnyCnfirmMemoVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> insertRcpmnyDtlsMngrMemoRegist(BOAtmcRcpmnyCnfirmMemoVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/insertBORcpmnyDtlsMngrMemoRegist", vo),
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
); vo.setSopmalCd(user.getSopmalCd());
}
// 자동입금확인 메모 팝업 글쓰기
Map<String, Object> message = service.insertBORcpmnyDtlsMngrMemoRegist(vo);
Map<String, Object> 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) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAtmcRcpmnyDtlsOrdrInqirePopupForm", method = RequestMethod.GET) @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); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( Map<String, Object> content = new HashMap<>();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyDtlsOrdrInqirePopupForm", vo),
model, AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
"resultMap" // 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"; return "mngr/ordr/atmcrmy/AtmcRcpmnyDtlsOrdrInqirePopupRForm";
} }
@@ -135,15 +257,43 @@ public class AtmcrmyController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAtmcRcpmnyOrdrInqire", method = RequestMethod.POST) @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); vo.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
// log.debug("SopmalCd : "+user.getSopmalCd());
// vo.setSopmalCd(user.getSopmalCd());
responseHandler.handleResponse( if("01".equals(user.getSysDvCd())){
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/selectBOAtmcRcpmnyOrdrInqire", vo), vo.setSopmalCd(user.getSopmalCd());
model, }
"resultMap"
); // 페이징 객체 생성 & 페이징정보 할당
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<String, Object> content = new HashMap<>();
// 주문조회 팝업 주문조회
List<DataMap> 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"; return "mngr/ordr/atmcrmy/AtmcRcpmnyDtlsOrdrInqirePopupR";
} }
@@ -154,15 +304,31 @@ public class AtmcrmyController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/updateRcpmnyCnfirmMtchg", method = RequestMethod.POST) @RequestMapping(value = "/updateRcpmnyCnfirmMtchg", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateRcpmnyCnfirmMtchg(AtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateRcpmnyCnfirmMtchg(BOAtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
return responseHandler.handleResponse( vo.setMbrNm(user.getMbrNm());
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/updateBORcpmnyCnfirmMtchg", vo), vo.setMbrDvCd(user.getMbrDvCd());;
ReplyFromResrc::getReply // vo.setSopmalCd(user.getSopmalCd());
);
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> 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 * @return ResponseEntity
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/updateRcpmnyCnfirmExecut", method = RequestMethod.POST) @RequestMapping(value = "/updateRcpmnyCnfirmExecut", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateRcpmnyCnfirmExecut(AtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateRcpmnyCnfirmExecut(BOAtmcRcpmnyCnfirmVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/atmcrcpmny/updateBORcpmnyCnfirmExecut", 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<String, Object> insertMessage = service.insertBORcpmnyDtlsColct();
Map<String, Object> 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
// );
} }

View File

@@ -1,17 +1,29 @@
package com.wb.domainserver.domain.mngr.ordr.indvdlSetle.controller; package com.wb.domainserver.domain.mngr.ordr.indvdlSetle.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; 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.IndvdlSetleSrchVO;
import com.wb.domainserver.domain.mngr.ordr.indvdlSetle.vo.IndvdlSetleVO; 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.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; 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.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -21,6 +33,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map;
/* /*
* 통합관리자 > 개인결제 FO Controller * 통합관리자 > 개인결제 FO Controller
@@ -56,6 +70,19 @@ public class IndvdlSetleController {
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private BOOrdrService service;
@Autowired
private BOCommonService commonService;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/** /**
* 관리자 > 주문 > 개인결제관리 > 개인 결제 목록 화면 이동 * 관리자 > 주문 > 개인결제관리 > 개인 결제 목록 화면 이동
* @return IndvdlSetleListInqireRForm.jsp * @return IndvdlSetleListInqireRForm.jsp
@@ -76,14 +103,37 @@ public class IndvdlSetleController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectIndvdlSetleListInqire") @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); indvdlSetleSrchVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleListInqire", indvdlSetleSrchVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if ("01".equals(user.getSysDvCd())) {
"data" 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<DataMap> resultList = service.selectIndvdlSetleListInqire(indvdlSetleSrchVO);
Map<String, Object> 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"; return "mngr/ordr/indvdlSetle/IndvdlSetleListInqireR";
} }
@@ -95,14 +145,22 @@ public class IndvdlSetleController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectIndvdlSetleDtlInqire") @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); indvdlSetleVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleDtlInqire", indvdlSetleVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if ("01".equals(user.getSysDvCd())) {
"data" indvdlSetleVO.setSopmalCd(user.getSopmalCd());
); }
Map<String, Object> 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"; return "mngr/ordr/indvdlSetle/IndvdlSetleDtlInqirePopupR";
} }
@@ -115,13 +173,22 @@ public class IndvdlSetleController {
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectIndvdlSetleRegistForm") @RequestMapping(value = "/selectIndvdlSetleRegistForm")
public String selectIndvdlSetleRegistForm(ModelMap model, IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectIndvdlSetleRegistForm(ModelMap model, IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
indvdlSetleVO.setSopmalCd(authSopmalCd); indvdlSetleVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOIndvdlSetleRegistForm", indvdlSetleVO), BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
model, bOMaComncdVO.setGroupCd("INDVDL_SETLE_MTH");
"data"
); 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); model.addAttribute("paramVO", indvdlSetleVO);
return "mngr/ordr/indvdlSetle/IndvdlSetleRegistFormC"; return "mngr/ordr/indvdlSetle/IndvdlSetleRegistFormC";
@@ -133,17 +200,45 @@ public class IndvdlSetleController {
* @return ResponseEntity<WnbtResponse> * @return ResponseEntity<WnbtResponse>
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/insertIndvdlSetleRegist", method = RequestMethod.POST) @RequestMapping(value = "/insertIndvdlSetleRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertIndvdlSetleRegist(@RequestBody HashMap<String, Object> param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> insertIndvdlSetleRegist(@RequestBody DataMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
param.put("sopmalCd", authSopmalCd); param.put("sopmalCd", authSopmalCd);
//결제플랫폼 구분코드 //결제플랫폼 구분코드
param.put("deviceType", "P"); param.put("deviceType", "P");
log.debug("param.get(deviceType) {}", param.get("deviceType")); log.debug("param.get(deviceType) {}", param.get("deviceType"));
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOIndvdlSetleRegist", param), Map<String, Object> content = null;
ReplyFromResrc::getReply
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) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectIndvdlSetleUpdateForm") @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); indvdlSetleVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOIndvdlSetleUpdateForm", indvdlSetleVO), BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
model, bOMaComncdVO.setGroupCd("INDVDL_SETLE_MTH");
"data"
); AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if ("01".equals(user.getSysDvCd())) {
indvdlSetleVO.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> 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"; return "mngr/ordr/indvdlSetle/IndvdlSetleUpdateFormU";
} }
@@ -171,14 +278,43 @@ public class IndvdlSetleController {
* @return ResponseEntity<WnbtResponse> * @return ResponseEntity<WnbtResponse>
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateIndvdlSetleUpdt") @RequestMapping(value="/updateIndvdlSetleUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateIndvdlSetleUpdt(@RequestBody HashMap<String, Object> param, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateIndvdlSetleUpdt(@RequestBody DataMap param, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
param.put("sopmalCd", authSopmalCd); param.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/updateBOIndvdlSetleUpdt",param), Map<String, Object> content = new HashMap<>() {{
ReplyFromResrc::getReply 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<WnbtResponse> * @return ResponseEntity<WnbtResponse>
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/deleteIndvdlSetle") @RequestMapping(value="/deleteIndvdlSetle", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateImprtncOrdrAt(IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateImprtncOrdrAt(BOIndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
indvdlSetleVO.setSopmalCd(authSopmalCd); indvdlSetleVO.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/deleteBOIndvdlSetle",indvdlSetleVO), Map<String, Object> content = new HashMap<>() {{
ReplyFromResrc::getReply 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<WnbtResponse> * @return ResponseEntity<WnbtResponse>
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/insertSetleLinkMsg") @RequestMapping(value="/insertSetleLinkMsg", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertSetleLinkMsg(IndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> insertSetleLinkMsg(BOIndvdlSetleVO indvdlSetleVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
indvdlSetleVO.setSopmalCd(authSopmalCd); indvdlSetleVO.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOSetleLinkMsg",indvdlSetleVO), Map<String, Object> content = new HashMap<>() {{
ReplyFromResrc::getReply 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
// );
} }
} }

View File

@@ -2,19 +2,38 @@ package com.wb.domainserver.domain.mngr.ordr.refnd.controller;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.wb.domainserver.common.msg.GconeMessageSource; 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.OrderReItemVO;
import com.wb.domainserver.domain.mngr.ordr.refnd.vo.RefndVO; import com.wb.domainserver.domain.mngr.ordr.refnd.vo.RefndVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.exception.code.ErrorCode;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter; import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.dataaccess.DataMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -26,6 +45,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -58,9 +78,30 @@ public class RefndController {
@Autowired @Autowired
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
/** 공통 메시지 처리를 위한 메시지 객체 */ /** 공통 메시지 처리를 위한 메시지 객체 */
@Autowired
private BORtngudrefndService service;
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; 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) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectRtngudRefndListInqireForm") @RequestMapping(value = "/selectRtngudRefndListInqireForm")
public String selectRtngudRefndListInqireForm(ModelMap model, RefndVO refndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectRtngudRefndListInqireForm(ModelMap model, BORtngudrefndVO boRtngudrefndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
refndSrchVO.setSopmalCd(authSopmalCd); boRtngudrefndVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( log.debug("selectBORtngudRefndListInqireForm = {}", boRtngudrefndVO);
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndListInqireForm", refndSrchVO), // 작성자 정보 할당
model, AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
"resultMap" if("01".equals(user.getSysDvCd())){
); boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드
model.addAttribute("paramVO", refndSrchVO); }
Map<String, Object> 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"; return "mngr/ordr/refnd/RtngudRefndListInqireRForm";
} }
@@ -89,15 +157,45 @@ public class RefndController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectRtngudRefndListInqire") @RequestMapping(value = "/selectRtngudRefndListInqire")
public String selectRtngudRefndListInqire(ModelMap model,RefndVO refndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectRtngudRefndListInqire(ModelMap model,BORtngudrefndVO boRtngudrefndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
refndSrchVO.setSopmalCd(authSopmalCd); boRtngudrefndSrchVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndListInqire", refndSrchVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" boRtngudrefndSrchVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드
); }
model.addAttribute("paramVO", refndSrchVO);
// 페이징 객체 생성
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<DataMap> resultList = null;
resultList = service.selectBORtngudRefndListInqire(boRtngudrefndSrchVO);
// Map객체에 필요 정보 할당
Map<String, Object> 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"; return "mngr/ordr/refnd/RtngudRefndListInqireR";
} }
@@ -110,74 +208,181 @@ public class RefndController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectRtngudRefndDtlInqire") @RequestMapping(value = "/selectRtngudRefndDtlInqire")
public String selectRtngudRefndDtlInqire(ModelMap model,RefndVO refndSrchVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws JsonProcessingException { public String selectRtngudRefndDtlInqire(ModelMap model, BORtngudrefndVO boRtngudrefndVO, BOOrdrVO ordrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) throws JsonProcessingException {
refndSrchVO.setSopmalCd(authSopmalCd); boRtngudrefndVO.setSopmalCd(authSopmalCd);
ordrVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/selectBORtngudRefndDtlInqire", refndSrchVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드
); }
model.addAttribute("paramVO", refndSrchVO);
responseHandler.handleResponse( // 공통코드 호출
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/selectBOOrdrDtlInqire", refndSrchVO), BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
model, bOMaComncdVO.setGroupCd("RETURN_DLVY_PYMNT_TY"); // 반품배송비 지불 타입 코드
"data" 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<String, Object> setupJson = nbkkService.selectBOSopmalSetupList(boShopSetupVO);
List<Object> sopmalSetupVO = (List<Object>) setupJson.get("refundAcntSetup");
log.debug("반품 배송비 계좌 json : {}", sopmalSetupVO);
// Map객체에 필요 정보 할당
Map<String, Object> 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<String, Object> resultData = (Map<String, Object>) 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<String, Object> 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("paramVO", new ObjectMapper().writeValueAsString(refndSrchVO));
model.addAttribute("paginationInfo", refndSrchVO.getPaginationInfo()); model.addAttribute("paginationInfo", boRtngudrefndVO.getPaginationInfo());
return "mngr/ordr/refnd/RtngudRefndDtlInqireR"; return "mngr/ordr/refnd/RtngudRefndDtlInqireR";
} }
/** /**
* 반품 철회 * 반품 철회
* @param RefndVO * @param boRtngudrefndVO
* @return ResponseEntity * @return ResponseEntity
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/updateRtngudWthdrawSttusUpdt", method = RequestMethod.POST) @RequestMapping(value = "/updateRtngudWthdrawSttusUpdt", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateRtngudWthdrawSttusUpdt(RefndVO refndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateRtngudWthdrawSttusUpdt(BORtngudrefndVO boRtngudrefndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
refndVO.setSopmalCd(authSopmalCd); boRtngudrefndVO.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBORtngudWthdrawSttusUpdt", refndVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드
}
boRtngudrefndVO.setUpdusr(user.getUserInnb()); // 수정자
boRtngudrefndVO.setMbrNm(user.getMbrId()); // 처리자 명
//반품 철회 처리 로직
Map<String, Object> 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 * @return ResponseEntity
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/insertRtngudRefndMngrMemoRegist", method = RequestMethod.POST) @RequestMapping(value = "/insertRtngudRefndMngrMemoRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertRtngudRefndMngrMemoRegist(RefndVO refndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> insertRtngudRefndMngrMemoRegist(BORtngudrefndVO boRtngudrefndVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
refndVO.setSopmalCd(authSopmalCd); boRtngudrefndVO.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBORtngudRefndMngrMemoRegist", refndVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
boRtngudrefndVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰코드
}
boRtngudrefndVO.setUpdusr(user.getUserInnb()); // 수정자
//반품 환불 관리자 메모 등록 및 수정 로직
Map<String, Object> 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 * @return ResponseEntity
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/insertRtngudRefndSttusRegist", method = RequestMethod.POST) @RequestMapping(value = "/insertRtngudRefndSttusRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertRtngudRefndSttusRegist(@Validated RefndVO refndVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> insertRtngudRefndSttusRegist(@Validated BORtngudrefndVO boRtngudrefndVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
refndVO.setSopmalCd(authSopmalCd); boRtngudrefndVO.setSopmalCd(authSopmalCd);
// 정합성 검사 // 정합성 검사
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
@@ -185,19 +390,19 @@ public class RefndController {
} else { } else {
List<Map<String, String>> errorList = new ArrayList<>(); List<Map<String, String>> errorList = new ArrayList<>();
List<OrderReItemVO> refundItemList = refndVO.getOrderReItemVOList(); List<BOOrderReItemVO> refundItemList = boRtngudrefndVO.getOrderReItemVOList();
if ( !StringUtils.isEmpty(refndVO.getMlgRecovryDv()) && "mlg01".equals(refndVO.getMlgRecovryDv()) ) { if ( !StringUtils.isEmpty(boRtngudrefndVO.getMlgRecovryDv()) && "mlg01".equals(boRtngudrefndVO.getMlgRecovryDv()) ) {
refndVO.setMlgRecovryDv("01"); boRtngudrefndVO.setMlgRecovryDv("01");
if ( StringUtils.isEmpty(refndVO.getMlgRecovryDvDt()) ) { if ( StringUtils.isEmpty(boRtngudrefndVO.getMlgRecovryDvDt()) ) {
errorList.add(ValidateResultConverter.setErrorMap("mlgRecovryDvDt", errorList.add(ValidateResultConverter.setErrorMap("mlgRecovryDvDt",
gconeMessageSource.getMessage("errors.required", new Object[]{"마일리지 복원 유효기간"}))); gconeMessageSource.getMessage("errors.required", new Object[]{"마일리지 복원 유효기간"})));
} }
} }
for (OrderReItemVO orderReItemVO : refundItemList) { for (BOOrderReItemVO orderReItemVO : refundItemList) {
if ( !StringUtils.isEmpty(orderReItemVO.getCouponRecovryDv()) && "coupon01".equals(orderReItemVO.getCouponRecovryDv()) ) { if ( !StringUtils.isEmpty(orderReItemVO.getCouponRecovryDv()) && "coupon01".equals(orderReItemVO.getCouponRecovryDv()) ) {
orderReItemVO.setCouponRecovryDv("01"); orderReItemVO.setCouponRecovryDv("01");
@@ -216,14 +421,52 @@ public class RefndController {
} }
} }
if (refndVO.getProsbleCancelAmt() != null) { if (boRtngudrefndVO.getProsbleCancelAmt() != null) {
refndVO.setProsbleCancelAmt(refndVO.getProsbleCancelAmt().replace(",", "")); boRtngudrefndVO.setProsbleCancelAmt(boRtngudrefndVO.getProsbleCancelAmt().replace(",", ""));
} }
return responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/Rtngudrefnd/updateBOOrderReUpdt", refndVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply 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<String, Object> 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
// );
} }