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

优化代码

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