Преглед изворни кода

이태영 - 20210504 무통장입금 입금기한 만료 주문 취소

xodud1202 пре 5 година
родитељ
комит
c9f5c5fb61

+ 37 - 0
pom.xml

@@ -55,6 +55,43 @@
 			<scope>system</scope>
 			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/gagaframework-web-util-1.7-RELEASE.jar</systemPath>
 		</dependency>
+		<!--USAFE 보증보험-->
+		<dependency>
+			<groupId>com.usafe.guarantee</groupId>
+			<artifactId>usafe-guarantee</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/usafe.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>net.sourceforge.blowfishj</groupId>
+			<artifactId>usafe-blowfishj</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/usafe.jar</systemPath>
+		</dependency>
+		<!--KCP-->
+		<dependency>
+			<groupId>com.kcp</groupId>
+			<artifactId>kcp</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jPpcliE.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.kcp</groupId>
+			<artifactId>ConnectionKCP</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ConnectionKCP.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>kr.co.kcp.CT_CLI</groupId>
+			<artifactId>CT_CLI</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/CtCli-1.0.6.jar</systemPath>
+		</dependency>
 		<!-- \\\ WEB-INF lib -->
 	</dependencies>
 	

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

@@ -0,0 +1,30 @@
+package com.style24.batch.biz.dao;
+
+import java.util.Collection;
+
+import org.springframework.stereotype.Repository;
+
+import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Point;
+
+/**
+ * 주문 Dao
+ *
+ * @author xodud1202
+ * @since 2021. 05. 03
+ */
+@ShopDs
+@Repository
+public interface TsbOrderDao {
+
+	/**
+	 * 무통장입금 입금 만료 주문 조회
+	 *
+	 * @param
+	 * @return Collection<Order>
+	 * @author xodud1202
+	 * @since  2021. 05. 03
+	 */
+	Collection<Order> getOrderDepositExpirationList();
+}

+ 1 - 0
src/main/java/com/style24/batch/biz/job/marketing/TsbCartExpirationJob.java

@@ -2,6 +2,7 @@ package com.style24.batch.biz.job.marketing;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import com.style24.batch.biz.job.TsbAbstractJob;

+ 81 - 0
src/main/java/com/style24/batch/biz/job/order/TsbOrderExpirationJob.java

@@ -0,0 +1,81 @@
+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;
+
+/**
+ * 주문 정보 BATCH
+ *
+ * @author xodud1202
+ * @since 2021. 05. 03
+ */
+@Component
+@Slf4j
+public class TsbOrderExpirationJob 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.getOrderDepositExpirationList();
+	}
+
+	@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);
+				coreOrderService.uSafeGuaranteePayedBeforeCancel(order);
+				succCnt++;
+			} catch (Exception e) {
+				failCnt++;
+				e.printStackTrace();
+			}
+		}
+
+		return result;
+	}
+
+	@Override
+	public void notify(OrderChange param) throws Exception {
+		super.printResult(succCnt, failCnt);
+	}
+
+}

+ 39 - 0
src/main/java/com/style24/batch/biz/service/TsbOrderService.java

@@ -0,0 +1,39 @@
+package com.style24.batch.biz.service;
+
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.style24.batch.biz.dao.TsbOrderDao;
+import com.style24.batch.biz.dao.TsbPointDao;
+import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Point;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 포인트 Service
+ *
+ * @author jsshin
+ * @since 2021. 03. 05
+ */
+@Service
+@Slf4j
+public class TsbOrderService {
+
+	@Autowired
+	private TsbOrderDao orderDao;
+
+	/**
+	 * 무통장입금 입금기한 만료 주문 조회
+	 *
+	 * @return Collection<Order>
+	 * @author xodud1202
+	 * @since  2021. 05. 03
+	 */
+	public Collection<Order> getOrderDepositExpirationList() {
+		return orderDao.getOrderDepositExpirationList();
+	}
+
+}

+ 41 - 0
src/main/java/com/style24/batch/biz/task/TsbOrderTask.java

@@ -0,0 +1,41 @@
+package com.style24.batch.biz.task;
+
+import org.springframework.beans.factory.annotation.Autowired;
+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 lombok.extern.slf4j.Slf4j;
+
+/**
+ *
+ * 주문 Task
+ * @author xodud1202
+ * @since 2021. 05. 03
+ */
+@Component
+@Slf4j
+public class TsbOrderTask {
+
+	@Autowired
+	private TsbOrderExpirationJob orderExpirationJob;
+
+	/**
+	 * 무통장입금 입금 기한 만료 데이터 취소
+	 *
+	 * @throws Exception - 예외처리
+	 * @author xodud1202
+	 * @since 2021. 05. 03
+	 */
+	@Scheduled(cron = "${cron.order.deposit.expiration}")
+	//@Scheduled(fixedDelay=360000)
+	@Async
+	public void expireOrderExpirationJob() throws Exception {
+		orderExpirationJob.runById("cron.order.deposit.expiration");
+	}
+}

+ 19 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsbOrder.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.batch.biz.dao.TsbOrderDao">
+
+	<!-- 무통장입금 입금기한 만료 주문 조회 -->
+	<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()
+		GROUP BY OD.ORD_NO
+	</select>
+</mapper>

+ 23 - 8
src/main/resources/config/application-locd.yml

@@ -23,15 +23,28 @@ upload:
         allow.extension: jpg|gif|jpeg|png
         view: //image.wivismall.com/speedy_image-wivismall/goods
 
+# USAFE 보증보험 정보
+usafe.guarantee:
+    mall.id: TEST00
+    send.url: http://gateway.usafe.co.kr/esafe/guartrn.asp
+
 # PG
 pg:
     kcp:
-        cancel.url: http://locd.admin.wivismall.com/pg/nice/cancel
-        escrow.url: http://locd.admin.wivismall.com/pg/nice/escrow
-        merchantId: nictest00m
-        merchantKey: 33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==
-        log.path: /WIDE/workspace/logs/wivis
-        account.cert.url: https://webapi.nicepay.co.kr/api/checkBankAccountAPI.jsp
+        log.dir: /WIDE/workspace/files/data/style24/logs/front
+        gw:
+            url: testpaygw.kcp.co.kr
+            port: 8090
+        js.url: https://testpay.kcp.co.kr/plugin/payplus_web.jsp
+        server: false
+        site:
+            cd: U3476
+            key:
+            name: ISTYLE TEST
+        log.level: 3
+        module.type: 01
+        tx.mode: 0
+        receipt.url : https://testadmin8.kcp.co.kr/assist/bill.BillActionNew.do
 
 # ERP (한세드림)
 erp:
@@ -108,7 +121,6 @@ cron:
         privacy.policy.notice : 2 22 2 29 2 ?       # 개인정보 이용내역 안내(해야함)
         marketing.agreement.notice : 2 22 2 29 2 ?  # 마케팅 정보 수신동의 내역 안내(해야함)
 
-
     #전시
     display:
         category.refresh: 2 22 2 29 2 ?         #카테고리 갱신
@@ -121,4 +133,7 @@ cron:
         birthday.coupon.notice : 2 22 2 29 2 ?  # 생일쿠폰 다운로드 안내 (해야함)
         comback.coupon.notice : 2 22 2 29 2 ?   # 복귀할인쿠폰발급안내 (해야함)
         expire.point : 2 22 2 29 2 ?            # 포인트 소멸
-        cart.expiration : 0 03 14 ? * MON-FRI   # 만료기간 지난 장바구니 삭제
+        cart.expiration : 2 22 2 29 2 ?         # 만료기간 지난 장바구니 삭제
+
+    order:
+        deposit.expiration : 2 22 2 29 2 ?      # 무통장입금 입금기한 만료 주문 취소

+ 23 - 0
src/main/resources/config/application-locp.yml

@@ -16,3 +16,26 @@ spring:
 logging:
     config: classpath:log/logback-locp.xml
 
+# USAFE 보증보험 정보
+usafe.guarantee:
+    mall.id: istyle2400
+    send.url: https://gateway.usafe.co.kr/esafe/guartrn.asp
+
+# PG
+pg:
+    kcp:
+        log.dir: /WIDE/workspace/files/data/style24/logs/front
+        gw:
+            url: paygw.kcp.co.kr
+            port: 8090
+        user.type: PGNW
+        js.url: https://pay.kcp.co.kr/plugin/payplus_web.jsp
+        server: true
+        site:
+            cd: U3476
+            key: 4aVa--.Xz8Fc78nwYPsrmmY__
+            name: ISTYLE
+        log.level: 3
+        module.type: 01
+        tx.mode: 0
+        receipt.url : https://admin8.kcp.co.kr/assist/bill.BillActionNew.do

+ 24 - 0
src/main/resources/config/application-run.yml

@@ -25,3 +25,27 @@ spring:
                 172.30.90.113:6381
 logging:
     config: classpath:log/logback-run.xml
+
+# USAFE 보증보험 정보
+usafe.guarantee:
+    mall.id: istyle2400
+    send.url: https://gateway.usafe.co.kr/esafe/guartrn.asp
+
+# PG
+pg:
+    kcp:
+        log.dir: E:/Run/Payplus
+        gw:
+            url: paygw.kcp.co.kr
+            port: 8090
+        user.type: PGNW
+        js.url: https://pay.kcp.co.kr/plugin/payplus_web.jsp
+        server: true
+        site:
+            cd: U3476
+            key: 4aVa--.Xz8Fc78nwYPsrmmY__
+            name: ISTYLE
+        log.level: 3
+        module.type: 01
+        tx.mode: 0
+        receipt.url : https://admin8.kcp.co.kr/assist/bill.BillActionNew.do

BIN
src/main/webapp/WEB-INF/lib/ConnectionKCP.jar


BIN
src/main/webapp/WEB-INF/lib/CtCli-1.0.6.jar


BIN
src/main/webapp/WEB-INF/lib/jPpcliE.jar


BIN
src/main/webapp/WEB-INF/lib/usafe.jar