提交 57bfd20f authored 作者: huyufan's avatar huyufan

修改BUG违约记录

上级 52673685
......@@ -33,6 +33,7 @@ public enum OrderChildEnum {
DRIVER_CANCEL(110, "司机取消"),
PLATFORM_CANCEL(111, "承运取消"),
OWNER_CANCEL(112, "货主取消"),
ARTIFICIAL_CANCEL(113, "客服取消"),
//
// OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆
......
......@@ -170,7 +170,6 @@ public class OrderCancelComponent implements InitializingBean {
}
@Transactional(rollbackFor = Exception.class)
public void backFillTonnage(OrderGoods orderGoods, BigDecimal weight) {
if (orderGoods.getOrderGoodsStatus().equals(OrderGoodsStatusEnum.Status.CANCEL.getCode())
|| orderGoods.getOrderGoodsStatus().equals(OrderGoodsStatusEnum.Status.COMPLETED.getCode())
......@@ -205,13 +204,58 @@ public class OrderCancelComponent implements InitializingBean {
}
}
public void backFillTonnageForArtificial(String orderGoodsNo, BigDecimal weight) {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (orderGoods.getOrderGoodsStatus().equals(OrderGoodsStatusEnum.Status.CANCEL.getCode())
|| orderGoods.getOrderGoodsStatus().equals(OrderGoodsStatusEnum.Status.COMPLETED.getCode())
) {
Integer truckDemand = orderGoods.getTruckDemand();
//返回到货单
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeight(weight,weight, orderGoods.getId());
RollbackOrderWeightParam rollbackOrderWeightParam = new RollbackOrderWeightParam();
rollbackOrderWeightParam.setOrderNo(orderGoods.getOrderNo());
BigDecimal residueWeight = orderGoods.getResidueTransportWeight().add(weight);
rollbackOrderWeightParam.setResidueWeight(residueWeight);
//归还吨数
if (!truckDemand.equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
if (truckDemand.equals(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode())) {
rollbackOrderWeightParam.setOwnResidueCarryWeight(BigDecimal.ZERO);
rollbackOrderWeightParam.setPlatformResidueCarryWeight(residueWeight);
}else if (truckDemand.equals(TruckDemandEnum.TruckType.OWNER_CAR.getCode())) {
rollbackOrderWeightParam.setOwnResidueCarryWeight(residueWeight);
rollbackOrderWeightParam.setPlatformResidueCarryWeight(BigDecimal.ZERO);
}
} else {
rollbackOrderWeightParam.setPlatformResidueCarryWeight(residueWeight);
rollbackOrderWeightParam.setOwnResidueCarryWeight(residueWeight);
}
Result<Object> result = orderFeign.rollbackOrderWeight(rollbackOrderWeightParam);
if (!result.succeed()) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "远程调用更新订单余量失败");
}
} else {
//返回到货单
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeight(weight,weight, orderGoods.getId());
}
}
public void breakContractSettlementOwner(String orderNo, Integer updateStatus) {
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
Integer orderStatus = orderInfoFeign.getOrderStatus();
log.info("执行处理违约,订单号:{}, updateStatus:{}", orderNo, updateStatus);
if (OrderEnum.Status.COMPLETED.getCode().equals(updateStatus) || statusCodeMap.containsKey(orderStatus)) {
try {
breakContractSettlementOwnerService.saveSettlementOwnerForCancelOrder(orderNo);
log.info("执行处理违约完毕");
}catch (Exception e) {
log.info("执行处理违约失败{}", e.getMessage());
}
}
}
......
......@@ -372,13 +372,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override
public List<OrderChild> selectInTransitOrderChild(String orderNo) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderNo, orderNo)
.lt(OrderChild::getStatus, OrderChildEnum.Status.UNSETTLE.getCode())
.lt(OrderChild::getStatus, OrderChildEnum.Status.UNLOAD.getCode())
);
}
@Override
public List<OrderChild> selectInTransitOrderChildByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderGoodsNo, orderGoodsNo)
.lt(OrderChild::getStatus, OrderChildEnum.Status.UNSETTLE.getCode())
.lt(OrderChild::getStatus, OrderChildEnum.Status.UNLOAD.getCode())
); }
}
......@@ -30,4 +30,6 @@ public interface OrderCancelService {
*/
void orderCancelProcess(OrderCancelParam param);
void artificialCancelOrder(String orderChildNo);
}
......@@ -24,6 +24,7 @@ import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.msl.common.enums.ResultEnum;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
......@@ -678,6 +679,17 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
}
@Override
public void artificialCancelOrder(String orderChildNo) {
OrderChild orderChild = orderChildDao.getByChildNo(orderChildNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
OrderChild update = new OrderChild();
update.setId(orderChild.getId());
update.setStatus(OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode());
update.setCancelRemark(OrderChildEnum.Status.ARTIFICIAL_CANCEL.getName());
orderChildDao.updateEntityByKey(update);
orderCancelComponent.backFillTonnageForArtificial(orderChild.getOrderGoodsNo(), orderChild.getWeight());
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论