Sfoglia il codice sorgente

2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직

jsh77b 4 anni fa
parent
commit
1b343e5496

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

@@ -995,6 +995,15 @@ public interface TscOrderDao {
 	 * @since 2021. 07. 26
 	 * @since 2021. 07. 26
 	 */
 	 */
 	int changedOrdDtlStatDelvStart(Order order);
 	int changedOrdDtlStatDelvStart(Order order);
+	
+	
+	/**
+	 * 외부몰 결제 여부 정보 체크
+	 * @param param
+	 * @author jsh77b
+	 * @since 2021. 09. 02
+	 */
+	int getExtmallOrderChk(Payment param);
 }
 }
 
 
 
 

+ 28 - 1
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -711,6 +711,12 @@ public class TscOrderChangeService {
 
 
 		// 8. PG 취소 처리
 		// 8. PG 취소 처리
 		for (Payment pg : pgList) {
 		for (Payment pg : pgList) {
+			
+			// 2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직
+			if (orderDao.getExtmallOrderChk(pg) > 0) {
+				payMeans = TscConstants.PayMeans.EXTMALL.value();
+			}
+			
 			// 네이버페이주문형, 외부몰주문, PG점프, 100%상품권 결제는 PG점프 처리
 			// 네이버페이주문형, 외부몰주문, PG점프, 100%상품권 결제는 PG점프 처리
 			if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || pg.getPartCancelAmt() == 0) {
 			if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || pg.getPartCancelAmt() == 0) {
 				pg.setPayAmt(-pg.getPartCancelAmt());
 				pg.setPayAmt(-pg.getPartCancelAmt());
@@ -2249,7 +2255,12 @@ public class TscOrderChangeService {
 		} else {
 		} else {
 			pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 			pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 		}
 		}
-
+		
+		// 2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직
+		if (orderDao.getExtmallOrderChk(pg) > 0) {
+			payMeans = TscConstants.PayMeans.EXTMALL.value();
+		}
+		
 		// PG처리
 		// PG처리
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
@@ -3060,6 +3071,12 @@ public class TscOrderChangeService {
 
 
 		// 5. PG 취소 처리
 		// 5. PG 취소 처리
 		for (Payment pg : pgList) {
 		for (Payment pg : pgList) {
+			
+			// 2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직
+			if (orderDao.getExtmallOrderChk(pg) > 0) {
+				payMeans = TscConstants.PayMeans.EXTMALL.value();
+			}
+						
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 			if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 			if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 				pg.setPayAmt(pg.getPayAmt() * -1);
 				pg.setPayAmt(pg.getPayAmt() * -1);
@@ -3952,6 +3969,11 @@ public class TscOrderChangeService {
 		pg.setRegNo(regNo);
 		pg.setRegNo(regNo);
 		pg.setUpdNo(updNo);
 		pg.setUpdNo(updNo);
 		pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 		pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
+		
+		// 2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직
+		if (orderDao.getExtmallOrderChk(pg) > 0) {
+			payMeans = TscConstants.PayMeans.EXTMALL.value();
+		}
 
 
 		// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 		// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
@@ -4251,6 +4273,11 @@ public class TscOrderChangeService {
 		pg.setRegNo(regNo);
 		pg.setRegNo(regNo);
 		pg.setUpdNo(updNo);
 		pg.setUpdNo(updNo);
 		pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
 		pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
+		
+		// 2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직
+		if (orderDao.getExtmallOrderChk(pg) > 0) {
+			payMeans = TscConstants.PayMeans.EXTMALL.value();
+		}
 
 
 		// 상품권으로만 결제 시 PG점프
 		// 상품권으로만 결제 시 PG점프
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {

+ 13 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -5395,6 +5395,19 @@
 		  AND ORD_NO = #{ordNo}
 		  AND ORD_NO = #{ordNo}
 		  AND ORD_DTL_NO = #{ordDtlNo}
 		  AND ORD_DTL_NO = #{ordDtlNo}
 	</update>
 	</update>
+	
+	<!-- 2021.09.02 외부몰 결제 여부 정보 체크 -->
+	<select id="getEntryNo" parameterType="Payment" resultType="int">
+		/* order.getExtmallOrderChk */
+		SELECT COUNT(1)
+		FROM   TB_PAYMENT P
+		WHERE  1=1
+		AND    P.PAY_STAT = 'G016_30'
+		AND    P.PG_TID IS NULL
+		AND    P.PG_GB <![CDATA[<>]]> 'ISTYLE'
+		AND    P.PAY_GB = 'O'
+		AND    P.ORD_NO #{ordNo}
+	</select>
 </mapper>
 </mapper>