Browse Source

对接拼团数据1

master
wangfukang 3 weeks ago
parent
commit
9929a7eeee
  1. 45
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallDeliveryOrderServiceImpl.java

45
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallDeliveryOrderServiceImpl.java

@ -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())) {

Loading…
Cancel
Save