商家主动退款,优化
This commit is contained in:
parent
2eeb79f139
commit
c50803ce54
@ -2186,7 +2186,7 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商家处理退货退款(支持全单/部分商品退货)
|
* 商家处理退货退款不退货(支持全单/部分商品退货)
|
||||||
*
|
*
|
||||||
* @param requestParams JSON参数包含:
|
* @param requestParams JSON参数包含:
|
||||||
* - order_id: 订单ID (必填)
|
* - order_id: 订单ID (必填)
|
||||||
@ -2233,25 +2233,34 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
|
|
||||||
// === 4. 处理退货商品信息 ===
|
// === 4. 处理退货商品信息 ===
|
||||||
OrderReturnInputVo partialRefund = null;
|
OrderReturnInputVo partialRefund = null;
|
||||||
|
|
||||||
|
// 不分退款?
|
||||||
Boolean isPartialRefund = false;
|
Boolean isPartialRefund = false;
|
||||||
|
int partialRefundItemCnt = 0;
|
||||||
if (StrUtil.isNotBlank(requestParams.getStr("order_return_vo"))) {
|
if (StrUtil.isNotBlank(requestParams.getStr("order_return_vo"))) {
|
||||||
try {
|
try {
|
||||||
partialRefund = JSONUtil.toBean(requestParams.getStr("order_return_vo"), OrderReturnInputVo.class);
|
partialRefund = JSONUtil.toBean(requestParams.getStr("order_return_vo"), OrderReturnInputVo.class);
|
||||||
isPartialRefund = partialRefund != null && CollectionUtil.isNotEmpty(partialRefund.getReturn_items());
|
isPartialRefund = partialRefund != null && CollectionUtil.isNotEmpty(partialRefund.getReturn_items());
|
||||||
|
partialRefundItemCnt = partialRefund.getReturn_items().size();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return CommonResult.failed("退货商品参数格式错误");
|
return CommonResult.failed("退货商品参数格式错误");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取订单商品项
|
||||||
|
List<ShopOrderItem> orderItems = shopOrderItemService.find(
|
||||||
|
new QueryWrapper<ShopOrderItem>().eq("order_id", orderId));
|
||||||
|
if (CollectionUtil.isEmpty(orderItems)) {
|
||||||
|
return CommonResult.failed("订单没有可退货的商品");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isPartialRefund && orderItems.size() == partialRefundItemCnt) {
|
||||||
|
isPartialRefund = false;
|
||||||
|
}
|
||||||
|
|
||||||
// === 5. 创建退货单(如不存在) ===
|
// === 5. 创建退货单(如不存在) ===
|
||||||
ShopOrderReturn refundOrder = null;
|
ShopOrderReturn refundOrder = null;
|
||||||
if (!hasRefundRecord) {
|
if (!hasRefundRecord) {
|
||||||
// 5.1 获取订单商品项
|
|
||||||
List<ShopOrderItem> orderItems = shopOrderItemService.find(
|
|
||||||
new QueryWrapper<ShopOrderItem>().eq("order_id", orderId));
|
|
||||||
if (CollectionUtil.isEmpty(orderItems)) {
|
|
||||||
return CommonResult.failed("订单没有可退货的商品");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 5.2 准备退货请求数据
|
// 5.2 准备退货请求数据
|
||||||
OrderReturnInputVo refundRequest = new OrderReturnInputVo();
|
OrderReturnInputVo refundRequest = new OrderReturnInputVo();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user