商家退款 fix bug

This commit is contained in:
Jack 2025-07-15 15:57:45 +08:00
parent 9f313856f2
commit 3145635130
2 changed files with 24 additions and 19 deletions

View File

@ -276,12 +276,12 @@ public class StateCode {
public static final int ORDER_PROCESS_FINISH = 3098; //完成1OrderOrder
public static final HashMap<Integer, Integer> RETURN_PROCESS_MAP = new HashMap();
public static final int RETURN_PROCESS_SUBMIT = 3100; //客户提交退单1ReturnReturn
public static final int RETURN_PROCESS_CHECK = 3105; //退单审核1ReturnReturn
public static final int RETURN_PROCESS_RECEIVED = 3110; //收货确认0ReturnReturn
public static final int RETURN_PROCESS_REFUND = 3115; //退款确认0ReturnReturn
public static final int RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //客户收款确认0ReturnReturn
public static final int RETURN_PROCESS_FINISH = 3125; //完成1ReturnReturn3130-商家拒绝退货
public static final int RETURN_PROCESS_SUBMIT = 3100; //客户提交退单1
public static final int RETURN_PROCESS_CHECK = 3105; //退单审核1
public static final int RETURN_PROCESS_RECEIVED = 3110; //收货确认0
public static final int RETURN_PROCESS_REFUND = 3115; //退款确认0
public static final int RETURN_PROCESS_RECEIPT_CONFIRMATION = 3120; //客户收款确认0
public static final int RETURN_PROCESS_FINISH = 3125; //完成1
public static final int RETURN_PROCESS_REFUSED = 3130; //-商家拒绝退货
public static final int RETURN_PROCESS_CANCEL = 3135; //-买家取消

View File

@ -2221,7 +2221,7 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
}
// 发货之后不能退款了
if (StateCode.ORDER_STATE_SHIPPED <= orderInfo.getOrder_state_id()) {
if (orderInfo.getOrder_state_id() != null && orderInfo.getOrder_state_id() >= StateCode.ORDER_STATE_SHIPPED) {
return CommonResult.failed("订单状态,无法退款");
}
@ -2232,10 +2232,10 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
}
// === 3. 检查是否存在处理中的退货单 ===
Boolean hasRefundRecord = CollectionUtil.isNotEmpty(
find(new QueryWrapper<ShopOrderReturn>()
.eq("order_id", orderId)
.ne("return_state_id", StateCode.RETURN_PROCESS_CANCEL)));
ShopOrderReturn refundOrder = findOne(new QueryWrapper<ShopOrderReturn>()
.eq("order_id", orderId)
.eq("return_state_id", StateCode.RETURN_PROCESS_CHECK).orderByDesc("return_id"));
Boolean hasRefundRecord = refundOrder != null;
// === 4. 处理退货商品信息 ===
OrderReturnInputVo partialRefund = null;
@ -2269,7 +2269,7 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
requestParams.getStr("reason");
// === 5. 创建退货单如不存在 ===
ShopOrderReturn refundOrder = null;
// ShopOrderReturn refundOrder = null;
if (!hasRefundRecord) {
// 5.2 准备退货请求数据
@ -2303,24 +2303,29 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
// 5.4 创建退货单
CommonResult createResult = addItem(refundRequest);
if (createResult.getStatus() != 200) {
log.error("退货单创建失败addItem(params), params:{}", refundRequest);
return createResult;
}
refundOrder = findOne(new QueryWrapper<ShopOrderReturn>().eq("order_id", orderId));
if (refundOrder == null) {
return CommonResult.failed("退货单创建失败");
}
// refundOrder = findOne(new QueryWrapper<ShopOrderReturn>().eq("order_id", orderId).ne("return_state_id", StateCode.RETURN_PROCESS_CANCEL).orderByDesc("order_id"));
// if (refundOrder == null) {
// return CommonResult.failed("退款单创建失败");
// }
}
// === 6.1. 获取退货订单 ===
refundOrder = findOne(new QueryWrapper<ShopOrderReturn>().eq("order_id", orderId).eq("return_state_id", StateCode.RETURN_PROCESS_CHECK).orderByDesc("return_id"));
if (refundOrder == null) {
return CommonResult.failed("退款单创建失败");
}
// === 6. 处理退货 ===
refundOrder = refundOrder != null ? refundOrder :
findOne(new QueryWrapper<ShopOrderReturn>().eq("order_id", orderId));
refundOrder.setReturn_flag(0);
refundOrder.setReturn_store_message(reason);
refundOrder.setReturn_buyer_message(reason);
logger.info("商家退款订单:{}", JSONUtil.toJsonStr(refundOrder));
// === 6.2 处理退货 ===
if (!processReviewList(refundOrder, 0)) {
return CommonResult.failed("退款处理失败");
}