Parcourir la source

모바일 추가결제 개발중

jsh77b il y a 5 ans
Parent
commit
10df4879b9

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

@@ -789,4 +789,22 @@ public interface TscOrderDao {
 	 */
 	int updateOrderDetailGiftAddrInpYn(Order order);
 	
+	/**
+	 * 추가결제 취소,반품,교환 대상 상품목록 조회
+	 * @param Order
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 04. 16
+	 */
+	Collection<Order> getAddPayGoodsList(Order order);
+	
+	/**
+	 * 추가결제 반품,교환 상태값 업데이트
+	 * @param Order
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 04. 15
+	 */
+	int updateOrderChangeDetailChgStat(Order order);
+	
 }

+ 70 - 0
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -1996,6 +1996,76 @@ public class TscOrderService {
 	public Collection<Order> getOrderGiftGoodsList(Order order) {
 		return orderDao.getOrderGiftGoodsList(order);
 	}
+	
+	
+	/**
+	 * 추가결제 취소,반품,교환 대상 상품목록 조회
+	 * @param Order
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 04. 15
+	 */
+	public GagaMap getAddPayOrderListInfo(Order order) {
+		GagaMap resultMap = new GagaMap();
+		
+		Collection<Order> orderAddPayGoodsList = orderDao.getAddPayGoodsList(order);
+		
+		int refundAmt 		= 0;
+		int addPayCost 		= 0;
+		int ordChgSq		= 0;
+		
+		String chgGb		= "";
+		String chgerNm		= "";
+		String chgerPhnno	= "";
+		String goodsNm		= "";
+		
+		int index = 0;
+		for (Order orderInfo : orderAddPayGoodsList) {
+			if (index == 0) {
+				refundAmt 	= orderInfo.getRefundAmt();
+				addPayCost 	= orderInfo.getAddPayCost();
+				ordChgSq	= orderInfo.getOrdChgSq();
+				
+				chgGb		= orderInfo.getChgGb();
+				chgerNm		= orderInfo.getChgerNm();
+				chgerPhnno	= orderInfo.getChgerPhnno();
+				goodsNm		= orderInfo.getGoodsNm();
+			}
+			index++;
+		}
+		
+		resultMap.set("orderAddPayGoodsList"	, orderAddPayGoodsList);	// 주문목록정보
+		resultMap.set("refundAmt"				, refundAmt);				// 상품환불금액
+		resultMap.set("addPayCost"				, addPayCost);				// 추가결제금액
+		resultMap.set("ordChgSq"				, ordChgSq);				// 주문취소신청번호
+		
+		resultMap.set("chgGb"					, chgGb);					// 변경구분
+		resultMap.set("chgerNm"					, chgerNm);					// 변경신청인
+		resultMap.set("chgerPhnno"				, chgerPhnno);				// 변경신청핸드폰번호
+		resultMap.set("goodsNm"					, goodsNm);					// 상품명
+		
+		return resultMap;
+	}
+	
+	/**
+	 * 주문정보(결제완료)
+	 * @param Order
+	 * @return Order
+	 * @author jsh77b
+	 * @since 2021. 03. 09
+	 */
+	@Transactional("shopTxnManager")
+	public void updateOrderChangeDetail(Order order) {
+		
+		// 1. 추가결제 반품,교환 상태값 업데이트
+		orderDao.updateOrderChangeDetailChgStat(order);
+		
+		// 2 주문상세이력정보 전체 등록
+		orderDao.createOrderDetailAllHst(order);
+		
+	}
+	
+	
 
 }
 

+ 100 - 1
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -459,7 +459,7 @@
 		            THEN 'N'
 		            ELSE 'Y'
 		            END GIFT_PACK_CLOSE_YN
-		     , DATE_FORMAT(DATE_ADD(O.PAY_DT, INTERVAL 3 DAY), '%Y%m%d%H%i%S') AS GIFT_PACK_CLOSE_DT
+		     , DATE_ADD(O.PAY_DT, INTERVAL 3 DAY) AS GIFT_PACK_CLOSE_DT
 		  FROM TB_ORDER O
 		 INNER JOIN TB_ORDER_DETAIL OD
 		    ON O.ORD_NO = OD.ORD_NO
@@ -3669,6 +3669,105 @@
 		WHERE  ORD_NO = #{ordNo}
 	</update>
 	
+	<!-- 추가결제 취소,반품,교환 대상 상품목록 조회 -->
+	<select id="getAddPayGoodsList" parameterType="Order" resultType="Order">
+		/* TscOrder.getAddPayGoodsList */
+		SELECT Z.ORD_DTL_NO
+		     , Z.ORD_CHG_SQ
+		     , Z.CHG_STAT
+		     , Z.CHG_GB
+		     , Z.CHG_QTY
+		     , Z.ADD_PAY_COST
+		     , Z.REFUND_AMT
+		     , Z.BRAND_ENM
+		     , Z.BRAND_KNM
+		     , Z.GOODS_NM
+		     , Z.GOODS_CD
+		     , Z.CURR_PRICE
+		     , Z.CHGER_NM
+		     , Z.CHGER_PHNNO
+		     , SUM(Z.OPT_ADD_PRICE)                                                     AS OPT_ADD_PRICE
+		     , GROUP_CONCAT(Z.ITEM_NM    ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')    AS ITEM_NM
+		     , GROUP_CONCAT(Z.ITEM_CD    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS ITEM_CD
+		     , GROUP_CONCAT(Z.OPT_CD     ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD
+		     , GROUP_CONCAT(Z.OPT_CD1    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD2
+		     , GROUP_CONCAT(Z.ITEM_QTY   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS ITEM_QTYR
+		     , GROUP_CONCAT(Z.COLOR_NM   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS COLOR_NM
+		FROM (
+		    SELECT OCD.ORD_DTL_NO
+		         , OC.ORD_CHG_SQ
+		         , OCD.CHG_STAT
+		         , BR.BRAND_ENM
+		         , BR.BRAND_KNM
+		         , G.GOODS_NM 
+		         , G.GOODS_CD
+		         , OCD.CHG_QTY 
+		         , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD) AS ITEM_NM
+		         , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
+		         , OD.CURR_PRICE
+		         , ODI.ORD_DTL_ITEM_SQ
+		         , ODI.OPT_ADD_PRICE
+		         , ODI.ITEM_CD
+		         , ODI.OPT_CD
+		         , ODI.OPT_CD1
+		         , ODI.OPT_CD2
+		         , ODI.ITEM_QTY
+		         , OC.ADD_PAY_COST
+		         , RF.REFUND_AMT
+		         , OC.CHG_GB
+		         , OC.CHGER_NM
+		         , OC.CHGER_PHNNO
+		    FROM   TB_ORDER_CHANGE_DETAIL OCD
+		    INNER  JOIN TB_ORDER_CHANGE OC
+		    ON     OCD.ORD_CHG_SQ = OC.ORD_CHG_SQ
+		    INNER  JOIN TB_ORDER_DETAIL OD
+		    ON     OCD.ORD_DTL_NO = OD.ORD_DTL_NO
+		    INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
+		    ON     ODI.ORD_DTL_NO = OCD.ORD_DTL_NO
+		    INNER  JOIN TB_GOODS G
+		    ON     OD.GOODS_CD = G.GOODS_CD
+		    INNER  JOIN TB_BRAND BR
+		    ON     G.BRAND_CD = BR.BRAND_CD
+		    INNER  JOIN TB_REFUND RF
+		    ON     RF.ORD_CHG_SQ = OC.ORD_CHG_SQ
+		    WHERE  1=1
+		    AND    OC.ADD_PAY_COST <![CDATA[>]]> 0
+		    AND    OCD.ORD_CHG_SQ = #{ordChgSq}
+		    AND    OCD.CHG_STAT IN ('G685_11', 'G685_21', 'G685_32', 'G685_51')
+		    AND    OCD.DEL_YN = 'N'
+		) Z
+		GROUP  BY Z.ORD_DTL_NO
+		     , Z.ORD_CHG_SQ
+		     , Z.CHG_STAT
+		     , Z.CHG_GB
+		     , Z.CHG_QTY
+		     , Z.ADD_PAY_COST
+		     , Z.REFUND_AMT
+		     , Z.BRAND_ENM
+		     , Z.BRAND_KNM
+		     , Z.GOODS_NM
+		     , Z.GOODS_CD
+		     , Z.CURR_PRICE 
+		     , Z.CHGER_NM
+		     , Z.CHGER_PHNNO
+	</select>
+	
+	<!-- 추가결제 반품,교환 상태값 업데이트 -->
+	<update id="updateOrderChangeDetailChgStat" parameterType="Order">
+		/* TscOrder.updateOrderChangeDetailChgStat */
+		UPDATE TB_ORDER_CHANGE_DETAIL 
+		SET    CHG_STAT = CASE WHEN CHG_STAT = 'G685_51' THEN 'G685_50'
+		                       WHEN CHG_STAT = 'G685_21' THEN 'G685_20'
+		                       WHEN CHG_STAT = 'G685_32' THEN 'G685_31'
+		                       ELSE CHG_STAT
+		                       END 
+		     , UPD_NO = #{custNo}
+		     , UPD_DT = NOW()
+		WHERE  1=1
+		AND    ORD_CHG_SQ = #{ordChgSq}
+	</update>
+	
 </mapper>