|
|
@@ -293,11 +293,33 @@ public class AfterSaleOrderServiceImpl extends ServiceImpl<AfterSaleOrderMapper,
|
|
|
// 3. 获取等待商家收货的售后单
|
|
|
LambdaQueryWrapper<AfterSaleOrder> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(AfterSaleOrder::getOrderId, orderId)
|
|
|
- .eq(AfterSaleOrder::getAfterSaleStatus, AfterSaleStatusEnum.WAITING_MERCHANT_RECEIVE.getCode());
|
|
|
+ .in(AfterSaleOrder::getAfterSaleStatus,
|
|
|
+ AfterSaleStatusEnum.WAIT_AUDIT.getCode(),
|
|
|
+ AfterSaleStatusEnum.WAITING_MERCHANT_RECEIVE.getCode());
|
|
|
|
|
|
AfterSaleOrder afterSaleOrder = this.afterSaleOrderMapper.selectOne(queryWrapper);
|
|
|
if (ObjectUtil.isNull(afterSaleOrder)) {
|
|
|
- throw new ServiceException("未找到等待商家收货的售后单");
|
|
|
+ throw new ServiceException("未找到可审核的售后单");
|
|
|
+ }
|
|
|
+
|
|
|
+ AfterSaleTypeEnum typeEnum = AfterSaleTypeEnum.valueOf(afterSaleOrder.getAfterSaleType());
|
|
|
+ AfterSaleStatusEnum statusEnum = AfterSaleStatusEnum.valueOf(afterSaleOrder.getAfterSaleStatus());
|
|
|
+
|
|
|
+ switch (typeEnum) {
|
|
|
+ case NOT_RECEIVED:
|
|
|
+ // ====================== 未收到货 → 仅退款 ======================
|
|
|
+ if (statusEnum != AfterSaleStatusEnum.WAIT_AUDIT) {
|
|
|
+ throw new ServiceException("仅退款单状态异常,无法审核");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case RETURN_GOODS:
|
|
|
+ // ====================== 已收到货 → 退货退款 ======================
|
|
|
+ if (statusEnum != AfterSaleStatusEnum.WAITING_MERCHANT_RECEIVE) {
|
|
|
+ throw new ServiceException("退货单需用户寄回、商家收货后才能审核退款");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new ServiceException("不支持的售后类型");
|
|
|
}
|
|
|
|
|
|
// 4. 判断售后单的售后类型
|
|
|
@@ -314,6 +336,8 @@ public class AfterSaleOrderServiceImpl extends ServiceImpl<AfterSaleOrderMapper,
|
|
|
throw new ServiceException("更新售后单失败");
|
|
|
}
|
|
|
|
|
|
+ // TODO 7.更新库存信息
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|