From d9f6969bcc27d695f5f4211c3322237635611cb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Wed, 20 Nov 2024 13:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8F=96=E6=B6=88=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E7=A7=AF=E5=88=86=E5=95=86=E5=93=81=E5=85=91?= =?UTF-8?q?=E6=8D=A2=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TbPointsExchangeRecordService.java | 2 ++ .../impl/TbPointsExchangeRecordServiceImpl.java | 10 ++++++++++ .../java/cn/ysk/cashier/quartz/task/TestTask.java | 12 ++++++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbPointsExchangeRecordService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbPointsExchangeRecordService.java index 3482ddc9..c6729913 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbPointsExchangeRecordService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/TbPointsExchangeRecordService.java @@ -24,4 +24,6 @@ public interface TbPointsExchangeRecordService extends IService total(Map params); + + void authCancel(); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbPointsExchangeRecordServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbPointsExchangeRecordServiceImpl.java index f7b5e880..00071ce7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbPointsExchangeRecordServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbPointsExchangeRecordServiceImpl.java @@ -243,4 +243,14 @@ public class TbPointsExchangeRecordServiceImpl extends ServiceImpllambdaUpdate() + .set(TbPointsExchangeRecord::getStatus, "cancel") + .set(TbPointsExchangeRecord::getCancelOrRefundTime, new Date()) + .set(TbPointsExchangeRecord::getCancelOrRefundReason, "超时未支付,系统自动取消订单") + .eq(TbPointsExchangeRecord::getStatus, "unpaid") + .last("and TIMESTAMPDIFF(MINUTE, create_time, NOW()) >= 5")); + } + } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/quartz/task/TestTask.java b/eladmin-system/src/main/java/cn/ysk/cashier/quartz/task/TestTask.java index d10c3a54..1e36b4d9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/quartz/task/TestTask.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/quartz/task/TestTask.java @@ -1,6 +1,7 @@ package cn.ysk.cashier.quartz.task; import cn.ysk.cashier.dto.product.StockCountDTO; +import cn.ysk.cashier.mybatis.service.TbPointsExchangeRecordService; import cn.ysk.cashier.pojo.order.TbCashierCart; import cn.ysk.cashier.pojo.product.TbProductStockDetail; import cn.ysk.cashier.repository.order.StockCountRepository; @@ -9,21 +10,17 @@ import cn.ysk.cashier.repository.product.TbProductSkuRepository; import cn.ysk.cashier.service.order.TbCashierCartService; import cn.ysk.cashier.service.order.TbOrderInfoService; import cn.ysk.cashier.service.shop.TbShopStorageService; -import cn.ysk.cashier.utils.CacheKey; import cn.ysk.cashier.utils.DateUtil; import cn.ysk.cashier.utils.QueryHelp; import cn.ysk.cashier.utils.RedisUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import javax.persistence.criteria.Predicate; -import java.util.HashSet; import java.util.List; -import java.util.Set; /** * 测试用 @@ -47,6 +44,8 @@ public class TestTask { private RedisUtils redisUtils; @Autowired private EntityManager entityManager; + @Autowired + private TbPointsExchangeRecordService tbPointsExchangeRecordService; private final TbCashierCartService tbCashierCartService; private final TbOrderInfoService orderInfoService; @@ -101,6 +100,11 @@ public class TestTask { orderInfoService.cancelOrder(); } + public void cancelPointsExchangeOrder(){ + log.info("积分商品订单取消定时任务执行"); + tbPointsExchangeRecordService.authCancel(); + } + @Transactional(rollbackFor = Exception.class) public void countStock(String str) { String startTime = "";