구독서비스 결제 적용

This commit is contained in:
이대환
2026-03-19 10:09:51 +09:00
parent 3e77f9bf31
commit bcc7371b7a
15 changed files with 501 additions and 235 deletions

View File

@@ -444,7 +444,7 @@ public class OrdrController {
* @return ResponseEntity<WnbtResponse>
*/
@Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectOrderSubsvcOne", produces = MediaType.APPLICATION_JSON_VALUE)
@RequestMapping(value="/selectOrderSubsvcList", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectOrderSubsvcOne(@RequestBody HashMap<String, Object> param) {
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
BOSubsvcVO subsvcVO = new BOSubsvcVO();
@@ -452,9 +452,11 @@ public class OrdrController {
if ("01".equals(user.getSysDvCd())) {
subsvcVO.setSopmalCd(user.getSopmalCd());
}
subsvcVO.setMbrInnb((Integer) param.get("mbrInnb"));
subsvcVO.setSubsvcInnb(String.valueOf(param.get("subsvcInnb")));
DataMap content = subsvcService.selectBOSubsvcDetail(subsvcVO);
List<DataMap> content = new ArrayList<>();
content.add(subsvcService.selectBOSubsvcDetail(subsvcVO));
return ResponseEntity.ok(
WnbtResponse.builder()
@@ -788,6 +790,17 @@ public class OrdrController {
paramData.put(map.getKey(), map.getValue());
});
LinkedHashMap goodsOne = ((List<LinkedHashMap>) paramData.get("goodsList")).get(0);
if(goodsOne.containsKey("subsvcInnb")) {
BOSubsvcVO subsvcVO = new BOSubsvcVO();
subsvcVO.setSopmalCd((String) goodsOne.get("sopmalCd"));
subsvcVO.setSubsvcInnb(goodsOne.get("subsvcInnb").toString());
subsvcVO.setQy(1);
paramData.remove("goodsList");
paramData.put("goodsList", service.selectSubsvcGoodsList(subsvcVO));
}
Map<String, Object> resultMap = insertBOOrder(paramData);
// Map<String, Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/ordr/insertBOOrder", param)
@@ -3106,6 +3119,8 @@ public class OrdrController {
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList"); // 상품정보
LinkedHashMap enuri = null;
LinkedHashMap setle = null;
// 구독서비스 여부
Boolean isSubsvc = goodsList.get(0).containsKey("subsvcInnb");
//회원일 경우에만 enuri정보 존재
if(user.getUserInnb() > 0){
@@ -3151,8 +3166,7 @@ public class OrdrController {
return content;
}
if (CollectionUtils.isEmpty(enuri)) {
if (!isSubsvc && CollectionUtils.isEmpty(enuri)) {
log.info("할인 또는 결제 정보를 찾을 수 없습니다.");
content.put("result","Y");
content.put("message", "할인 또는 결제 정보를 찾을 수 없습니다.");
@@ -3162,7 +3176,7 @@ public class OrdrController {
String sopmalCd = (String) param.get("sopmalCd");
String ordrTyCd = (String) param.get("ordrTyCd");
String mbrInnb = (String) goodsList.get(0).get("mbrInnb");
String mbrInnb = String.valueOf(goodsList.get(0).get("mbrInnb"));
String mbrDvCd = (String) goodsList.get(0).get("mbrDvCd");
String ordrrMbtlnb = (String) purchsr.get("mbtlnb");
@@ -3300,7 +3314,12 @@ public class OrdrController {
//회원/비회원 총결제금액
String reqSetleAmt = StringUtil.isNullToString(setle.get("rlSetleAmt"));
//재계산된 총결제금액관련정보
Map<String, Object> resultAmt = service.selectSetleExpectAmt(param);
Map<String, Object> resultAmt;
if(isSubsvc) {
resultAmt = service.selectSubsvcSetleExpectAmt(param);
} else {
resultAmt = service.selectSetleExpectAmt(param);
}
if(resultAmt.containsKey("setleExpectAmt")){
LinkedHashMap setleExpectAmt = (LinkedHashMap) resultAmt.get("setleExpectAmt");