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