fix : 구독서비스 결제 적용
This commit is contained in:
@@ -76,7 +76,8 @@ public class BOOrderService {
|
||||
LinkedHashMap setle = (LinkedHashMap) param.get("setle"); // 결제정보
|
||||
List<LinkedHashMap> prsntList = (List<LinkedHashMap>) param.get("prsnt"); // 사은품 정보
|
||||
|
||||
if(param.containsKey("subsvcInnb")) {
|
||||
Boolean subsvcAt = param.containsKey("subsvcInnb"); // 구독서비스 여부
|
||||
if(subsvcAt) {
|
||||
setle.put("subsvcInnb", param.get("subsvcInnb"));
|
||||
}
|
||||
|
||||
@@ -221,7 +222,7 @@ public class BOOrderService {
|
||||
// }
|
||||
//
|
||||
// } else if ("03".equals(itemDlvyGroupDvCd)) { // 유료배송
|
||||
if ("03".equals(itemDlvyGroupDvCd)) { // 유료배송
|
||||
if ("03".equals(itemDlvyGroupDvCd) || subsvcAt) { // 유료배송
|
||||
|
||||
// 추가배송비 계산 (MUL)
|
||||
if (!StringUtils.isEmpty(itemDlvyAreaAditAt) && "Y".equals(itemDlvyAreaAditAt)) {
|
||||
@@ -231,12 +232,12 @@ public class BOOrderService {
|
||||
}
|
||||
|
||||
// 유료배송 + 수량 조건
|
||||
if ("Y".equals(itemCntCndUseAt) && itemCntCndAditAmt.compareTo(BigDecimal.ZERO) > 0) {
|
||||
if (("Y".equals(itemCntCndUseAt) && itemCntCndAditAmt.compareTo(BigDecimal.ZERO) > 0) || subsvcAt) {
|
||||
// 수량 조건 있을 경우
|
||||
for (DataMap goodsMap : goodsByDlvyGroupList) {
|
||||
|
||||
BigDecimal qy = new BigDecimal(String.valueOf(goodsMap.get("qy"))); // 수량
|
||||
BigDecimal unitQy = qy.divide(itemCntCndAditAmt, 0, RoundingMode.CEILING); // 단위수량
|
||||
BigDecimal unitQy = subsvcAt ? qy : qy.divide(itemCntCndAditAmt, 0, RoundingMode.CEILING); // 단위수량
|
||||
BigDecimal goodsDscntAmt = new BigDecimal(String.valueOf(goodsMap.get("dscntAmt")));
|
||||
BigInteger unitDscntAmt = BigInteger.valueOf(goodsDscntAmt.intValue());
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ private static final long serialVersionUID = 1L;
|
||||
/** 소비자가 */
|
||||
private String cnsmrpric;
|
||||
/** 판매가 */
|
||||
private String slepric;
|
||||
private Integer slepric;
|
||||
/** 재고수량 */
|
||||
private String invntryQy;
|
||||
/** 판매재고수량 */
|
||||
@@ -143,10 +143,14 @@ private static final long serialVersionUID = 1L;
|
||||
private Integer subCnsmrpric;
|
||||
/** 소비자가 (형식적용) */
|
||||
private String cnsmrpricByFormat;
|
||||
/** 판매가 합계 (형식적용) */
|
||||
/** 옵션주문단가 × 옵션주문수량 (형식적용) */
|
||||
private String subSlepricByFormat;
|
||||
/** 판매가 합계 (형식적용) */
|
||||
/** 옵션주문단가 × 옵션주문수량 */
|
||||
private Integer subSlepric;
|
||||
/** 할인금액 */
|
||||
private Integer dscntAmt;
|
||||
/** 할인적용금액 */
|
||||
private Integer dscntApplyAmt;
|
||||
/** 판매가 합계 (형식적용) */
|
||||
private String slepricByFormat;
|
||||
/** 상품이미지경로 */
|
||||
|
||||
@@ -795,7 +795,8 @@ public class OrdrController {
|
||||
BOSubsvcVO subsvcVO = new BOSubsvcVO();
|
||||
subsvcVO.setSopmalCd((String) goodsOne.get("sopmalCd"));
|
||||
subsvcVO.setSubsvcInnb(goodsOne.get("subsvcInnb").toString());
|
||||
subsvcVO.setQy(1);
|
||||
subsvcVO.setQy((int) goodsOne.get("qy"));
|
||||
subsvcVO.setMbrInnb((int) goodsOne.get("mbrInnb"));
|
||||
|
||||
paramData.remove("goodsList");
|
||||
paramData.put("goodsList", service.selectSubsvcGoodsList(subsvcVO));
|
||||
|
||||
Reference in New Issue
Block a user