diff --git a/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java b/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java index a9a7940d6..95a6128ff 100644 --- a/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java +++ b/mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java @@ -34,6 +34,8 @@ public class MqBaseConsumer { private FmInsideOrderSuccessMsgServiceImpl fmInsideOrderSuccessMsgService; @Autowired private FmInsideCouponVerifyMsgServiceImpl fmInsideCouponVerifyMsgService; + @Autowired + private MqBaseProducer mqBaseProducer; public void doMessage(String message) { log.info("received message: {}", message); @@ -87,20 +89,20 @@ public class MqBaseConsumer { baseMsg.setStatusMessage(e.getMessage()); baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_FAIL.getCode()); wxMsgRecordMapper.update(baseMsg); + + if(null != baseMsg){ + if(baseMsg.getDelayTimeLevel() < 4){ + baseMsg.setDelayTimeLevel(baseMsg.getDelayTimeLevel()+1); + mqBaseProducer.sendMessage(baseMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + }else{ + baseMsg.setStatusMessage("重试次数超过3次"); + baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_FAIL.getCode()); + wxMsgRecordMapper.update(baseMsg); + } + } }catch (Throwable e1){ log.error("更新db状态error: ", e1); } - -// if(null != baseMsg){ -// if(baseMsg.getDelayTimeLevel() < 3){ -// baseMsg.setDelayTimeLevel(3); //10s后重试 -// mqBaseProducer.sendMessage(baseMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); -// }else{ -// baseMsg.setStatusMessage(e.getMessage()); -// baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_FAIL.getCode()); -// wxMsgRecordMapper.update(baseMsg); -// } -// } } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java b/mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java index 277a23d69..61d73f341 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java @@ -45,7 +45,7 @@ public class BaseMsg extends BaseEntity { @Transient private String statusMessage; - @io.swagger.annotations.ApiModelProperty(value="rocketMQ延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h",name="delayTimeLevel") + @io.swagger.annotations.ApiModelProperty(value="延迟重试消息 1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h",name="delayTimeLevel") @Transient private Integer delayTimeLevel = 0; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index 7c2e29b24..e3e0cdc0f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -863,7 +863,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { String receiveDate = (String)mapList.get(0).get("receiveDate"); String manager = (String)mapList.get(0).get("manager"); String managerPhone = (String)mapList.get(0).get("managerPhone"); - Integer expiredDay = (Integer)mapList.get(0).get("expiredDay"); + Long expiredDay = (Long)mapList.get(0).get("expiredDay"); String billListStr = ""; BigDecimal sumNeedPay = new BigDecimal(0);