Bläddra i källkod

[消息][修改][添加重试机制]

release_toaliyun_real
luozukai 7 år sedan
förälder
incheckning
27b842ce36
3 ändrade filer med 15 tillägg och 13 borttagningar
  1. +13
    -11
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java
  2. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java

+ 13
- 11
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java Visa fil

@@ -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);
// }
// }
}

}


+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/po/msg/BaseMsg.java Visa fil

@@ -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;



+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java Visa fil

@@ -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);


Laddar…
Avbryt
Spara