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