xiaoyong931011
2023-04-07 15e26840f2124bef030b413a9830e29e5a6071ef
在mq之前,先更新订单状态
4 files modified
11 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/entity/MallMqRecord.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java 4 ●●●● patch | view | raw | blame | history
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;
}
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();
    }
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());
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;