refactor: 虚拟订单增加取消判定,解决订单退款,待审核订单状态不变的问题。
This commit is contained in:
parent
39e22f5561
commit
46911004db
@ -64,7 +64,8 @@ public class AllowOperation implements Serializable {
|
||||
}
|
||||
|
||||
//新订单
|
||||
if (CharSequenceUtil.equalsAny(status, OrderStatusEnum.UNPAID.name(), OrderStatusEnum.PAID.name(), OrderStatusEnum.UNDELIVERED.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||
if (CharSequenceUtil.equalsAny(status, OrderStatusEnum.UNPAID.name(), OrderStatusEnum.PAID.name(), OrderStatusEnum.UNDELIVERED.name(),
|
||||
OrderStatusEnum.STAY_PICKED_UP.name(), OrderStatusEnum.TAKE.name())) {
|
||||
this.cancel = true;
|
||||
}
|
||||
//新订单,允许支付
|
||||
@ -86,7 +87,8 @@ public class AllowOperation implements Serializable {
|
||||
this.showLogistics = order.getDeliverStatus().equals(DeliverStatusEnum.DELIVERED.name()) && status.equals(OrderStatusEnum.DELIVERED.name());
|
||||
|
||||
//虚拟订单 或 自提订单可以核销
|
||||
this.take = (order.getOrderType().equals(OrderTypeEnum.VIRTUAL.name()) && order.getOrderStatus().equals(OrderStatusEnum.TAKE.name())) || (order.getDeliveryMethod().equals(DeliveryMethodEnum.SELF_PICK_UP.name()) && order.getOrderStatus().equals(OrderStatusEnum.STAY_PICKED_UP.name()));
|
||||
this.take =
|
||||
(order.getOrderType().equals(OrderTypeEnum.VIRTUAL.name()) && order.getOrderStatus().equals(OrderStatusEnum.TAKE.name())) || (order.getDeliveryMethod().equals(DeliveryMethodEnum.SELF_PICK_UP.name()) && order.getOrderStatus().equals(OrderStatusEnum.STAY_PICKED_UP.name()));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -104,8 +106,10 @@ public class AllowOperation implements Serializable {
|
||||
this.editPrice = true;
|
||||
}
|
||||
|
||||
//新订单
|
||||
if (CharSequenceUtil.equalsAny(status, OrderStatusEnum.UNPAID.name(), OrderStatusEnum.PAID.name(), OrderStatusEnum.UNDELIVERED.name())) {
|
||||
//取消判定
|
||||
if (CharSequenceUtil.equalsAny(status, OrderStatusEnum.UNPAID.name(), OrderStatusEnum.PAID.name(), OrderStatusEnum.UNDELIVERED.name(),
|
||||
OrderStatusEnum.STAY_PICKED_UP.name(),
|
||||
OrderStatusEnum.TAKE.name())) {
|
||||
this.cancel = true;
|
||||
|
||||
}
|
||||
|
@ -171,7 +171,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
orders.add(order);
|
||||
String message = "订单[" + item.getSn() + "]创建";
|
||||
//记录日志
|
||||
orderLogs.add(new OrderLog(item.getSn(), UserContext.getCurrentUser().getId(), UserContext.getCurrentUser().getRole().getRole(), UserContext.getCurrentUser().getUsername(), message));
|
||||
orderLogs.add(new OrderLog(item.getSn(), UserContext.getCurrentUser().getId(), UserContext.getCurrentUser().getRole().getRole(),
|
||||
UserContext.getCurrentUser().getUsername(), message));
|
||||
item.getCheckedSkuList().forEach(
|
||||
sku -> {
|
||||
orderItems.add(new OrderItem(sku, item, tradeDTO));
|
||||
@ -260,7 +261,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(Order::getOrderPromotionType, PromotionTypeEnum.PINTUAN.name());
|
||||
queryWrapper.eq(Order::getPromotionId, pintuanId);
|
||||
queryWrapper.nested(i -> i.eq(Order::getPayStatus, PayStatusEnum.PAID.name()).or(j -> j.eq(Order::getOrderStatus, OrderStatusEnum.PAID.name())));
|
||||
queryWrapper.nested(i -> i.eq(Order::getPayStatus, PayStatusEnum.PAID.name()).or(j -> j.eq(Order::getOrderStatus,
|
||||
OrderStatusEnum.PAID.name())));
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
|
||||
@ -299,7 +301,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
OrderStatusEnum.UNDELIVERED.name(),
|
||||
OrderStatusEnum.UNPAID.name(),
|
||||
OrderStatusEnum.STAY_PICKED_UP.name(),
|
||||
OrderStatusEnum.PAID.name())) {
|
||||
OrderStatusEnum.PAID.name(),
|
||||
OrderStatusEnum.TAKE.name())) {
|
||||
|
||||
order.setOrderStatus(OrderStatusEnum.CANCELLED.name());
|
||||
order.setCancelReason(reason);
|
||||
@ -409,7 +412,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
BeanUtil.copyProperties(memberAddressDTO, order);
|
||||
this.updateById(order);
|
||||
|
||||
OrderLog orderLog = new OrderLog(orderSn, UserContext.getCurrentUser().getId(), UserContext.getCurrentUser().getRole().getRole(), UserContext.getCurrentUser().getUsername(), message);
|
||||
OrderLog orderLog = new OrderLog(orderSn, UserContext.getCurrentUser().getId(), UserContext.getCurrentUser().getRole().getRole(),
|
||||
UserContext.getCurrentUser().getUsername(), message);
|
||||
orderLogService.save(orderLog);
|
||||
|
||||
return order;
|
||||
@ -456,8 +460,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
public Order shunFengDelivery(String orderSn) {
|
||||
OrderDetailVO orderDetailVO = this.queryDetail(orderSn);
|
||||
String logisticsNo = logisticsService.sfCreateOrder(orderDetailVO);
|
||||
Logistics logistics = logisticsService.getOne(new LambdaQueryWrapper<Logistics>().eq(Logistics::getCode,"SF"));
|
||||
return delivery(orderSn,logisticsNo,logistics.getId());
|
||||
Logistics logistics = logisticsService.getOne(new LambdaQueryWrapper<Logistics>().eq(Logistics::getCode, "SF"));
|
||||
return delivery(orderSn, logisticsNo, logistics.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -474,7 +478,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
Order order = this.getBySn(orderSn);
|
||||
//获取店家信息
|
||||
StoreDeliverGoodsAddressDTO storeDeliverGoodsAddressDTO = storeDetailService.getStoreDeliverGoodsAddressDto(order.getStoreId());
|
||||
String from = storeDeliverGoodsAddressDTO.getSalesConsignorAddressPath().substring(0, storeDeliverGoodsAddressDTO.getSalesConsignorAddressPath().indexOf(",") - 1);
|
||||
String from = storeDeliverGoodsAddressDTO.getSalesConsignorAddressPath().substring(0,
|
||||
storeDeliverGoodsAddressDTO.getSalesConsignorAddressPath().indexOf(",") - 1);
|
||||
String to = order.getConsigneeAddressPath().substring(0, order.getConsigneeAddressPath().indexOf(",") - 1);
|
||||
//获取踪迹信息
|
||||
return logisticsService.getLogisticMapTrack(order.getLogisticsCode(), order.getLogisticsNo(), order.getConsigneeMobile(), from, to);
|
||||
@ -582,7 +587,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void sendUpdateStatusMessage(OrderMessage orderMessage) {
|
||||
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("发送订单变更mq消息", rocketmqCustomProperties.getOrderTopic(), OrderTagsEnum.STATUS_CHANGE.name(), JSONUtil.toJsonStr(orderMessage)));
|
||||
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("发送订单变更mq消息", rocketmqCustomProperties.getOrderTopic(),
|
||||
OrderTagsEnum.STATUS_CHANGE.name(), JSONUtil.toJsonStr(orderMessage)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -769,7 +775,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
this.systemCancel(entry.getKey(), reason);
|
||||
} else {
|
||||
for (Order order : entry.getValue()) {
|
||||
if (!CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||
if (!CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(),
|
||||
OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||
this.systemCancel(order.getSn(), reason);
|
||||
}
|
||||
}
|
||||
@ -816,7 +823,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
paidOrders.add(order);
|
||||
}
|
||||
for (Order paidOrder : paidOrders) {
|
||||
if (!CharSequenceUtil.equalsAny(paidOrder.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||
if (!CharSequenceUtil.equalsAny(paidOrder.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(),
|
||||
OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||
if (OrderTypeEnum.NORMAL.name().equals(paidOrder.getOrderType())) {
|
||||
paidOrder.setOrderStatus(OrderStatusEnum.UNDELIVERED.name());
|
||||
} else if (OrderTypeEnum.VIRTUAL.name().equals(paidOrder.getOrderType())) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user