Просмотр исходного кода

이태영 - 20210504 선물하기 결제 완료 후 주소 입력 기간 만료 후 주문 취소

xodud1202 5 лет назад
Родитель
Сommit
94a675ee77

+ 10 - 0
src/main/java/com/style24/batch/biz/dao/TsbOrderDao.java

@@ -27,4 +27,14 @@ public interface TsbOrderDao {
 	 * @since  2021. 05. 03
 	 */
 	Collection<Order> getOrderDepositExpirationList();
+
+	/**
+	 * 선물하기 배송지 등록 기간 만료 주문 취소
+	 *
+	 * @param
+	 * @return Collection<Order>
+	 * @author xodud1202
+	 * @since  2021. 05. 06
+	 */
+	Collection<Order> getOrderGiftExpirationList();
 }

+ 2 - 2
src/main/java/com/style24/batch/biz/job/order/TsbOrderExpirationJob.java → src/main/java/com/style24/batch/biz/job/order/TsbOrderDepositExpirationJob.java

@@ -16,14 +16,14 @@ import com.style24.persistence.domain.OrderChange;
 import lombok.extern.slf4j.Slf4j;
 
 /**
- * 주문 정보 BATCH
+ * 무통장입금 입금 기한 만료 주문 취소
  *
  * @author xodud1202
  * @since 2021. 05. 03
  */
 @Component
 @Slf4j
-public class TsbOrderExpirationJob extends TsbAbstractJob<Collection<Order>, Collection<Order>, OrderChange> {
+public class TsbOrderDepositExpirationJob extends TsbAbstractJob<Collection<Order>, Collection<Order>, OrderChange> {
 
 	@Autowired
 	private TscOrderChangeService coreOrderChangeService;

+ 80 - 0
src/main/java/com/style24/batch/biz/job/order/TsbOrderGiftExpirationJob.java

@@ -0,0 +1,80 @@
+package com.style24.batch.biz.job.order;
+
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.style24.batch.biz.job.TsbAbstractJob;
+import com.style24.batch.biz.service.TsbOrderService;
+import com.style24.core.biz.service.TscOrderChangeService;
+import com.style24.core.biz.service.TscOrderService;
+import com.style24.core.support.env.TscConstants;
+import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.OrderChange;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 선물하기 배송지 등록 기간 만료 주문 취소
+ *
+ * @author xodud1202
+ * @since 2021. 05. 06
+ */
+@Component
+@Slf4j
+public class TsbOrderGiftExpirationJob extends TsbAbstractJob<Collection<Order>, Collection<Order>, OrderChange> {
+
+	@Autowired
+	private TscOrderChangeService coreOrderChangeService;
+
+	@Autowired
+	private TscOrderService coreOrderService;
+
+	@Autowired
+	private TsbOrderService orderService;
+
+	private int succCnt = 0;
+	private int failCnt = 0;
+
+	@Override
+	public Collection<Order> read() throws Exception {
+		return orderService.getOrderGiftExpirationList();
+	}
+
+	@Override
+	public Collection<Order> process(Collection<Order> params) throws Exception {
+		return params;
+	}
+
+	@Override
+	public OrderChange write(Collection<Order> params) throws Exception {
+		OrderChange result = new OrderChange();
+		for(Order order : params) {
+			OrderChange orderChange = new OrderChange();
+			orderChange.setOrdNo(order.getOrdNo());
+			orderChange.setReqGbn("cnclComplete");		// 전체취소
+			orderChange.setChgReason(TscConstants.OrderCancelReason.ADMIN_CANCEL.value());
+			orderChange.setChgReasonNm("전체취소 - 선물 배송지 입력 기한 만료");
+			orderChange.setRegNo(0);
+			orderChange.setUpdNo(0);
+			orderChange.setBatchYn("Y");
+
+			try {
+				coreOrderChangeService.allCnclComplete(orderChange);
+				succCnt++;
+			} catch (Exception e) {
+				failCnt++;
+				e.printStackTrace();
+			}
+		}
+
+		return result;
+	}
+
+	@Override
+	public void notify(OrderChange param) throws Exception {
+		super.printResult(succCnt, failCnt);
+	}
+
+}

+ 12 - 2
src/main/java/com/style24/batch/biz/service/TsbOrderService.java

@@ -15,8 +15,8 @@ import lombok.extern.slf4j.Slf4j;
 /**
  * 포인트 Service
  *
- * @author jsshin
- * @since 2021. 03. 05
+ * @author xodud1202
+ * @since 2021. 05. 04
  */
 @Service
 @Slf4j
@@ -36,4 +36,14 @@ public class TsbOrderService {
 		return orderDao.getOrderDepositExpirationList();
 	}
 
+	/**
+	 * 선물하기 배송지 등록 기간 만료 주문 취소
+	 *
+	 * @return Collection<Order>
+	 * @author xodud1202
+	 * @since  2021. 05. 03
+	 */
+	public Collection<Order> getOrderGiftExpirationList() {
+		return orderDao.getOrderGiftExpirationList();
+	}
 }

+ 22 - 7
src/main/java/com/style24/batch/biz/task/TsbOrderTask.java

@@ -5,10 +5,8 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import com.style24.batch.biz.job.marketing.TsbAutoBuyConfirmJob;
-import com.style24.batch.biz.job.marketing.TsbCartExpirationJob;
-import com.style24.batch.biz.job.marketing.TsbExpirePointJob;
-import com.style24.batch.biz.job.order.TsbOrderExpirationJob;
+import com.style24.batch.biz.job.order.TsbOrderDepositExpirationJob;
+import com.style24.batch.biz.job.order.TsbOrderGiftExpirationJob;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -23,7 +21,10 @@ import lombok.extern.slf4j.Slf4j;
 public class TsbOrderTask {
 
 	@Autowired
-	private TsbOrderExpirationJob orderExpirationJob;
+	private TsbOrderDepositExpirationJob orderDepositExpirationJob;
+
+	@Autowired
+	private TsbOrderGiftExpirationJob orderGiftExpirationJob;
 
 	/**
 	 * 무통장입금 입금 기한 만료 데이터 취소
@@ -35,7 +36,21 @@ public class TsbOrderTask {
 	@Scheduled(cron = "${cron.order.deposit.expiration}")
 	//@Scheduled(fixedDelay=360000)
 	@Async
-	public void expireOrderExpirationJob() throws Exception {
-		orderExpirationJob.runById("cron.order.deposit.expiration");
+	public void expireOrderDepositExpirationJob() throws Exception {
+		orderDepositExpirationJob.runById("cron.order.deposit.expiration");
+	}
+
+	/**
+	 * 선물하기 배송지 등록 기간 만료 주문 취소
+	 *
+	 * @throws Exception - 예외처리
+	 * @author xodud1202
+	 * @since 2021. 05. 03
+	 */
+	@Scheduled(cron = "${cron.order.gift.expiration}")
+	//@Scheduled(fixedDelay=360000)
+	@Async
+	public void expireOrderGiftExpirationJob() throws Exception {
+		orderGiftExpirationJob.runById("cron.order.gift.expiration");
 	}
 }

+ 23 - 8
src/main/java/com/style24/persistence/mybatis/shop/TsbOrder.xml

@@ -6,14 +6,29 @@
 	<select id="getOrderDepositExpirationList" parameterType="Order" resultType="Order">
 		/* TsbOrder.getOrderDepositExpirationList : 무통장입금 입금기한 만료 주문 조회 */
 		SELECT OD.ORD_NO
-		FROM TB_ORDER_DETAIL OD
-		INNER JOIN TB_PAYMENT PAY
-		ON OD.ORD_NO = PAY.ORD_NO
-		WHERE ORD_DTL_STAT = 'G013_10'
-		AND PAY.PAY_STAT = 'G016_00'
-		AND PAY.PG_GB = 'KCP'
-		AND PAY.PAY_MEANS = 'G014_20'
-		AND PAY.VA_DEADLINE <![CDATA[ < ]]> NOW()
+		FROM   TB_ORDER_DETAIL OD
+		INNER  JOIN TB_PAYMENT PAY
+		ON     OD.ORD_NO = PAY.ORD_NO
+		WHERE  OD.ORD_DTL_STAT = 'G013_10'
+		AND    PAY.PAY_STAT = 'G016_00'
+		AND    PAY.PG_GB = 'KCP'
+		AND    PAY.PAY_MEANS = 'G014_20'
+		AND    PAY.VA_DEADLINE <![CDATA[ < ]]> NOW()
 		GROUP BY OD.ORD_NO
 	</select>
+
+	<!-- 선물하기 배송지 등록 기간 만료 주문 취소 -->
+	<select id="getOrderGiftExpirationList" parameterType="Order" resultType="Order">
+		/* TsbOrder.getOrderGiftExpirationList : 선물하기 배송지 등록 기간 만료 주문 취소 */
+		SELECT O.ORD_NO
+		FROM   TB_ORDER O
+		INNER  JOIN TB_ORDER_DETAIL OD
+		ON     OD.ORD_NO = O.ORD_NO
+		WHERE  1=1
+		AND    OD.GIFT_PACK_YN = 'Y'
+		AND    OD.GIFT_ADDR_INP_YN = 'N'
+		AND    OD.ORD_DTL_STAT = 'G013_20'
+		AND    O.ORD_DT <![CDATA[ < ]]> ADDDATE(NOW(), INTERVAL -3 DAY)
+		GROUP  BY O.ORD_NO
+	</select>
 </mapper>

+ 2 - 1
src/main/resources/config/application-locd.yml

@@ -136,4 +136,5 @@ cron:
         cart.expiration : 2 22 2 29 2 ?         # 만료기간 지난 장바구니 삭제
 
     order:
-        deposit.expiration : 2 22 2 29 2 ?      # 무통장입금 입금기한 만료 주문 취소
+        deposit.expiration : 2 22 2 29 2 ?      # 무통장입금 입금기한 만료 주문 취소
+        gift.expiration : 2 22 2 29 2 ?         # 선물하기 배송지 등록 기간 만료 주문 취소