提交 c480221f authored 作者: huyufan's avatar huyufan

优化代码

上级 500f562b
...@@ -25,7 +25,7 @@ public class OrderCancelController { ...@@ -25,7 +25,7 @@ public class OrderCancelController {
@PostMapping("/platformCancelOrderPre") @PostMapping("/platformCancelOrderPre")
public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) { public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) {
param.setCancelType(1); param.setCancelType(1);
orderCancelService.platformCancelOrderPrePC(param); orderCancelService.platformCancelOrderPre(param);
return Result.ok(); return Result.ok();
} }
...@@ -33,7 +33,7 @@ public class OrderCancelController { ...@@ -33,7 +33,7 @@ public class OrderCancelController {
@PostMapping("/ownCancelOrderPre") @PostMapping("/ownCancelOrderPre")
public Result<Object> ownCancelOrderPre(@RequestBody OrderCancelParam param) { public Result<Object> ownCancelOrderPre(@RequestBody OrderCancelParam param) {
param.setCancelType(2); param.setCancelType(2);
orderCancelService.ownerCancelOrderPrePC(param); orderCancelService.ownerCancelOrderPre(param);
return Result.ok(); return Result.ok();
} }
} }
...@@ -12,10 +12,22 @@ public interface OrderCancelService { ...@@ -12,10 +12,22 @@ public interface OrderCancelService {
// //
void ownerCancelOrder(String orderNo); void ownerCancelOrder(String orderNo);
void ownerCancelOrderPrePC(OrderCancelParam param); /**
* 货主取消订单前置(只修改订单状态)
* @param param
*/
void ownerCancelOrderPre(OrderCancelParam param);
void platformCancelOrderPrePC(OrderCancelParam param); /**
* 平台取消订单前置(只修改订单状态)
* @param param
*/
void platformCancelOrderPre(OrderCancelParam param);
/**
* 修改订单状态后执行规划吨数
* @param param
*/
void orderCancelProcess(OrderCancelParam param); void orderCancelProcess(OrderCancelParam param);
} }
...@@ -45,6 +45,12 @@ public interface OrderGoodsService { ...@@ -45,6 +45,12 @@ public interface OrderGoodsService {
*/ */
String orderCancelStyle(String orderNo); String orderCancelStyle(String orderNo);
/**
* 获取当前订单可取消吨数
* @param orderNo
* @param optionType
* @return
*/
BigDecimal orderCancelResidueWeight(String orderNo,String optionType); BigDecimal orderCancelResidueWeight(String orderNo,String optionType);
void updateEditOrderGoods(UpdateEditOrderGoodsParam param); void updateEditOrderGoods(UpdateEditOrderGoodsParam param);
......
...@@ -327,7 +327,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -327,7 +327,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void ownerCancelOrderPrePC(OrderCancelParam param) { public void ownerCancelOrderPre(OrderCancelParam param) {
String orderNo = param.getOrderNo(); String orderNo = param.getOrderNo();
List<OrderGoods> orderGoodsList = null; List<OrderGoods> orderGoodsList = null;
Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode(); Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode();
...@@ -451,7 +451,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -451,7 +451,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void platformCancelOrderPrePC(OrderCancelParam param) { public void platformCancelOrderPre(OrderCancelParam param) {
String orderNo = param.getOrderNo(); String orderNo = param.getOrderNo();
List<OrderGoods> orderGoodsList = null; List<OrderGoods> orderGoodsList = null;
Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode(); Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode();
...@@ -571,6 +571,10 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -571,6 +571,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
); );
} }
/**
* 执行订单取消后归还吨数
* @param param
*/
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void orderCancelProcess(OrderCancelParam param) { public void orderCancelProcess(OrderCancelParam param) {
...@@ -587,7 +591,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -587,7 +591,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
Integer truckDemand = orderInfoFeign.getTruckDemand(); Integer truckDemand = orderInfoFeign.getTruckDemand();
List<OrderGoods> orderGoodsList = null; List<OrderGoods> orderGoodsList = null;
switch (param.getCancelType()) { switch (param.getCancelType()) {
case 1: //单纯取消订单 case 1: //单纯取消订单及货单
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
if (!orderInfoFeign.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) { if (!orderInfoFeign.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
for (OrderGoods orderGoods : orderGoodsList) { for (OrderGoods orderGoods : orderGoodsList) {
...@@ -634,7 +638,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -634,7 +638,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
} }
orderFeign.rollbackOrderWeight(rollbackOrderWeightParam); orderFeign.rollbackOrderWeight(rollbackOrderWeightParam);
return; return;
case 2: //取消未拉运吨数的货单 case 2: //取消未拉运吨数的货单及订单
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
if (!orderInfoFeign.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) { if (!orderInfoFeign.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
...@@ -686,8 +690,11 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -686,8 +690,11 @@ public class OrderCancelServiceImpl implements OrderCancelService {
case 3: //取消未拉运+未到达货源地吨数 case 3: //取消未拉运+未到达货源地吨数
List<OrderChild> orderChildren = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode()); List<OrderChild> orderChildren = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Map<String, List<OrderChild>> orderChildMap = orderChildren.stream() Map<String, List<OrderChild>> orderChildMap = new HashMap<>();
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo)); if (CollectionUtil.isNotEmpty(orderChildren)) {
orderChildMap = orderChildren.stream().collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
}
if (!orderInfoFeign.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) { if (!orderInfoFeign.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
for (OrderGoods orderGoods : orderGoodsList) { for (OrderGoods orderGoods : orderGoodsList) {
OrderGoods update = new OrderGoods(); OrderGoods update = new OrderGoods();
...@@ -759,8 +766,6 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -759,8 +766,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
rollbackOrderWeightParam.setOwnResidueCarryWeight(ownResidueSum); rollbackOrderWeightParam.setOwnResidueCarryWeight(ownResidueSum);
} }
orderFeign.rollbackOrderWeight(rollbackOrderWeightParam); orderFeign.rollbackOrderWeight(rollbackOrderWeightParam);
return;
} }
} }
......
...@@ -240,8 +240,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -240,8 +240,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add); childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
} }
BigDecimal orderGoodsResidueWeight = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo).stream().map(OrderGoods::getResidueTransportWeight).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal orderGoodsResidueWeight = BigDecimal.ZERO;
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
if (CollectionUtil.isNotEmpty(orderGoodsList)) {
orderGoodsResidueWeight = orderGoodsList.stream().map(OrderGoods::getResidueTransportWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
return new BigDecimal(residueWeight).add(orderGoodsResidueWeight).add(childResidueWeight); return new BigDecimal(residueWeight).add(orderGoodsResidueWeight).add(childResidueWeight);
} }
...@@ -511,18 +514,20 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -511,18 +514,20 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} }
/**
* 查看当前货单可取消吨数
* @param goodsCancelParam
* @return
*/
@Override @Override
public BigDecimal orderGoodsCancelResidueWeight(OrderGoodsCancelParam goodsCancelParam) { public BigDecimal orderGoodsCancelResidueWeight(OrderGoodsCancelParam goodsCancelParam) {
String orderGoodsNo = goodsCancelParam.getOrderGoodsNo(); String orderGoodsNo = goodsCancelParam.getOrderGoodsNo();
Optional<OrderGoods> optional = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo); OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo).orElseThrow(PerformanceResultEnum.HTTP_ERROR, "未查询到货单");
if (!optional.isPresent()) {
return null;
}
OrderGoods orderGoods = optional.get();
List<OrderChild> orderChildList = null; List<OrderChild> orderChildList = null;
BigDecimal residueWeight = null; BigDecimal residueWeight = null;
BigDecimal sum = BigDecimal.ZERO; BigDecimal sum = BigDecimal.ZERO;
Integer cancelOperateType = goodsCancelParam.getCancelOperateType(); Integer cancelOperateType = goodsCancelParam.getCancelOperateType();
// 1:弹窗1 2:取消未接单及未到达货源地的车辆 3:取消未接单及未装车的车辆
switch (cancelOperateType) { switch (cancelOperateType) {
case 1: case 1:
return orderGoods.getResidueTransportWeight(); return orderGoods.getResidueTransportWeight();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论