提交 21a6a1c3 authored 作者: huyufan's avatar huyufan

处理BUg

上级 acfa365b
...@@ -12,8 +12,10 @@ import com.clx.performance.enums.OrderChildEnum; ...@@ -12,8 +12,10 @@ import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderGoodsStatusEnum; import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.OrderGoodsTruckBindEnum; import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.enums.TruckDemandEnum; import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -49,6 +51,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -49,6 +51,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
private final OrderChildDao orderChildDao; private final OrderChildDao orderChildDao;
private final DriverService driverService;
//根据货单最晚接单时间处理 //根据货单最晚接单时间处理
public void expireProduceByLastOrderTime(LocalDateTime localDateTime, String orderGoodsNo) { public void expireProduceByLastOrderTime(LocalDateTime localDateTime, String orderGoodsNo) {
redisTemplate.opsForZSet().add(RedisConstants.ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME, orderGoodsNo, localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli()); redisTemplate.opsForZSet().add(RedisConstants.ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME, orderGoodsNo, localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli());
...@@ -198,7 +202,12 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -198,7 +202,12 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
for (OrderChild orderChild : orderChildrenList) { for (OrderChild orderChild : orderChildrenList) {
childSum = childSum.add(orderChild.getWeight()); childSum = childSum.add(orderChild.getWeight());
ids.add(orderChild.getId()); ids.add(orderChild.getId());
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
} }
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), ids); orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), ids);
RollbackOrderWeightParam param = new RollbackOrderWeightParam(); RollbackOrderWeightParam param = new RollbackOrderWeightParam();
......
...@@ -14,11 +14,13 @@ import com.clx.performance.enums.OrderChildEnum; ...@@ -14,11 +14,13 @@ import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderGoodsStatusEnum; import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.TruckDemandEnum; import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.mq.OrderCancelMqParam; import com.clx.performance.param.mq.OrderCancelMqParam;
import com.clx.performance.param.pc.OrderCancelParam; import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.service.OrderCancelService; import com.clx.performance.service.OrderCancelService;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData; import com.msl.user.data.UserSessionData;
...@@ -52,6 +54,8 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -52,6 +54,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private final RabbitTemplate rabbitTemplate; private final RabbitTemplate rabbitTemplate;
private final DriverService driverService;
// //
// @Override // @Override
// @Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
...@@ -309,8 +313,6 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -309,8 +313,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void ownerCancelOrderPre(String orderNo) { public void ownerCancelOrderPre(String orderNo) {
//FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
if (CollectionUtil.isEmpty(orderGoodsList)) { if (CollectionUtil.isEmpty(orderGoodsList)) {
//未产生货单 //未产生货单
...@@ -319,15 +321,6 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -319,15 +321,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
throw new RuntimeException("货主取消订单失败,原因:远程调用取消订单失败"); throw new RuntimeException("货主取消订单失败,原因:远程调用取消订单失败");
} }
this.ownerCancelOrder(orderNo); this.ownerCancelOrder(orderNo);
// log.info("执行货主订单取消前置:更改相关状态完毕,开始执行吨数回填,发送MQ消息,订单No {}", orderNo);
// OrderCancelMqParam mqParam = new OrderCancelMqParam();
// mqParam.setType("2");
// mqParam.setOrderNo(orderNo);
// Message message = MessageBuilder.withBody(JSONUtil.parse(mqParam).toString().getBytes()).build();
// rabbitTemplate.send(
// RabbitKeyConstants.ORDER_CANCEL_EXCHANGE, RabbitKeyConstants.ORDER_CANCEL_ROUTE_KEY, message
// );
return; return;
} }
...@@ -414,11 +407,16 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -414,11 +407,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if (!TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode().equals(orderInfoFeignVO.getTruckDemand())) { if (!TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode().equals(orderInfoFeignVO.getTruckDemand())) {
if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) { if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已完结 //已完结
List<Integer> ids = new LinkedList<>();
List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode()); List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
for (OrderChild orderChild : orderChildrenList) {
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
ids.add(orderChild.getId());
}
orderChildDao.batchUpdateOrderChildStatus( orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.OWNER_CANCEL.getCode(), OrderChildEnum.Status.OWNER_CANCEL.getCode(),
orderChildrenList.stream().map(OrderChild::getId).collect(Collectors.toList())); ids);
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream() Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
.collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo)); .collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo));
...@@ -450,13 +448,6 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -450,13 +448,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
truckDemandMap.get(orderGoods.getTruckDemand()) truckDemandMap.get(orderGoods.getTruckDemand())
.add(orderGoods.getResidueTransportWeight())); .add(orderGoods.getResidueTransportWeight()));
ids.add(orderGoods.getId()); ids.add(orderGoods.getId());
// OrderGoods update = new OrderGoods();
// update.setId(orderGoods.getId());
// //TODO 补充批量更新接口 关闭货单状态
// update.setResidueTransportWeight(BigDecimal.ZERO);
// update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
// orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeight(BigDecimal.ZERO, BigDecimal.ZERO, orderGoods.getId());
} }
if (CollectionUtil.isNotEmpty(ids)) { if (CollectionUtil.isNotEmpty(ids)) {
orderGoodsDao.batchUpdateOrderGoodsWeight(BigDecimal.ZERO, ids); orderGoodsDao.batchUpdateOrderGoodsWeight(BigDecimal.ZERO, ids);
...@@ -493,15 +484,15 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -493,15 +484,15 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) { if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已完结 //已完结
List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode()); List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
List<Integer> ids = new LinkedList<>();
// for (OrderChild orderChild : orderChildrenList) { for (OrderChild orderChild : orderChildrenList) {
// OrderChild update = new OrderChild(); //释放车辆
// update.setId(orderChild.getId()); driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
// update.setStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode()); ids.add(orderChild.getId());
// //TODO 补充批量更新接口 关闭运单状态 }
// orderChildDao.updateEntityByKey(update); orderChildDao.batchUpdateOrderChildStatus(
// } OrderChildEnum.Status.OWNER_CANCEL.getCode(),
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), orderChildrenList.stream().map(OrderChild::getId).collect(Collectors.toList())); ids);
//货单 //货单
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream() Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
.collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo)); .collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo));
...@@ -535,12 +526,6 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -535,12 +526,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
vehicleUsageMap.get(orderGoods.getVehicleUsage()) vehicleUsageMap.get(orderGoods.getVehicleUsage())
.add(orderGoods.getResidueTransportWeight())); .add(orderGoods.getResidueTransportWeight()));
ids.add(orderGoods.getId()); ids.add(orderGoods.getId());
// OrderGoods update = new OrderGoods();
// update.setId(orderGoods.getId());
// //TODO 补充批量更新接口 关闭货单状态
// update.setResidueTransportWeight(BigDecimal.ZERO);
// //update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
// orderGoodsDao.updateEntityByKey(update);
} }
if (CollectionUtil.isNotEmpty(ids)) { if (CollectionUtil.isNotEmpty(ids)) {
orderGoodsDao.batchUpdateOrderGoodsWeight(BigDecimal.ZERO, ids); orderGoodsDao.batchUpdateOrderGoodsWeight(BigDecimal.ZERO, ids);
...@@ -629,8 +614,17 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -629,8 +614,17 @@ public class OrderCancelServiceImpl implements OrderCancelService {
// if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) { // if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败"); // throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
// } // }
List<Integer> ids = orderChildren.stream().map(OrderChild::getId).collect(Collectors.toList()); List<Integer> ids = new LinkedList<>();
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.OWNER_CANCEL.getCode(), ids);
for (OrderChild orderChild : orderChildren) {
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
ids.add(orderChild.getId());
}
orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.OWNER_CANCEL.getCode(),
ids);
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Map<String, List<OrderChild>> orderChildMap = orderChildren.stream() Map<String, List<OrderChild>> orderChildMap = orderChildren.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo)); .collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
...@@ -737,8 +731,16 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -737,8 +731,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
// if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) { // if (!orderFeign.updateOrderStatusByOrderNo(orderNo, OrderEnum.Status.CANCELED.getCode()).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败"); // throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
// } // }
List<Integer> ids = orderChildren.stream().map(OrderChild::getId).collect(Collectors.toList()); List<Integer> ids = new LinkedList<>();
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), ids); for (OrderChild orderChild : orderChildren) {
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
ids.add(orderChild.getId());
}
orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.OWNER_CANCEL.getCode(),
ids);
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Map<String, List<OrderChild>> orderChildMap = orderChildren.stream() Map<String, List<OrderChild>> orderChildMap = orderChildren.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo)); .collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论