Przeglądaj źródła

주문서 오류 수정 및 추가개발

jsh77b 5 lat temu
rodzic
commit
c09dad3bd5

+ 9 - 0
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -751,4 +751,13 @@ public interface TscOrderDao {
 	 * @since 2021. 04. 22
 	 */
 	int updateOrderDetailItemStat(Order order);
+	
+	/**
+	 * 보증보험신청정보등록
+	 * @param Order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 04. 25
+	 */
+	int createInsurance(Order order);
 }

+ 20 - 4
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -993,6 +993,7 @@ public class TscOrderService {
 		
 		GagaMap resultMap = new GagaMap();
 		
+		int listSumAmt		= 0;
 		int orgGoodsSumAmt	= 0;
 		int currGoodsSumAmt	= 0;
 		int tmtbDcSumAmt 	= 0;
@@ -1002,6 +1003,7 @@ public class TscOrderService {
 
 		// 상품금액, 배송비, 할인금액, 다다익선할인금액, 쿠폰할인금액, 선포인트사용, 포인트사용, 상품권사용
 		for (Order tmtbGoodsApply : tmtbGoodsApplyList) {
+			listSumAmt			= listSumAmt + ((tmtbGoodsApply.getListPrice() + tmtbGoodsApply.getOptAddPrice()) * tmtbGoodsApply.getGoodsQty());			// 상품가(정상가)
 			orgGoodsSumAmt 		= orgGoodsSumAmt + ((tmtbGoodsApply.getOrgCurrPrice() + tmtbGoodsApply.getOptAddPrice()) * tmtbGoodsApply.getGoodsQty());	// 상품가
 			currGoodsSumAmt 	= currGoodsSumAmt + ((tmtbGoodsApply.getCurrPrice() + tmtbGoodsApply.getOptAddPrice()) * tmtbGoodsApply.getGoodsQty());		// 즉시할인상품가			
 			savePntSumAmt		= savePntSumAmt + tmtbGoodsApply.getSavePntAmt();																			// 적립에정포인트
@@ -1015,8 +1017,10 @@ public class TscOrderService {
 			prePntDcAmt 		= prePntDcAmt + tmtbGoodsApply.getPrePntDcAmt();
 		}
 		
-		cpn1DcSumAmt		= cpn1DcSumAmt + (orgGoodsSumAmt - currGoodsSumAmt);																		// 즉시할인금액
-
+		cpn1DcSumAmt		= listSumAmt - currGoodsSumAmt;																									// 즉시할인금액
+		//cpn1DcSumAmt		= listSumAmt - tmtbDcSumAmt;																									// 즉시할인금액
+		
+		resultMap.set("listSumAmt"			, listSumAmt);
 		resultMap.set("orgGoodsSumAmt"		, orgGoodsSumAmt);
 		resultMap.set("cpn1DcSumAmt"		, cpn1DcSumAmt);
 		resultMap.set("tmtbDcSumAmt"		, tmtbDcSumAmt);
@@ -1483,6 +1487,12 @@ public class TscOrderService {
 			orderDao.createOrdFreegiftDtl(order);
 		}
 		
+		// 8. 2021.04.25 보증보험신청정보등록 (무통장결제, 실시간계좌이체)
+		if (TscConstants.PayMeans.ACCOUNT_TRANSFER.value().equals(order.getPayMeans()) || TscConstants.PayMeans.BANK_DEPOSIT.value().equals(order.getPayMeans())) {
+			if ("Y".equals(order.getInsuranceYn())) {
+				orderDao.createInsurance(order);
+			}
+		}
 	}
 
 	/**
@@ -1753,7 +1763,8 @@ public class TscOrderService {
 		
 		// 3. 상품정보조회
 		Collection<Order> orderDetailList = orderDao.getOrderDetailOrdAmtList(order);
-		int goodsSumAmt 		= 0; // 상품금액합계
+		int listSumAmt 			= 0; // 상품금액합계(정상가)
+		int goodsSumAmt 		= 0; // 상품금액합계(판매가)
 		int delvFeeSumAmt 		= 0; // 배송비합계
 		int cpn1DcSumAmt 		= 0; // 즉시할인합계
 		int tmtbSumAmt 			= 0; // 다다익선합계
@@ -1770,6 +1781,7 @@ public class TscOrderService {
 		String giftPackYn		= "N"; // 선물여부
 
 		for (Order orderDetail : orderDetailList) {
+			listSumAmt 			= listSumAmt 		+ ((orderDetail.getListPrice() + orderDetail.getOptAddPrice()) * orderDetail.getOrdQty());
 			goodsSumAmt 		= goodsSumAmt 		+ ((orderDetail.getCurrPrice() + orderDetail.getOptAddPrice()) * orderDetail.getOrdQty());
 			cpn1DcSumAmt 		= cpn1DcSumAmt 		+ orderDetail.getCpn1DcAmt();
 			tmtbSumAmt 			= tmtbSumAmt 		+ (orderDetail.getTmtb1DcAmt() + orderDetail.getTmtb2DcAmt());
@@ -1789,6 +1801,9 @@ public class TscOrderService {
 			}
 		}
 		
+		// 2021.04.25 금액표기수정
+		cpn1DcSumAmt = listSumAmt - goodsSumAmt - cpn1DcSumAmt;
+		
 		// 선물여부
 		order.setGiftPackYn(giftPackYn);
 		
@@ -1844,7 +1859,8 @@ public class TscOrderService {
 		resultMap.set("ordSumAmt"			, ordSumAmt);			// 주문금액합계
 		resultMap.set("dcSumAmt"			, dcSumAmt);			// 할인금액합계
 		resultMap.set("realOrdSumAmt"		, realOrdSumAmt);		// 결제금액합계
-		resultMap.set("goodsSumAmt"			, goodsSumAmt);			// 상품금액합계
+		resultMap.set("listSumAmt"			, listSumAmt);			// 상품금액합계(정상가)
+		resultMap.set("goodsSumAmt"			, goodsSumAmt);			// 상품금액합계(판매가)
 		resultMap.set("delvFeeSumAmt"		, delvFeeSumAmt);		// 배송비합계
 		resultMap.set("cpn1DcSumAmt"		, cpn1DcSumAmt);		// 즉시할인합계
 		resultMap.set("tmtbSumAmt"			, tmtbSumAmt);			// 다다익선합계

+ 1 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -634,6 +634,7 @@ public class Order extends TscBaseDomain {
 		}
 	}
 	
+	private String insuranceYn;			// 보증보험신청여부
 	private String birthYmd;			// 생년월일(탈퇴 시 NULL로 처리)
 	private String sexGb;				// 성별구분(공통코드G007). 탈퇴 시 NULL로 처리
 	

+ 27 - 2
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -3248,7 +3248,8 @@
 	<!-- 44. 주문상세 결제금액 목록 조회 -->
 	<select id="getOrderDetailOrdAmtList"  parameterType="Order" resultType="Order">
 		/* TscOrder.getOrderDetailOrdAmtList */
-		SELECT OD.CURR_PRICE
+		SELECT OD.LIST_PRICE
+		     , OD.CURR_PRICE
 		     , SUM(ODI.OPT_ADD_PRICE) AS OPT_ADD_PRICE
 		     , OD.ORD_QTY
 		     , OD.CPN1_DC_AMT 
@@ -3577,7 +3578,7 @@
 
 	<!-- 주문상세단품 상태값 변경-->
 	<update id="updateOrderDetailItemStat" parameterType="Order">
-	/* TscOrder.updateOrderDetailItemStat */
+		/* TscOrder.updateOrderDetailItemStat */
 		UPDATE TB_ORDER_DETAIL_ITEM
 		SET    ORD_DTL_STAT = #{ordDtlStat}
 		     , UPD_NO = #{updNo}
@@ -3585,6 +3586,30 @@
 		WHERE  ORD_NO = #{ordNo}
 		AND    ORD_DTL_NO = #{ordDtlNo}
 	</update>
+	
+	<!-- 보증보험신청정보등록 -->
+	<insert id="createInsurance" parameterType="Order">
+		/* TscOrder.createInsurance */
+		INSERT INTO TB_INSURANCE (
+		    ORD_NO
+		    , CUST_NO
+		    , BIRTH_GEN
+		    , IF_YN
+		    , INS_NO
+		    , RESULT_CD
+		    , RESULT_MSG
+		    , REG_DT
+		) VALUES (
+		    #{ordNo}
+		    , #{custNo}
+		    , #{birthYmd}||#{sexGb}
+		    , 'N'
+		    , null
+		    , null
+		    , null
+		    , NOW()
+		)
+	</insert>
 
 </mapper>