|
|
@ -269,7 +269,7 @@ public class MallDeliveryOrderServiceImpl extends ServiceImpl<MallDeliveryOrderM |
|
|
// 逐条 UPDATE(各订单 numberCode 不同,无法单条 IN 批量更新 numberCode)
|
|
|
// 逐条 UPDATE(各订单 numberCode 不同,无法单条 IN 批量更新 numberCode)
|
|
|
for (String orderId : toUpdateOrderIds) { |
|
|
for (String orderId : toUpdateOrderIds) { |
|
|
LambdaUpdateWrapper<MallOrder> oUw = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<MallOrder> oUw = new LambdaUpdateWrapper<>(); |
|
|
oUw.eq(MallOrder::getId, orderId) |
|
|
oUw.eq(MallOrder::getId, orderId).eq(MallOrder::getStatus, 2) |
|
|
.set(MallOrder::getNumberCode, orderSeqMap.get(orderId)) |
|
|
.set(MallOrder::getNumberCode, orderSeqMap.get(orderId)) |
|
|
.set(MallOrder::getStatus, 3); |
|
|
.set(MallOrder::getStatus, 3); |
|
|
mallOrderService.update(oUw); |
|
|
mallOrderService.update(oUw); |
|
|
@ -438,13 +438,31 @@ public class MallDeliveryOrderServiceImpl extends ServiceImpl<MallDeliveryOrderM |
|
|
List<String> orderIds = Arrays.asList(group.getGroupOrderIds().split(",")); |
|
|
List<String> orderIds = Arrays.asList(group.getGroupOrderIds().split(",")); |
|
|
//批量更新
|
|
|
//批量更新
|
|
|
LambdaUpdateWrapper<MallOrder> oUw = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<MallOrder> oUw = new LambdaUpdateWrapper<>(); |
|
|
oUw.in(MallOrder::getId, orderIds).set(MallOrder::getStatus, ORDER_STATUS_DELIVERING); |
|
|
oUw.in(MallOrder::getId, orderIds) |
|
|
|
|
|
.eq(MallOrder::getStatus, 3) |
|
|
|
|
|
.set(MallOrder::getStatus, ORDER_STATUS_DELIVERING); |
|
|
mallOrderService.update(oUw); |
|
|
mallOrderService.update(oUw); |
|
|
//更新缓存
|
|
|
//更新缓存
|
|
|
for (String orderId : orderIds) { |
|
|
for (String orderId : orderIds) { |
|
|
MallOrder orderInner = mallOrderService.getById(orderId); |
|
|
MallOrder orderInner = mallOrderService.getById(orderId); |
|
|
delivery.setGetTime(new Date()); |
|
|
delivery.setGetTime(new Date()); |
|
|
delivery.setStatus(STATUS_DELIVERING); |
|
|
delivery.setStatus(STATUS_DELIVERING); |
|
|
|
|
|
if(orderInner.getStatus() == ORDER_STATUS_DELIVERING || orderInner.getStatus() == 3){ |
|
|
|
|
|
MallOrderVO orderVO = buildVO(orderInner, null, null, delivery); |
|
|
|
|
|
orderVO.setStatus(ORDER_STATUS_DELIVERING); |
|
|
|
|
|
userPendingOrderCacheUtil.update(orderInner.getUserId(), orderVO); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else{ |
|
|
|
|
|
// 同步订单状态 -> 配送中
|
|
|
|
|
|
if (StringUtils.isNotBlank(delivery.getOrderId())) { |
|
|
|
|
|
LambdaUpdateWrapper<MallOrder> oUw = new LambdaUpdateWrapper<>(); |
|
|
|
|
|
oUw.eq(MallOrder::getId, delivery.getOrderId()) |
|
|
|
|
|
.set(MallOrder::getStatus, ORDER_STATUS_DELIVERING); |
|
|
|
|
|
mallOrderService.update(oUw); |
|
|
|
|
|
MallOrder orderInner = mallOrderService.getById(delivery.getOrderId()); |
|
|
|
|
|
delivery.setGetTime(new Date()); |
|
|
|
|
|
delivery.setStatus(STATUS_DELIVERING); |
|
|
MallOrderVO orderVO = buildVO(orderInner, null, null, delivery); |
|
|
MallOrderVO orderVO = buildVO(orderInner, null, null, delivery); |
|
|
orderVO.setStatus(ORDER_STATUS_DELIVERING); |
|
|
orderVO.setStatus(ORDER_STATUS_DELIVERING); |
|
|
userPendingOrderCacheUtil.update(orderInner.getUserId(), orderVO); |
|
|
userPendingOrderCacheUtil.update(orderInner.getUserId(), orderVO); |
|
|
@ -500,11 +518,16 @@ public class MallDeliveryOrderServiceImpl extends ServiceImpl<MallDeliveryOrderM |
|
|
//如果是有groupId证明是面对面配送,需要更新所有子订单状态为完成
|
|
|
//如果是有groupId证明是面对面配送,需要更新所有子订单状态为完成
|
|
|
if(StringUtils.isNotBlank(delivery.getGroupId())){ |
|
|
if(StringUtils.isNotBlank(delivery.getGroupId())){ |
|
|
MallOrderGroup group = mallOrderGroupMapper.selectById(delivery.getGroupId()); |
|
|
MallOrderGroup group = mallOrderGroupMapper.selectById(delivery.getGroupId()); |
|
|
|
|
|
if(group.getIsFace() == 1){ |
|
|
List<String> orderIdList = Arrays.asList(group.getGroupOrderIds().split(",")); |
|
|
List<String> orderIdList = Arrays.asList(group.getGroupOrderIds().split(",")); |
|
|
//更新缓存
|
|
|
//更新缓存
|
|
|
for (String orderId : orderIdList) { |
|
|
for (String orderId : orderIdList) { |
|
|
MallOrder orderInner = mallOrderService.getById(orderId); |
|
|
MallOrder orderInner = mallOrderService.getById(orderId); |
|
|
|
|
|
if(orderInner.getStatus() == 4){ |
|
|
userPendingOrderCacheUtil.remove(orderInner.getUserId(),orderInner.getId()); |
|
|
userPendingOrderCacheUtil.remove(orderInner.getUserId(),orderInner.getId()); |
|
|
|
|
|
}else{ |
|
|
|
|
|
orderIdList.remove(orderId); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
LambdaUpdateWrapper<MallOrder> oqw = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<MallOrder> oqw = new LambdaUpdateWrapper<>(); |
|
|
oqw.in(MallOrder::getId, orderIdList).set(MallOrder::getStatus,ORDER_STATUS_DONE); |
|
|
oqw.in(MallOrder::getId, orderIdList).set(MallOrder::getStatus,ORDER_STATUS_DONE); |
|
|
@ -527,8 +550,24 @@ public class MallDeliveryOrderServiceImpl extends ServiceImpl<MallDeliveryOrderM |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
isFantuan = false; // 已在上方逐单计数,跳过底部统一计数
|
|
|
}else{ |
|
|
|
|
|
if (StringUtils.isNotBlank(delivery.getOrderId())) { |
|
|
|
|
|
LambdaUpdateWrapper<MallOrder> oUw = new LambdaUpdateWrapper<>(); |
|
|
|
|
|
oUw.eq(MallOrder::getId, delivery.getOrderId()) |
|
|
|
|
|
.set(MallOrder::getStatus, ORDER_STATUS_DONE); |
|
|
|
|
|
mallOrderService.update(oUw); |
|
|
|
|
|
//更新缓存
|
|
|
|
|
|
MallOrder orderInner = mallOrderService.getById(delivery.getOrderId()); |
|
|
|
|
|
userPendingOrderCacheUtil.remove(orderInner.getUserId(),orderInner.getId()); |
|
|
|
|
|
|
|
|
|
|
|
if(orderInner.getOtherOrder() != null){ |
|
|
|
|
|
isFantuan = false; |
|
|
|
|
|
} |
|
|
|
|
|
//优惠券变成已使用
|
|
|
|
|
|
mallUserCouponService.useCoupon(delivery.getOrderId()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//isFantuan = false; // 已在上方逐单计数,跳过底部统一计数
|
|
|
}else{ |
|
|
}else{ |
|
|
// 同步订单状态 -> 已完成
|
|
|
// 同步订单状态 -> 已完成
|
|
|
if (StringUtils.isNotBlank(delivery.getOrderId())) { |
|
|
if (StringUtils.isNotBlank(delivery.getOrderId())) { |
|
|
|