|
@@ -416,8 +416,8 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
|
|
|
.eq("order_id", refundOrder.getOrderId()).eq("delete_flag",0));
|
|
.eq("order_id", refundOrder.getOrderId()).eq("delete_flag",0));
|
|
|
// 1.查询订单信息 订单表 + 中间表
|
|
// 1.查询订单信息 订单表 + 中间表
|
|
|
LifeUserOrder order = lifeUserOrderMapper.selectById(refundOrder.getOrderId());
|
|
LifeUserOrder order = lifeUserOrderMapper.selectById(refundOrder.getOrderId());
|
|
|
- // 待使用的券(可退款的券)
|
|
|
|
|
- List<OrderCouponMiddle> orderCouponMiddles1 = orderCouponMiddles.stream().filter(orderCouponMiddle -> orderCouponMiddle.getStatus() == 1).collect(Collectors.toList());
|
|
|
|
|
|
|
+ // 待使用的券(可退款的券 || 退款失败的券 目前没做失败的券状态更新 暂时不加)
|
|
|
|
|
+ List<OrderCouponMiddle> orderCouponMiddles1 = orderCouponMiddles.stream().filter(orderCouponMiddle -> orderCouponMiddle.getStatus() == OrderStatusEnum.WAIT_USE.getStatus()).collect(Collectors.toList());
|
|
|
if (orderCouponMiddles1.size() < refundOrder.getRefundCouponAmount()) {
|
|
if (orderCouponMiddles1.size() < refundOrder.getRefundCouponAmount()) {
|
|
|
returnMap.put("fail", "退款券数不足");
|
|
returnMap.put("fail", "退款券数不足");
|
|
|
return returnMap;
|
|
return returnMap;
|
|
@@ -487,6 +487,11 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
|
|
|
// 处理 quanId 为 null 的情况,例如日志记录
|
|
// 处理 quanId 为 null 的情况,例如日志记录
|
|
|
log.error("更新优惠券状态失败");
|
|
log.error("更新优惠券状态失败");
|
|
|
}
|
|
}
|
|
|
|
|
+ } else if (refundCouponCount + refundOrder.getRefundCouponAmount() != orderCouponMiddles.size() && refundOrder.getRefundCouponAmount() == orderCouponMiddles1.size()) {
|
|
|
|
|
+ // 累计退券个数+当前退券个数!=总个数 且 当前退券数量 = 可退券数
|
|
|
|
|
+ lifeUserOrderMapper.update(null,new UpdateWrapper<LifeUserOrder>().eq("id",order.getId())
|
|
|
|
|
+ .set("status",OrderStatusEnum.COMPLETE.getStatus())
|
|
|
|
|
+ .set("finish_time",now));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 将退款记录插入到数据库中
|
|
// 将退款记录插入到数据库中
|