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

bug处理

上级 fbd34a11
...@@ -84,6 +84,8 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -84,6 +84,8 @@ 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, "磅单吨数和运单拉运吨数不一致")
; ;
private final int code; private final int code;
private final String msg; private final String msg;
......
...@@ -26,6 +26,7 @@ import org.springframework.stereotype.Component; ...@@ -26,6 +26,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
...@@ -57,7 +58,7 @@ public class OrderCancelComponent implements InitializingBean { ...@@ -57,7 +58,7 @@ public class OrderCancelComponent implements InitializingBean {
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();
switch (param.getCancelType()) { switch (param.getCancelType()) {
case 1: //单纯取消订单 case 1: //单纯取消订单
log.info("1:货主单纯取消订单"); log.info("1:货主单纯取消订单");
...@@ -122,7 +123,7 @@ public class OrderCancelComponent implements InitializingBean { ...@@ -122,7 +123,7 @@ public class OrderCancelComponent implements InitializingBean {
log.info("ids:{}", ids); log.info("ids:{}", ids);
orderChildDao.batchUpdateOrderChildStatus( orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.OWNER_CANCEL.getCode(), "货主取消", OrderChildEnum.Status.OWNER_CANCEL.getCode(), "货主取消",
ids); now, now,ids);
orderChildMap = orderChildren.stream() orderChildMap = orderChildren.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo)); .collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
......
...@@ -168,7 +168,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -168,7 +168,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
public void consumingLastArriveSendTime() { public void consumingLastArriveSendTime() {
log.info("货单-最晚到达货源地时间-定时器启动"); log.info("货单-最晚到达货源地时间-定时器启动");
long nowTimeMillis = System.currentTimeMillis(); long nowTimeMillis = System.currentTimeMillis();
LocalDateTime now = LocalDateTime.now();
Set<ZSetOperations.TypedTuple<String>> orderGoodsIds = redisTemplate.opsForZSet().rangeByScoreWithScores( Set<ZSetOperations.TypedTuple<String>> orderGoodsIds = redisTemplate.opsForZSet().rangeByScoreWithScores(
RedisConstants.ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME, RedisConstants.ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME,
0, nowTimeMillis //延时任务score最小值 0, nowTimeMillis //延时任务score最小值
...@@ -207,12 +207,14 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -207,12 +207,14 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
ids.add(orderChild.getId()); ids.add(orderChild.getId());
//释放车辆 //释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1); driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
orderChild.setCancelTime(now);
orderChild.setFinishTime(now);
breakContractDriverRecordService.saveDriverRecordOfOrderChildCancel(orderChild, 0L, "系统"); breakContractDriverRecordService.saveDriverRecordOfOrderChildCancel(orderChild, 0L, "系统");
} }
log.info("取消运单ID集合:{}", ids); log.info("取消运单ID集合:{}", ids);
if (CollectionUtil.isNotEmpty(ids)) { if (CollectionUtil.isNotEmpty(ids)) {
orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消", ids); orderChildDao.batchUpdateOrderChildStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消", now, now, ids);
} }
RollbackOrderWeightParam param = new RollbackOrderWeightParam(); RollbackOrderWeightParam param = new RollbackOrderWeightParam();
......
...@@ -103,7 +103,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -103,7 +103,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> selectArriveSendOrderChildGe(String orderGoodsNo); List<OrderChild> selectArriveSendOrderChildGe(String orderGoodsNo);
void batchUpdateOrderChildStatus(Integer status, String remark, List<Integer> ids); void batchUpdateOrderChildStatus(Integer status, String remark, LocalDateTime cancelTime, LocalDateTime finishTime, List<Integer> ids);
List<OrderChild> selectOrderChildListByOrderGoodsNoAndStatusGE(String orderGoodsNo, Integer status); List<OrderChild> selectOrderChildListByOrderGoodsNoAndStatusGE(String orderGoodsNo, Integer status);
......
...@@ -312,8 +312,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -312,8 +312,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
} }
@Override @Override
public void batchUpdateOrderChildStatus(Integer status, String remark, List<Integer> ids) { public void batchUpdateOrderChildStatus(Integer status, String remark, LocalDateTime cancelTime, LocalDateTime finishTime, List<Integer> ids) {
baseMapper.updateOrderGoodsSetResidueWeight(status,remark, ids); baseMapper.updateOrderGoodsSetResidueWeight(status,remark, cancelTime, finishTime, ids);
} }
@Override @Override
......
...@@ -16,6 +16,7 @@ import com.clx.performance.vo.pc.PageCarrierOrderChildVO; ...@@ -16,6 +16,7 @@ import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO; import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
...@@ -47,5 +48,7 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -47,5 +48,7 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
int countValidByOrderGoodsNo(String orderGoodsNo); int countValidByOrderGoodsNo(String orderGoodsNo);
@UpdateProvider(type = OrderChildSqlProvider.class, method = "batchUpdateOrderChildStatus") @UpdateProvider(type = OrderChildSqlProvider.class, method = "batchUpdateOrderChildStatus")
Integer updateOrderGoodsSetResidueWeight(@Param(value = "status") Integer status, @Param(value = "remark") String remark, @Param(value = "ids") List<Integer> ids); Integer updateOrderGoodsSetResidueWeight(@Param(value = "status") Integer status, @Param(value = "remark") String remark,
@Param(value = "cancelTime") LocalDateTime cancelTime, @Param(value = "finishTime") LocalDateTime finishTime,
@Param(value = "ids") List<Integer> ids);
} }
\ No newline at end of file
...@@ -38,6 +38,7 @@ import org.springframework.stereotype.Service; ...@@ -38,6 +38,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
...@@ -72,6 +73,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -72,6 +73,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void ownerConfirmCancelOrderPre(String orderNo) { public void ownerConfirmCancelOrderPre(String orderNo) {
LocalDateTime now = LocalDateTime.now();
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode(); Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode();
if (CollectionUtil.isEmpty(orderGoodsList)) { if (CollectionUtil.isEmpty(orderGoodsList)) {
...@@ -120,7 +122,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -120,7 +122,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if (CollectionUtil.isNotEmpty(ids)) { if (CollectionUtil.isNotEmpty(ids)) {
orderChildDao.batchUpdateOrderChildStatus( orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消", OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消",
ids); now, now,ids);
orderStatusCode = OrderEnum.Status.COMPLETED.getCode(); orderStatusCode = OrderEnum.Status.COMPLETED.getCode();
} }
...@@ -350,7 +352,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -350,7 +352,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
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();
switch (param.getCancelType()) { switch (param.getCancelType()) {
case 1: //单纯取消订单 case 1: //单纯取消订单
if (CollectionUtil.isNotEmpty(orderChildDao.getOrderChildByOrderNo(orderNo))) { if (CollectionUtil.isNotEmpty(orderChildDao.getOrderChildByOrderNo(orderNo))) {
...@@ -409,7 +411,7 @@ public class OrderCancelServiceImpl implements OrderCancelService { ...@@ -409,7 +411,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if (CollectionUtil.isNotEmpty(ids)) { if (CollectionUtil.isNotEmpty(ids)) {
orderChildDao.batchUpdateOrderChildStatus( orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.OWNER_CANCEL.getCode(), "平台取消", OrderChildEnum.Status.OWNER_CANCEL.getCode(), "平台取消",
ids); now, now, ids);
} }
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo); orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
......
...@@ -95,6 +95,11 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -95,6 +95,11 @@ 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();
......
...@@ -399,7 +399,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -399,7 +399,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
List<String> truckList = orderGoodsParams.getTruckList(); List<String> truckList = orderGoodsParams.getTruckList();
if (CollectionUtil.isNotEmpty(truckList)) { if (CollectionUtil.isNotEmpty(truckList)) {
if (CollectionUtil.isNotEmpty(getChildList)) { if (CollectionUtil.isNotEmpty(getChildList)) {
truckList.retainAll(getChildList.stream().map(OrderGoodsTruckBind::getTruckNo).collect(Collectors.toList())); for (OrderGoodsTruckBind bind : getChildList) {
if (!truckList.contains(bind.getTruckNo())) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前取消的车辆已经接单,车牌号为:" + bind.getTruckNo());
}
}
} }
orderGoodsTruckBindDao.saveBatchEntity(param.getOrderNo(), orderGoodsNo, truckList, now); orderGoodsTruckBindDao.saveBatchEntity(param.getOrderNo(), orderGoodsNo, truckList, now);
goodsOrderTruckRecordComponent.saveTruckRecord(orderGoodsNo, truckList); goodsOrderTruckRecordComponent.saveTruckRecord(orderGoodsNo, truckList);
...@@ -458,7 +462,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -458,7 +462,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
public void orderGoodsCancel(OrderGoodsCancelParam goodsCancelParam) { public void orderGoodsCancel(OrderGoodsCancelParam goodsCancelParam) {
String orderGoodsNo = goodsCancelParam.getOrderGoodsNo(); String orderGoodsNo = goodsCancelParam.getOrderGoodsNo();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo).orElseThrow(PerformanceResultEnum.HTTP_ERROR, "数据错误"); OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo).orElseThrow(PerformanceResultEnum.HTTP_ERROR, "数据错误");
LocalDateTime now = LocalDateTime.now();
List<OrderChild> orderChildList = null; List<OrderChild> orderChildList = null;
BigDecimal residueWeight = null; BigDecimal residueWeight = null;
BigDecimal sum = BigDecimal.ZERO; BigDecimal sum = BigDecimal.ZERO;
...@@ -512,7 +516,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -512,7 +516,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} }
orderChildDao.batchUpdateOrderChildStatus( orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消", OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消",
ids); now,now,ids);
} }
orderChildList.removeAll(filterOrderChildList); orderChildList.removeAll(filterOrderChildList);
if (CollectionUtil.isNotEmpty(orderChildList)) { if (CollectionUtil.isNotEmpty(orderChildList)) {
...@@ -559,7 +563,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -559,7 +563,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} }
orderChildDao.batchUpdateOrderChildStatus( orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(),"系统取消", OrderChildEnum.Status.PLATFORM_CANCEL.getCode(),"系统取消",
ids); now, now, ids);
orderChildList.removeAll(filterOrderChildList); orderChildList.removeAll(filterOrderChildList);
if (CollectionUtil.isNotEmpty(orderChildList)) { if (CollectionUtil.isNotEmpty(orderChildList)) {
orderGoodsStatus = OrderGoodsStatusEnum.Status.COMPLETED.getCode(); orderGoodsStatus = OrderGoodsStatusEnum.Status.COMPLETED.getCode();
......
...@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL; import org.apache.ibatis.jdbc.SQL;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -126,10 +127,13 @@ public class OrderChildSqlProvider { ...@@ -126,10 +127,13 @@ public class OrderChildSqlProvider {
} }
public String batchUpdateOrderChildStatus(@Param(value ="status") Integer status, @Param(value ="remark") String remark,@Param(value = "ids") List<Integer> ids ){ public String batchUpdateOrderChildStatus(@Param(value ="status") Integer status, @Param(value ="remark") String remark,
@Param(value = "cancelTime") LocalDateTime cancelTime, @Param(value = "finishTime") LocalDateTime finishTime,
@Param(value = "ids") List<Integer> ids ){
StringBuffer sqlList = new StringBuffer(); StringBuffer sqlList = new StringBuffer();
sqlList.append("update order_child set cancel_remark = '"+ remark +"' ,status = " + status + " where id in ("); sqlList.append("update order_child set cancel_remark = '"+ remark +"' ,status = " + status + ",cancel_time = "
+ cancelTime +",finish_time = " + finishTime + " where id in (");
for (int i = 0; i < ids.size(); i++) { for (int i = 0; i < ids.size(); i++) {
Integer id = ids.get(i); Integer id = ids.get(i);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论