提交 114036b7 authored 作者: huyufan's avatar huyufan

开发:增加订单状态MQ

上级 f1188697
......@@ -82,6 +82,7 @@ public class GoodsOrderController {
@PostMapping("/saveGoodsOrder")
public Result<Object> saveGoodName(@RequestBody @Validated OrderGoodsParams orderGoodsParams) {
String orderNo = orderGoodsParams.getOrderNo();
LocalDateTime now = LocalDateTime.now();
LocalDateTime sendLazyTime = null;
//UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
RLock rLock = null;
......@@ -102,7 +103,6 @@ public class GoodsOrderController {
if (orderInfo.getResidueWeight().compareTo(childSum) < 0) {
throw new RuntimeException("当前货单总吨数已超订单总吨数");
}
LocalDateTime now = LocalDateTime.now();
long beginOrderGoodsId = orderGoodsIdGenerate.getOrderGoodsId("pt", childParamsList.size());
for (OrderGoodsChildParams child : childParamsList) {
if (child.getPendingOrderWay().equals(2) && child.getNeedTruckNum() == null) {
......@@ -121,13 +121,13 @@ public class GoodsOrderController {
orderGoods.setPendingOrderWay(child.getPendingOrderWay());
//挂单时间
LocalDateTime postedTime = DateUtils.parseDateTime(child.getPendingOrderTime()).get();
if (sendLazyTime == null) {
sendLazyTime = postedTime;
} else {
if (sendLazyTime.isAfter(postedTime)) {
sendLazyTime = postedTime;
}
}else if (sendLazyTime.isAfter(postedTime)) {
sendLazyTime = postedTime;
}
orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
......@@ -167,7 +167,6 @@ public class GoodsOrderController {
if (childParamsList.size() > 1) {
throw new RuntimeException("全部自有车辆只能全部提取");
}
LocalDateTime now = LocalDateTime.now();
long beginOrderGoodsId = orderGoodsIdGenerate.getOrderGoodsId("pt", childParamsList.size());
for (OrderGoodsChildParams child : childParamsList) {
......@@ -187,12 +186,11 @@ public class GoodsOrderController {
orderGoods.setPendingOrderWay(child.getPendingOrderWay());
//挂单时间
LocalDateTime postedTime = DateUtils.parseDateTime(child.getPendingOrderTime()).get();
if (sendLazyTime == null) {
sendLazyTime = postedTime;
} else {
if (sendLazyTime.isAfter(postedTime)) {
sendLazyTime = postedTime;
}
}else if (sendLazyTime.isAfter(postedTime)) {
sendLazyTime = postedTime;
}
orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
......@@ -236,11 +234,10 @@ public class GoodsOrderController {
log.error("redis 分布式锁释放异常!", e);
}
}
JSONObject jsonObject = new JSONObject();
jsonObject.set("orderNo", orderNo);
rabbitTemplate.send(RabbitKeyConstants.ORDER_POSTED_EXCHANGE, RabbitKeyConstants.ORDER_POSTED_ROUTE_KEY, MessageBuilder.withBody(jsonObject.toString().getBytes()).build());
Message message = MessageBuilder.withBody(jsonObject.toString().getBytes()).build();
long epochMilli = sendLazyTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
rabbitTemplate.send(RabbitKeyConstants.ORDER_POSTED_EXCHANGE, RabbitKeyConstants.ORDER_POSTED_ROUTE_KEY, MessageBuilder.withBody(orderNo.toString().getBytes()).build());
Message message = MessageBuilder.withBody(orderNo.toString().getBytes()).build();
long epochMilli = sendLazyTime.minusMinutes(now.getMinute()).getMinute() * 60 * 1000;
message.getMessageProperties().setExpiration(String.valueOf(epochMilli));
rabbitTemplate.send(
RabbitKeyConstants.ORDER_ON_EXCHANGE, RabbitKeyConstants.ORDER_ON_ROUTE_KEY, message
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论