From 15e26840f2124bef030b413a9830e29e5a6071ef Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 07 Apr 2023 16:49:20 +0800
Subject: [PATCH] 在mq之前,先更新订单状态

---
 src/main/java/cc/mrbird/febs/mall/entity/MallMqRecord.java                      |    4 ++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |    1 +
 src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java     |    4 ++++
 src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java                         |    2 +-
 4 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMqRecord.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMqRecord.java
index f8255a7..b6f6264 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMqRecord.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMqRecord.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 @TableName("mall_mq_record")
 public class MallMqRecord {
@@ -17,4 +19,6 @@
 
     private Integer retryTimes;
 
+    private Date createTime;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
index 62c44f7..73d863b 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java
@@ -86,7 +86,7 @@
      * 补贴消息--重试
      *  一个小时运行一次
      */
-    @Scheduled(cron = "0 0 * * * ?")
+    @Scheduled(cron = "0 /5 * * * ? ")
     public void mqPerkRetryJob() {
         memberProfitService.mqPerkRetryJob();
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index c1fcfda..6832a93 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -340,6 +340,7 @@
                 mallMqRecord.setOrderId(orderInfo.getId());
                 mallMqRecord.setState(2);
                 mallMqRecord.setRetryTimes(2);
+                mallMqRecord.setCreateTime(orderInfo.getPayTime());
                 mallMqRecordMapper.insert(mallMqRecord);
                 //发送补贴消息
                 agentProducer.sendPerkMoneyMsg(orderInfo.getId());
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index 68303f5..3a8ff18 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -775,7 +775,11 @@
         if(CollUtil.isEmpty(mallMqRecords)){
             return;
         }
+        DateTime dateTime = DateUtil.offsetMinute(new Date(), -5);
         for(MallMqRecord mallMqRecord : mallMqRecords){
+            if(DateUtil.compare(dateTime,mallMqRecord.getCreateTime()) <= 0){
+                continue;
+            }
             Integer retryTimes = mallMqRecord.getRetryTimes();
             if(retryTimes <= 0){
                 continue;

--
Gitblit v1.9.1