tsit05 4 år sedan
förälder
incheckning
ab18021cde

+ 10 - 1
src/main/java/com/style24/admin/biz/dao/TsaWithdrawDao.java

@@ -181,8 +181,17 @@ public interface TsaWithdrawDao {
 	 */
 	Collection<Withdraw> getRefundDetailList(Withdraw withdraw);
 
+	/**
+	 * 환불관리 - 반품알림톡 정보 
+	 * 
+	 * @param withdraw - 주문변경번호
+	 * @return Withdraw
+	 * @author moon
+	 * @since 2021. 07. 15
+	 */
+	Withdraw getRefundInfo(Withdraw withdraw);
 
 
-
+	
 
 }

+ 25 - 1
src/main/java/com/style24/admin/biz/service/TsaWithdrawService.java

@@ -21,6 +21,7 @@ import com.style24.core.support.env.TscConstants.OrderChangeGb;
 import com.style24.core.support.env.TscConstants.OrderChangeStat;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.core.support.util.CryptoUtils;
+import com.style24.core.biz.service.TscKakaotalkService;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.OrderChange;
 import com.style24.persistence.domain.Withdraw;
@@ -66,6 +67,11 @@ public class TsaWithdrawService {
 	@Autowired
 	private TscNaverPayService coreNaverPayService;
 
+	@Autowired
+	private TscKakaotalkService kakaotalkService;
+
+	
+	
 
 	/**
 	 * 환불관리 목록 건수
@@ -354,7 +360,7 @@ public class TsaWithdrawService {
 
 
 	/**
-	 * 회수관리 - 회수처리
+	 * 회수관리 > 환불컨펌 > 환불처리 
 	 *
 	 * @param params
 	 * @return
@@ -434,6 +440,24 @@ public class TsaWithdrawService {
 				orderChangeService.partialRefund(info, userNo);
 			}
 
+			// 반품완료 알림톡
+			
+			Withdraw refundOrdchgSq = new Withdraw();
+			refundOrdchgSq.setOrdChgSq(params.getInt("ordChgSq"));
+			Withdraw info = withdrawDao.getRefundInfo(refundOrdchgSq);
+			
+			Order order = new Order();
+			order.setOrdNo(info.getOrdNo());
+			order.setCustNo(info.getCustNo());
+			order.setOrdNm(info.getOrdNm());
+			order.setOrdPhnno(info.getOrdPhnno());
+			order.setRefundAmt(info.getRefundAmt());
+			order.setGoodsCnt(info.getGoodsCnt()+"");
+			order.setGoodsNm(info.getGoodsNm());
+			
+			kakaotalkService.sendRefundComplete(order, userNo);
+			
+			
 			// 네이버페이 환불컨펌
 			if(TscConstants.PgGb.NAVER_ORDER.value().equals(change.getPgGb())) {
 				// PG 미전송이 아닐 경우 (Y면 미전송, N이면 전송)

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

@@ -104,6 +104,7 @@ public class Withdraw extends TscBaseDomain {
 	private int totalOrdQty;    // 주문총수량 
 	private int addDeliveryFee;
 	private int refundAmt; 
+	private int goodsCnt;
 	
 	private String stDate;					// 조회 시작 기간
 	private String edDate;					// 조회 종료 기간

+ 24 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml

@@ -180,7 +180,7 @@
 	        , ROW_NUMBER() OVER T AS ROWSPAN_RANK
 	        , ROW_NUMBER() OVER S AS ROWSPAN_DT_CNT 
 	        , ROW_NUMBER() OVER C AS ROWSPAN_DT_RANK
-	        , (SELECT E.EXTMALL_NM FROM TB_EXTMALL E WHERE E.EXTMALL_ID = Z.EXTMALL_ID) AS SITE_CD
+	        , (SELECT E.EXTMALL_NM FROM TB_EXTMALL E WHERE E.VENDOR_ID = Z.VENDOR_ID AND E.EXTMALL_ID = Z.EXTMALL_ID) AS SITE_CD
 	        , CASE WHEN Z.CHG_GB = 'G680_30' THEN FN_GET_CODE_NM('G688', Z.CHG_REASON)
 			       WHEN Z.CHG_GB = 'G680_40' THEN FN_GET_CODE_NM('G689', Z.CHG_REASON)   ELSE '' END AS CHG_REASON_NM  
 			, CASE WHEN Z.CHG_GB = 'EXC' THEN '출고예외'  ELSE IFNULL(FN_GET_CODE_NM('G680', Z.CHG_GB),'회수예외') END  AS CHG_GB_NM
@@ -189,6 +189,7 @@
 		FROM (
 		    SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.ORDER_NO, A.RECALL_EXCEPTION_NO, A.RECALL_EXCEPTION_ITEM_NO)  RNUM 
 		          , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.EXTMALL_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'APISHOP_0054' END AS EXTMALL_ID
+		          , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.VENDOR_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'G003_V001' END AS VENDOR_ID
 		    FROM (   
 				SELECT A.*
 				  FROM (
@@ -636,4 +637,26 @@
 		  AND DEL_YN     = 'N'
 	</select>	
 		
+	<!-- 반품알림톡 정보 조회  -->
+	<select id="getRefundInfo" parameterType="Withdraw" resultType="Withdraw">
+		/* TsaWithdraw.getRefundInfo */
+		SELECT
+			  D.ORD_NO 
+			, D.CUST_NO 
+			, D.ORD_PHNNO 
+			, D.ORD_NM 
+			, (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD= MAX(C.GOODS_CD))  AS GOODS_NM
+			, COUNT(C.GOODS_CD) -1 AS GOODS_CNT
+			, E.REFUND_AMT 
+		  FROM TB_ORDER_CHANGE A
+		  JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ 
+		  JOIN TB_ORDER_DETAIL C        ON B.ORD_DTL_NO = C.ORD_DTL_NO 
+		  JOIN TB_ORDER        D        ON C.ORD_NO     = D.ORD_NO 
+		  JOIN TB_REFUND       E        ON E.ORD_NO     = D.ORD_NO AND E.ORD_CHG_SQ = A.ORD_CHG_SQ 
+		 WHERE A.ORD_CHG_SQ = #{ordChgSq}
+		   AND B.DEL_YN ='N'
+		 GROUP BY D.ORD_NO, D.CUST_NO, D.ORD_PHNNO, D.ORD_NM, E.REFUND_AMT  
+		 
+ 
+	</select>			
 </mapper>