fix: 核销订单如果订单不存在则抛出异常
This commit is contained in:
parent
cdb8e851a8
commit
794fa63302
@ -310,7 +310,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
Order order = OperationalJudgment.judgment(this.getBySn(orderSn));
|
Order order = OperationalJudgment.judgment(this.getBySn(orderSn));
|
||||||
//如果订单促销类型不为空&&订单是拼团订单,并且订单未成团,则抛出异常
|
//如果订单促销类型不为空&&订单是拼团订单,并且订单未成团,则抛出异常
|
||||||
if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderPromotionType())
|
if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderPromotionType())
|
||||||
&& !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.UNDELIVERED.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
&& !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.UNDELIVERED.name(),
|
||||||
|
OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||||
throw new ServiceException(ResultCode.ORDER_CAN_NOT_CANCEL);
|
throw new ServiceException(ResultCode.ORDER_CAN_NOT_CANCEL);
|
||||||
}
|
}
|
||||||
if (CharSequenceUtil.equalsAny(order.getOrderStatus(),
|
if (CharSequenceUtil.equalsAny(order.getOrderStatus(),
|
||||||
@ -337,12 +338,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
@Override
|
@Override
|
||||||
@OrderLogPoint(description = "'订单['+#orderSn+']系统取消,原因为:'+#reason", orderSn = "#orderSn")
|
@OrderLogPoint(description = "'订单['+#orderSn+']系统取消,原因为:'+#reason", orderSn = "#orderSn")
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void systemCancel(String orderSn, String reason,Boolean refundMoney) {
|
public void systemCancel(String orderSn, String reason, Boolean refundMoney) {
|
||||||
Order order = this.getBySn(orderSn);
|
Order order = this.getBySn(orderSn);
|
||||||
order.setOrderStatus(OrderStatusEnum.CANCELLED.name());
|
order.setOrderStatus(OrderStatusEnum.CANCELLED.name());
|
||||||
order.setCancelReason(reason);
|
order.setCancelReason(reason);
|
||||||
this.updateById(order);
|
this.updateById(order);
|
||||||
if(refundMoney){
|
if (refundMoney) {
|
||||||
//生成店铺退款流水
|
//生成店铺退款流水
|
||||||
this.generatorStoreRefundFlow(order);
|
this.generatorStoreRefundFlow(order);
|
||||||
orderStatusMessage(order);
|
orderStatusMessage(order);
|
||||||
@ -533,10 +534,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
@Override
|
@Override
|
||||||
public Order getOrderByVerificationCode(String verificationCode) {
|
public Order getOrderByVerificationCode(String verificationCode) {
|
||||||
String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId();
|
String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId();
|
||||||
return this.getOne(new LambdaQueryWrapper<Order>()
|
Order order = this.getOne(new LambdaQueryWrapper<Order>()
|
||||||
.in(Order::getOrderStatus, OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())
|
.in(Order::getOrderStatus, OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())
|
||||||
.eq(Order::getStoreId, storeId)
|
.eq(Order::getStoreId, storeId)
|
||||||
.eq(Order::getVerificationCode, verificationCode));
|
.eq(Order::getVerificationCode, verificationCode));
|
||||||
|
if (order == null) {
|
||||||
|
throw new ServiceException(ResultCode.ORDER_TAKE_ERROR);
|
||||||
|
}
|
||||||
|
return order;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -729,7 +734,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
Trade trade = tradeService.getBySn(order.getTradeSn());
|
Trade trade = tradeService.getBySn(order.getTradeSn());
|
||||||
//如果交易不为空,则返回交易的金额,否则返回订单金额
|
//如果交易不为空,则返回交易的金额,否则返回订单金额
|
||||||
if (CharSequenceUtil.isNotEmpty(trade.getPayStatus())
|
if (CharSequenceUtil.isNotEmpty(trade.getPayStatus())
|
||||||
&& trade.getPayStatus().equals(PayStatusEnum.PAID.name())) {
|
&& trade.getPayStatus().equals(PayStatusEnum.PAID.name())) {
|
||||||
return trade.getFlowPrice();
|
return trade.getFlowPrice();
|
||||||
}
|
}
|
||||||
return order.getFlowPrice();
|
return order.getFlowPrice();
|
||||||
@ -792,12 +797,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
//如果未开启虚拟成团且已参团人数小于成团人数,则自动取消订单
|
//如果未开启虚拟成团且已参团人数小于成团人数,则自动取消订单
|
||||||
String reason = "拼团活动结束订单未付款,系统自动取消订单";
|
String reason = "拼团活动结束订单未付款,系统自动取消订单";
|
||||||
if (CharSequenceUtil.isNotEmpty(entry.getKey())) {
|
if (CharSequenceUtil.isNotEmpty(entry.getKey())) {
|
||||||
this.systemCancel(entry.getKey(), reason,true);
|
this.systemCancel(entry.getKey(), reason, true);
|
||||||
} else {
|
} else {
|
||||||
for (Order order : entry.getValue()) {
|
for (Order order : entry.getValue()) {
|
||||||
if (!CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(),
|
if (!CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.COMPLETED.name(), OrderStatusEnum.DELIVERED.name(),
|
||||||
OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
OrderStatusEnum.TAKE.name(), OrderStatusEnum.STAY_PICKED_UP.name())) {
|
||||||
this.systemCancel(order.getSn(), reason,true);
|
this.systemCancel(order.getSn(), reason, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -851,7 +856,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
orderPackageItem.setGoodsName(orderItem.getGoodsName());
|
orderPackageItem.setGoodsName(orderItem.getGoodsName());
|
||||||
orderPackageItem.setThumbnail(orderItem.getImage());
|
orderPackageItem.setThumbnail(orderItem.getImage());
|
||||||
orderPackageItemService.save(orderPackageItem);
|
orderPackageItemService.save(orderPackageItem);
|
||||||
OrderLog orderLog = new OrderLog(orderSn, UserContext.getCurrentUser().getId(), UserContext.getCurrentUser().getRole().getRole(), UserContext.getCurrentUser().getUsername(), "订单 [ " + orderSn + " ]商品 [ " + orderItem.getGoodsName() + " ]发货,发货数量: [ " + partDeliveryDTO.getDeliveryNum() + " ],发货单号[ " + invoiceNumber + " ]");
|
OrderLog orderLog = new OrderLog(orderSn, UserContext.getCurrentUser().getId(),
|
||||||
|
UserContext.getCurrentUser().getRole().getRole(), UserContext.getCurrentUser().getUsername(), "订单 [ " + orderSn + " ]商品" +
|
||||||
|
" [ " + orderItem.getGoodsName() + " ]发货,发货数量: [ " + partDeliveryDTO.getDeliveryNum() + " ],发货单号[ " + invoiceNumber + " ]");
|
||||||
orderLogList.add(orderLog);
|
orderLogList.add(orderLog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -890,7 +897,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
//未付款订单自动取消
|
//未付款订单自动取消
|
||||||
if (unpaidOrders != null && !unpaidOrders.isEmpty()) {
|
if (unpaidOrders != null && !unpaidOrders.isEmpty()) {
|
||||||
for (Order unpaidOrder : unpaidOrders) {
|
for (Order unpaidOrder : unpaidOrders) {
|
||||||
this.systemCancel(unpaidOrder.getSn(), "拼团活动结束订单未付款,系统自动取消订单",false);
|
this.systemCancel(unpaidOrder.getSn(), "拼团活动结束订单未付款,系统自动取消订单", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<Order> paidOrders = listMap.get(PayStatusEnum.PAID.name());
|
List<Order> paidOrders = listMap.get(PayStatusEnum.PAID.name());
|
||||||
@ -1052,7 +1059,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
private void pintuanOrderFailed(List<Order> list) {
|
private void pintuanOrderFailed(List<Order> list) {
|
||||||
for (Order order : list) {
|
for (Order order : list) {
|
||||||
try {
|
try {
|
||||||
this.systemCancel(order.getSn(), "拼团人数不足,拼团失败!",true);
|
this.systemCancel(order.getSn(), "拼团人数不足,拼团失败!", true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("拼团订单取消失败", e);
|
log.error("拼团订单取消失败", e);
|
||||||
}
|
}
|
||||||
@ -1149,6 +1156,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单设置修改订单投诉状态
|
* 根据订单设置修改订单投诉状态
|
||||||
|
*
|
||||||
* @param orderSn
|
* @param orderSn
|
||||||
*/
|
*/
|
||||||
private void updateOrderComplainStatus(String orderSn) {
|
private void updateOrderComplainStatus(String orderSn) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user