구독서비스 결제 화면 적용
This commit is contained in:
@@ -3821,50 +3821,6 @@ public class BOOrdrService{
|
||||
return content;
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 결제 예정금액
|
||||
* @param param
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
public Map<String, Object> selectSubsvcSetleExpectAmt(DataMap param) throws Exception {
|
||||
Map<String, Object> content = new HashMap<>();
|
||||
|
||||
log.debug("selectSetleExpectAmt-param : {}", param);
|
||||
|
||||
LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{
|
||||
put("goodsAmt", 0);
|
||||
put("dlvyAmt", 0);
|
||||
put("evtDscntAmt", 0);
|
||||
put("goodsCouponDscntAmt", 0);
|
||||
put("dlvyCouponDscntAmt", 0);
|
||||
put("cartCouponDscntAmt", 0);
|
||||
put("useMlgAmt", 0);
|
||||
put("useCashMlgAmt", 0);
|
||||
put("dscntAmt", 0);
|
||||
put("setleAmt", 0);
|
||||
put("accmlMlgAmt", 0);
|
||||
}};
|
||||
|
||||
BigDecimal goodsAmt = new BigDecimal(0);
|
||||
|
||||
List<LinkedHashMap> goodsList = (List<LinkedHashMap>) param.get("goodsList");
|
||||
log.debug("goodsList : {}", goodsList);
|
||||
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
subsvcVO.setSubsvcInnb((String) param.get("subsvcInnb"));
|
||||
subsvcVO.setSopmalCd((String) param.get("sopmalCd"));
|
||||
DataMap subsvcDetail = subsvcService.selectBOSubsvcDetail(subsvcVO);
|
||||
goodsAmt = (BigDecimal) subsvcDetail.get("subsvcCt");
|
||||
|
||||
// ############################################## 결제 예정 금액 적용 ##############################################
|
||||
setleExpectAmtMap.put("goodsAmt", goodsAmt.intValue());
|
||||
|
||||
content.put("setleExpectAmt", setleExpectAmtMap);
|
||||
content.put("goodsList", goodsList);
|
||||
|
||||
return content;
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자 > 상품 > 구매/결제 > 회원구매하기 > 구매 정보 등록
|
||||
* @param param
|
||||
@@ -6186,6 +6142,119 @@ public class BOOrdrService{
|
||||
사용자 > 상품 > 구매/결제 > 비회원구매하기 종료
|
||||
#################################### */
|
||||
|
||||
/* ####################################
|
||||
사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 시작
|
||||
#################################### */
|
||||
/**
|
||||
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 결제 화면 정보 조회
|
||||
* @param ordrVO
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
public Map<String, Object> selectSubsvcPurchs(BOOrdrVO ordrVO) {
|
||||
Map<String, Object> content = new HashMap<>();
|
||||
|
||||
//구독서비스 조회
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
subsvcVO.setSopmalCd(ordrVO.getSopmalCd());
|
||||
subsvcVO.setSubsvcInnb(ordrVO.getSubsvcInnb());
|
||||
|
||||
DataMap subsvcOne = subsvcService.selectBOSubsvcDetail(subsvcVO);
|
||||
|
||||
BOPurchsrVO purchsrVO = new BOPurchsrVO();
|
||||
|
||||
purchsrVO.setSopmalCd(ordrVO.getSopmalCd());
|
||||
purchsrVO.setMbrDvCd(ordrVO.getMbrDvCd());
|
||||
purchsrVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb()));
|
||||
purchsrVO.setMbrId(ordrVO.getMbrId());
|
||||
|
||||
BOCashVO cashVO = new BOCashVO();
|
||||
cashVO.setSopmalCd(ordrVO.getSopmalCd());
|
||||
cashVO.setMbrDvCd(ordrVO.getMbrDvCd());
|
||||
cashVO.setMbrInnb(String.valueOf(ordrVO.getMbrInnb()));
|
||||
//구매자조회
|
||||
DataMap purchsrMap = purchsService.selectPurchsr(purchsrVO);
|
||||
|
||||
if (!CollectionUtils.isEmpty(purchsrMap)) {
|
||||
BOMlgVO mlgVo = new BOMlgVO();
|
||||
|
||||
mlgVo.setMbrDvCd((String) purchsrMap.get("mbrDvCd"));
|
||||
mlgVo.setMbrInnb(purchsrMap.get("mbrInnb").toString());
|
||||
|
||||
// 마일리지 잔액 총액
|
||||
BigDecimal blceSum = mlgService.selectBOMlgBlceSum(mlgVo);
|
||||
|
||||
// 충전형 마일리지 잔액 총액
|
||||
BigDecimal cashBlceSum = mlgService.selectBOCashBlce(cashVO);
|
||||
|
||||
purchsrMap.put("sopmalCd", ordrVO.getSopmalCd());
|
||||
purchsrMap.put("dftDlvylc", purchsService.selectDftDlvylc(purchsrVO));
|
||||
purchsrMap.put("ableMlgAmt", blceSum.intValue());
|
||||
purchsrMap.put("ableCashMlgAmt", cashBlceSum.intValue());
|
||||
}
|
||||
|
||||
DataMap paramMap = new DataMap(){{
|
||||
put("sopmalCd", ordrVO.getSopmalCd());
|
||||
put("setlePltfomTyCd", ordrVO.getSetlePltfomTyCd()); // PC
|
||||
}};
|
||||
|
||||
DataMap payInfo = purchsMapper.selectPayInfo(paramMap);
|
||||
|
||||
DataMap shopInfo = purchsMapper.selectOrdrShopInfo(ordrVO);
|
||||
|
||||
content.put("purchsr", purchsrMap);
|
||||
content.put("mlgAccmlNtcList", purchsMapper.selectMlgAccmlNtcList(purchsrVO));
|
||||
content.put("subsvcOne", subsvcOne);
|
||||
content.put("payInfo", payInfo);
|
||||
content.put("shopInfo", shopInfo);
|
||||
|
||||
return content;
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 결제 예정금액
|
||||
* @param param
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
public Map<String, Object> selectSubsvcSetleExpectAmt(DataMap param) throws Exception {
|
||||
Map<String, Object> content = new HashMap<>();
|
||||
log.debug("selectSetleExpectAmt-param : {}", param);
|
||||
|
||||
LinkedHashMap setleExpectAmtMap = new LinkedHashMap() {{
|
||||
put("goodsAmt", 0);
|
||||
put("dlvyAmt", 0);
|
||||
put("evtDscntAmt", 0);
|
||||
put("goodsCouponDscntAmt", 0);
|
||||
put("dlvyCouponDscntAmt", 0);
|
||||
put("cartCouponDscntAmt", 0);
|
||||
put("useMlgAmt", 0);
|
||||
put("useCashMlgAmt", 0);
|
||||
put("dscntAmt", 0);
|
||||
put("setleAmt", 0);
|
||||
put("accmlMlgAmt", 0);
|
||||
}};
|
||||
|
||||
BigDecimal goodsAmt = new BigDecimal(0);
|
||||
BigDecimal setleAmt = new BigDecimal(0);
|
||||
|
||||
LinkedHashMap subsvcOne = (LinkedHashMap) param.get("subsvcOne");
|
||||
log.debug("subsvcOne : {}", subsvcOne);
|
||||
|
||||
goodsAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric"));
|
||||
setleAmt = BigDecimal.valueOf((Integer) subsvcOne.get("selpric"));
|
||||
|
||||
// ############################################## 결제 예정 금액 적용 ##############################################
|
||||
setleExpectAmtMap.put("goodsAmt", goodsAmt.intValue());
|
||||
setleExpectAmtMap.put("setleAmt", setleAmt.intValue());
|
||||
|
||||
content.put("setleExpectAmt", setleExpectAmtMap);
|
||||
content.put("subsvcOne", param.get("subsvcOne"));
|
||||
|
||||
return content;
|
||||
}
|
||||
/* ####################################
|
||||
사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 종료
|
||||
#################################### */
|
||||
|
||||
/* ####################################
|
||||
사용자 > 상품 > 구매/결제 > 개인결제 시작
|
||||
#################################### */
|
||||
|
||||
@@ -151,6 +151,9 @@ public class BOOrdrVO extends AbstractVO {
|
||||
/** 장바구니 고유번호 배열 */
|
||||
private String[] cartInnbs;
|
||||
|
||||
/** 구독서비스 고유번호 */
|
||||
private String subsvcInnb;
|
||||
|
||||
/** 주문배송 고유번호 */
|
||||
private String ordrDlvyInnb;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.wb.domainserver.domain.sopmal.ordr.controller;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.nimbusds.jose.shaded.gson.Gson;
|
||||
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.instcSle.mtng.service.BOMaMtngService;
|
||||
@@ -20,12 +20,13 @@ import com.wb.domainserver.domain.gcone.goods.goods.service.BOGoodsService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOOrderService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.service.BOPurchsService;
|
||||
import com.wb.domainserver.domain.gcone.goods.purchs.vo.*;
|
||||
import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
|
||||
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
|
||||
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.dlivy.service.BODlivyService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.npay.service.BONpayConfigService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.npay.vo.BONpayConfigVO;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrderCommonService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrLogService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOCrmDlvylcVO;
|
||||
@@ -36,36 +37,27 @@ import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
||||
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.site.vo.BOSiteVO;
|
||||
import com.wb.domainserver.domain.sample.vo.PrevewVO;
|
||||
import com.wb.domainserver.domain.sopmal.goods.vo.GoodsVO;
|
||||
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
|
||||
import com.wb.domainserver.domain.sopmal.ordr.vo.PayVO;
|
||||
import com.wb.domainserver.domain.sopmal.ordr.vo.SpbkVO;
|
||||
import com.wb.domainserver.domain.sopmal.ordr.vo.OrdrVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.exception.code.PurchsValidCode;
|
||||
import com.wb.domainserver.response.ApiResponse;
|
||||
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.CookieUtils;
|
||||
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.cookie.CookieUtil;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import com.wb.domainserver.util.util.Util;
|
||||
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.SendToResrc;
|
||||
import com.wb.domainserver.util.cookie.CookieUtil;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import com.wb.domainserver.util.util.Util;
|
||||
import jakarta.servlet.http.Cookie;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.logging.log4j.util.Base64Util;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
@@ -74,7 +66,10 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
@@ -136,6 +131,8 @@ public class OrdrController {
|
||||
private BOMaMtngService boMaMtngService;
|
||||
@Autowired
|
||||
private BOPurchsService boPurchsService;
|
||||
@Autowired
|
||||
private BOSubsvcService subsvcService;
|
||||
|
||||
/* ####################################
|
||||
사용자 > 상품 > 구매/결제 > 회원구매하기 시작
|
||||
@@ -399,6 +396,73 @@ public class OrdrController {
|
||||
// );
|
||||
}
|
||||
|
||||
/* ####################################
|
||||
사용자 > 구독상품 > 구매/결제 > 회원구매하기 시작
|
||||
#################################### */
|
||||
/**
|
||||
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 결제 화면 이동
|
||||
* @return SubsvcPurchsC.jsp
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value="/selectSubsvcPurchsForm")
|
||||
public String selectSubsvcSetleInqire(HttpServletRequest request, ModelMap model, BOOrdrVO ordrVO) throws Exception {
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
|
||||
//결재 플랫폼 구분 코드
|
||||
ordrVO.setSetlePltfomTyCd("PC".equals(request.getAttribute("env"))?"01":"02");
|
||||
|
||||
//약관정보 세팅
|
||||
BOStplatVO stplatVO = new BOStplatVO();
|
||||
stplatVO.setPageIndex(1);
|
||||
stplatVO.setPageUnit(paginationProperties.getPageUnit());
|
||||
stplatVO.setNmbrPurchsAt("Y");
|
||||
stplatVO.setSrchSopmalCd(user.getSopmalCd());
|
||||
|
||||
DataMap stplat = selectBOStplatListInqire(stplatVO);
|
||||
|
||||
//주문 상품정보 세팅
|
||||
if ("01".equals(user.getSysDvCd())) {
|
||||
ordrVO.setSopmalCd(user.getSopmalCd());
|
||||
}
|
||||
ordrVO.setMbrInnb(user.getUserInnb());
|
||||
ordrVO.setMbrId(user.getMbrId());
|
||||
ordrVO.setMbrDvCd(user.getMbrDvCd());
|
||||
|
||||
Map<String, Object> content = service.selectSubsvcPurchs(ordrVO);
|
||||
|
||||
model.addAttribute("data", content);
|
||||
model.addAttribute("paramVO", new ObjectMapper().writeValueAsString(ordrVO));
|
||||
model.addAttribute("deviceType", Util.getDeviceType(request));
|
||||
model.addAttribute("stplat", stplat);
|
||||
|
||||
return Util.getDeviceType(request) + "/ordr/SubsvcPurchsC";
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 구독서비스 조회
|
||||
* @param param
|
||||
* @return ResponseEntity<WnbtResponse>
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value="/selectOrderSubsvcOne", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<WnbtResponse> selectOrderSubsvcOne(@RequestBody HashMap<String, Object> param) {
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
|
||||
if ("01".equals(user.getSysDvCd())) {
|
||||
subsvcVO.setSopmalCd(user.getSopmalCd());
|
||||
}
|
||||
subsvcVO.setSubsvcInnb(String.valueOf(param.get("subsvcInnb")));
|
||||
|
||||
DataMap content = subsvcService.selectBOSubsvcDetail(subsvcVO);
|
||||
|
||||
return ResponseEntity.ok(
|
||||
WnbtResponse.builder()
|
||||
.resBody(new WnbtResponseBody(content))
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자 > 구독상품 > 구매/결제 > 구독서비스 결제 > 결제 예정금액 조회
|
||||
* @param param
|
||||
|
||||
Reference in New Issue
Block a user