|
@@ -436,7 +436,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
ShopWallet newShopWallet = mapperFacade.map(shopWallet, ShopWallet.class);
|
|
|
|
|
|
// 已确认收货的订单扣除已结算的金额
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value())) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value())) {
|
|
|
// 平台把退款金额归还商家,商家退还金额到用户
|
|
|
if (shopWallet.getSettledAmount() < shopRealRefundAmount) {
|
|
|
throw new GlobalException("您的可提现金额不足,无法进行退款");
|
|
@@ -446,7 +446,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
}
|
|
|
// 1. 订单未确认收货则扣未结算金额
|
|
|
// 2. 商家撤销拼团活动时失效拼团时,将待成团的队伍进行退款
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) || Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value()) || Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value())) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) || Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value()) || Objects.equals(order.getHbOrderStatus(), OrderStatus.WAIT_GROUP.value())) {
|
|
|
|
|
|
if (shopWallet.getUnsettledAmount() < shopRealRefundAmount) {
|
|
|
throw new GlobalException("您的待结算金额不足,无法进行退款");
|
|
@@ -490,7 +490,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
order.setRefundStatus(RefundStatusEnum.DISAGREE.value());
|
|
|
}
|
|
|
if (type == 2) {
|
|
|
- order.setStatus(OrderStatus.CLOSE.value());
|
|
|
+ order.setHbOrderStatus(OrderStatus.CLOSE.value());
|
|
|
}
|
|
|
orderService.updateById(order);
|
|
|
}
|
|
@@ -556,7 +556,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
}
|
|
|
// 更新订单
|
|
|
Order order = orderService.getOrderByOrderNumber(orderRefundDto.getOrderNumber());
|
|
|
- int oldOrderStatus = order.getStatus();
|
|
|
+ int oldOrderStatus = order.getHbOrderStatus();
|
|
|
|
|
|
|
|
|
// 退款成功(保存退款结算记录、更新订单、还原库存)
|
|
@@ -569,7 +569,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
// 如果订单因为退款关闭,要进行结算给商家的操作,这个结算的计算是退款完成后结算的,所以不要随便改变顺序
|
|
|
if (!Objects.equals(orderRefundDto.getRefundType(), RefundType.ALL.value())
|
|
|
&& !Objects.equals(oldOrderStatus, OrderStatus.SUCCESS.value())
|
|
|
- && Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())
|
|
|
+ && Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value())
|
|
|
&& Objects.equals(order.getCloseType(), OrderCloseType.REFUND.value())) {
|
|
|
applicationContext.publishEvent(new ReceiptOrderEvent(order));
|
|
|
}
|
|
@@ -655,7 +655,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
*/
|
|
|
private void refundSuccess(Order order, OrderRefundDto orderRefundDto) {
|
|
|
if (Objects.equals(orderRefundDto.getRefundType(), RefundType.ALL.value())) {
|
|
|
- order.setStatus(OrderStatus.CLOSE.value());
|
|
|
+ order.setHbOrderStatus(OrderStatus.CLOSE.value());
|
|
|
order.setCancelTime(new Date());
|
|
|
order.setUpdateTime(new Date());
|
|
|
order.setCloseType(OrderCloseType.REFUND.value());
|
|
@@ -674,7 +674,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
|
|
|
// 整个订单完成退款的时候
|
|
|
if (totalRefundNum + orderRefundDto.getGoodsNum() >= order.getProductNums()) {
|
|
|
- order.setStatus(OrderStatus.CLOSE.value());
|
|
|
+ order.setHbOrderStatus(OrderStatus.CLOSE.value());
|
|
|
order.setCancelTime(new Date());
|
|
|
order.setUpdateTime(new Date());
|
|
|
order.setCloseType(OrderCloseType.REFUND.value());
|
|
@@ -684,7 +684,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
}
|
|
|
|
|
|
// 退款成功后,订单没有关闭,且发货订单项 + 退款成功订单项 = 订单项总数量 ,订单状态改为待收货
|
|
|
- if (!Objects.equals(order.getStatus(), OrderStatus.CLOSE.value()) && Objects.equals(order.getStatus(), OrderStatus.PADYED.value())) {
|
|
|
+ if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value()) && Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value())) {
|
|
|
List<OrderItem> list = orderItemService.list(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
|
|
|
Integer count = 0;
|
|
|
for (OrderItem orderItem : list) {
|
|
@@ -693,7 +693,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
}
|
|
|
}
|
|
|
if (orderRefundList.size() + count + orderRefundDto.getOrderItems().size() >= list.size()) {
|
|
|
- order.setStatus(OrderStatus.CONSIGNMENT.value());
|
|
|
+ order.setHbOrderStatus(OrderStatus.CONSIGNMENT.value());
|
|
|
order.setDvyTime(new Date());
|
|
|
}
|
|
|
}
|
|
@@ -762,7 +762,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
@Override
|
|
|
public boolean checkRefundDate(Order order) {
|
|
|
// 判断是否超过支持的退款天数
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value())) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value())) {
|
|
|
long finallyTime = order.getFinallyTime().getTime();
|
|
|
long currentTime = System.currentTimeMillis();
|
|
|
int miniTime = Constant.MAX_FINALLY_REFUND_TIME * 24 * 60 * 60 * 1000;
|
|
@@ -789,11 +789,11 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
throw new GlobalException("当前订单还未付款,无法申请");
|
|
|
}
|
|
|
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value())) {
|
|
|
throw new GlobalException("当前订单已失败,不允许退款");
|
|
|
}
|
|
|
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value())) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.WAIT_GROUP.value())) {
|
|
|
throw new GlobalException("当前订单正在等待成团状态,需等待成团才能进行下一步操作");
|
|
|
}
|
|
|
|
|
@@ -810,7 +810,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
}
|
|
|
|
|
|
//待收货 -> 整单退款 -> 退款金额 < 订单金额 - 运费金额
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value()) && orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value()) && orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
|
|
|
Double refundAmount = Arith.sub(order.getActualTotal(), order.getFreightAmount());
|
|
|
if (orderRefundParam.getRefundAmount() > refundAmount) {
|
|
|
throw new GlobalException("退款金额已超出订单金额,无法申请");
|
|
@@ -916,7 +916,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
|
|
|
} else {
|
|
|
newOrderRefund.setOrderItemId(orderRefundParam.getOrderItemId());
|
|
|
// 待发货状态-最后一件商品进行退款,退款金额 = 商品金额 + 订单运费金额
|
|
|
- if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
|
|
|
+ if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
|
|
|
int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
|
|
|
if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
|
|
|
newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
|