|
|
|
@ -48,67 +48,65 @@ public class OrderStatusHandler {
|
|
|
|
|
|
|
|
|
|
@RabbitHandler |
|
|
|
|
public void orderStatusHandler(Map map, Message message, Channel channel) throws IOException, NoSuchAlgorithmException { |
|
|
|
|
// 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉
|
|
|
|
|
// 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉
|
|
|
|
|
final long deliveryTag = message.getMessageProperties().getDeliveryTag(); |
|
|
|
|
String msg = new String(message.getBody()); |
|
|
|
|
log.info("##################orderStatusHandler: 处理扫码作业数据"); |
|
|
|
|
OrderStatusDTO orderStatusDTO = (OrderStatusDTO) map.get("messageData"); |
|
|
|
|
String orderNo = orderStatusDTO.getOrderNo();//订单自编号
|
|
|
|
|
String orderSelfNum = orderStatusDTO.getOrderNo();//订单自编号
|
|
|
|
|
//通过订单自编号去查询该条订单是属于哪个工厂
|
|
|
|
|
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderNo); |
|
|
|
|
if(Objects.isNull(advanceEntity)){ |
|
|
|
|
log.info("##################orderStatusHandler: 未找到对应订单 orderNo={}",orderNo); |
|
|
|
|
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderSelfNum); |
|
|
|
|
if (Objects.isNull(advanceEntity)) { |
|
|
|
|
log.info("##################orderStatusHandler: 未找到对应订单 orderNo={}", orderSelfNum); |
|
|
|
|
// channel.basicAck(deliveryTag,true);
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
String type = advanceEntity.getType();//品牌
|
|
|
|
|
|
|
|
|
|
R r = null; |
|
|
|
|
switch (type){ |
|
|
|
|
switch (type) { |
|
|
|
|
case FactoryConstant.PIANO: |
|
|
|
|
r = panFactoryDataService.handleStatusData(orderStatusDTO); |
|
|
|
|
int code = r.getCode(); |
|
|
|
|
if(code == 400 || code == 200){ |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}",orderNo); |
|
|
|
|
if (code == 400 || code == 200) { |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}", orderSelfNum); |
|
|
|
|
// channel.basicAck(deliveryTag,true);
|
|
|
|
|
}else{ |
|
|
|
|
throw new CustomerException(code,r.getMsg()); |
|
|
|
|
} else { |
|
|
|
|
throw new CustomerException(code, r.getMsg()); |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case FactoryConstant.MENGT: |
|
|
|
|
try{ |
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
r = mtFactoryDataService.handleStatusData(orderStatusDTO); |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}",orderNo); |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}", orderSelfNum); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}catch (CustomerException rc){ |
|
|
|
|
} catch (CustomerException rc) { |
|
|
|
|
rc.printStackTrace(); |
|
|
|
|
if(200!=rc.code||400!=rc.code){ |
|
|
|
|
throw new CustomerException("程序异常,需要重试"); |
|
|
|
|
if (200 != rc.code || 400 != rc.code) { |
|
|
|
|
throw new CustomerException("程序异常,需要重试"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
code = r.getCode(); |
|
|
|
|
if(code == 400 || code == 200){ |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}",orderNo); |
|
|
|
|
if (code == 400 || code == 200) { |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}", orderSelfNum); |
|
|
|
|
// channel.basicAck(deliveryTag,true);
|
|
|
|
|
}else{ |
|
|
|
|
throw new CustomerException(code,r.getMsg()); |
|
|
|
|
} else { |
|
|
|
|
throw new CustomerException(code, r.getMsg()); |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case FactoryConstant.ZHIBANG: |
|
|
|
|
r = zbFactoryDataService.handleStatusData(orderStatusDTO); |
|
|
|
|
int resultCode = r.getCode(); |
|
|
|
|
if(resultCode == 400 || resultCode == 200){ |
|
|
|
|
log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}",orderNo); |
|
|
|
|
// channel.basicAck(deliveryTag,true);
|
|
|
|
|
}else{ |
|
|
|
|
throw new CustomerException(resultCode,r.getMsg()); |
|
|
|
|
} |
|
|
|
|
// r = zbFactoryDataService.handleStatusData(orderStatusDTO);
|
|
|
|
|
// int resultCode = r.getCode();
|
|
|
|
|
// if (resultCode == 400 || resultCode == 200) {
|
|
|
|
|
// log.info("##################orderStatusHandler: 该条数据不用处理 orderNo={}", orderSelfNum);
|
|
|
|
|
//// channel.basicAck(deliveryTag,true);
|
|
|
|
|
// } else {
|
|
|
|
|
// throw new CustomerException(resultCode, r.getMsg());
|
|
|
|
|
// }
|
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
log.info("##################orderStatusHandler: 未知品牌 type={}",type); |
|
|
|
|
log.info("##################orderStatusHandler: 未知品牌 type={}", type); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|