提交 52ba5636 authored 作者: huyufan's avatar huyufan

增加取消订单、货单调用积分MQ

上级 ce2c6177
...@@ -84,7 +84,7 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -84,7 +84,7 @@ public enum PerformanceResultEnum implements ResultEnum {
SETTLEMENT_NO_FOUND(1401, "结算单不存在"), SETTLEMENT_NO_FOUND(1401, "结算单不存在"),
MONEY_NO_SAME(1501, "货主提现金额和平台支付金额不一致"), MONEY_NO_SAME(1501, "货主提现金额和平台支付金额不一致"),
ORDER_CHILD_WEIGHT_NOT_EQ(1601, "磅单吨数和运单拉运吨数不一致") ORDER_GOODS_WEIGHT_NOT_HAVE(1601, "货单可拉运吨数不足")
; ;
private final int code; private final int code;
......
...@@ -13,6 +13,7 @@ import com.clx.performance.extranal.user.DriverService; ...@@ -13,6 +13,7 @@ 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.pc.OrderCancelParam; import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.OrderChildService; import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsTruckBindService; import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService; import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
...@@ -54,11 +55,15 @@ public class OrderCancelComponent implements InitializingBean { ...@@ -54,11 +55,15 @@ public class OrderCancelComponent implements InitializingBean {
public static Map<Integer, String> statusCodeMap = new HashMap<>(); public static Map<Integer, String> statusCodeMap = new HashMap<>();
private final IntegralMqService integralMqService;
public void ownerProcess(OrderCancelParam param) { public void ownerProcess(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();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
List<String> childNoList = new LinkedList<>();
switch (param.getCancelType()) { switch (param.getCancelType()) {
case 1: //单纯取消订单 case 1: //单纯取消订单
log.info("1:货主单纯取消订单"); log.info("1:货主单纯取消订单");
...@@ -110,7 +115,6 @@ public class OrderCancelComponent implements InitializingBean { ...@@ -110,7 +115,6 @@ public class OrderCancelComponent implements InitializingBean {
List<OrderChild> orderChildren = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode()); List<OrderChild> orderChildren = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
log.info("执行货主取消未拉运+未到达货源地吨数,当前运单个数" + orderChildren.size()); log.info("执行货主取消未拉运+未到达货源地吨数,当前运单个数" + orderChildren.size());
List<String> childNoList = new LinkedList<>();
for (OrderChild orderChild : orderChildren) { for (OrderChild orderChild : orderChildren) {
log.info("取消的运单:{}", JSONUtil.parse(orderChild)); log.info("取消的运单:{}", JSONUtil.parse(orderChild));
//释放车辆 //释放车辆
...@@ -169,7 +173,9 @@ public class OrderCancelComponent implements InitializingBean { ...@@ -169,7 +173,9 @@ public class OrderCancelComponent implements InitializingBean {
if (!orderFeign.updateOrderStatusByOrderNo(orderNo, orderStatusCode).succeed()) { if (!orderFeign.updateOrderStatusByOrderNo(orderNo, orderStatusCode).succeed()) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败"); throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用取消订单失败");
} }
for (String childNo : childNoList) {
integralMqService.orderChildFinish(childNo);
}
} }
...@@ -269,6 +275,7 @@ public class OrderCancelComponent implements InitializingBean { ...@@ -269,6 +275,7 @@ public class OrderCancelComponent implements InitializingBean {
} }
@Override @Override
public void afterPropertiesSet() throws Exception { public void afterPropertiesSet() throws Exception {
statusCodeMap.put(OrderEnum.Status.QUOTATION_CONFIRMED.getCode(), OrderEnum.Status.QUOTATION_CONFIRMED.getName()); statusCodeMap.put(OrderEnum.Status.QUOTATION_CONFIRMED.getCode(), OrderEnum.Status.QUOTATION_CONFIRMED.getName());
......
...@@ -95,11 +95,6 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -95,11 +95,6 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
BigDecimal dif = param.getLoadNet().subtract(orderChild.getLoadNet()); BigDecimal dif = param.getLoadNet().subtract(orderChild.getLoadNet());
if (dif.compareTo(BigDecimal.ZERO) != 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_WEIGHT_NOT_EQ);
}
Integer type = OrderChildLogEnum.Type.POUND_AUDIT.getCode(); Integer type = OrderChildLogEnum.Type.POUND_AUDIT.getCode();
if(Objects.equals(param.getStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){ if(Objects.equals(param.getStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){
type = OrderChildLogEnum.Type.POUND_AUDIT_REJECT.getCode(); type = OrderChildLogEnum.Type.POUND_AUDIT_REJECT.getCode();
...@@ -144,11 +139,18 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -144,11 +139,18 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
* 装车补偿 * 装车补偿
*/ */
private void updateOrderGoodsAmountLoad(OrderGoods orderGoods, BigDecimal dif){ private void updateOrderGoodsAmountLoad(OrderGoods orderGoods, BigDecimal dif){
if (dif.compareTo(BigDecimal.ZERO) == 0){return;} int i = dif.compareTo(BigDecimal.ZERO);
if (i == 0){
return;
} else if (i > 0) {
if (orderGoods.getResidueTransportWeight().compareTo(dif) < 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_GOODS_WEIGHT_NOT_HAVE);
}
}
int count = orderChildDao.countValidByOrderGoodsNo(orderGoods.getOrderGoodsNo())-1; int count = orderChildDao.countValidByOrderGoodsNo(orderGoods.getOrderGoodsNo())-1;
Integer status = orderGoods.getOrderGoodsStatus(); Integer status;
if (count == 0){ if (count == 0){
status = OrderGoodsStatusEnum.Status.PAYING.getCode(); status = OrderGoodsStatusEnum.Status.PAYING.getCode();
} }
......
...@@ -932,10 +932,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -932,10 +932,7 @@ public class OrderChildServiceImpl implements OrderChildService {
} }
BigDecimal dif = param.getLoadNet().subtract(orderChild.getWeight()); BigDecimal dif = param.getLoadNet().subtract(orderChild.getWeight());
if (dif.compareTo(BigDecimal.ZERO) != 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_WEIGHT_NOT_EQ);
}
orderChild.setLoadRough(param.getLoadRough()); orderChild.setLoadRough(param.getLoadRough());
orderChild.setLoadTare(param.getLoadTare()); orderChild.setLoadTare(param.getLoadTare());
orderChild.setLoadNet(param.getLoadNet()); orderChild.setLoadNet(param.getLoadNet());
......
...@@ -102,6 +102,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -102,6 +102,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
private OrderCancelComponent orderCancelComponent; private OrderCancelComponent orderCancelComponent;
private final IntegralMqService integralMqService;
@Override @Override
public OrderGoodsVO getOrderGoodsInfoByOrderGoodsNoForPC(String orderGoodsNo) { public OrderGoodsVO getOrderGoodsInfoByOrderGoodsNoForPC(String orderGoodsNo) {
OrderGoodsVO orderGoodsVO = orderGoodsDao.getOrderGoodsInfoByOrderGoodsNoForPC(orderGoodsNo).map(orderGoodsStruct::convert).get(); OrderGoodsVO orderGoodsVO = orderGoodsDao.getOrderGoodsInfoByOrderGoodsNoForPC(orderGoodsNo).map(orderGoodsStruct::convert).get();
...@@ -613,6 +615,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -613,6 +615,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderFeign.orderCancelReason(orderCancelReasonParam); orderFeign.orderCancelReason(orderCancelReasonParam);
for (String childNo : childNoList) {
integralMqService.orderChildFinish(childNo);
}
orderGoodsLogService.saveLog(orderGoodsNo, loginUserInfo.getUserNo(), loginUserInfo.getUserName(), OrderGoodsLogsEnum.Type.CANCEL.getName(), ""); orderGoodsLogService.saveLog(orderGoodsNo, loginUserInfo.getUserNo(), loginUserInfo.getUserName(), OrderGoodsLogsEnum.Type.CANCEL.getName(), "");
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论