This commit is contained in:
wyn
2026-04-28 23:21:29 +08:00
parent f50e17aa87
commit 6bc3f33d3d

View File

@@ -659,6 +659,12 @@ public class BuyOrderController {
return R.error("订单对应用户不存在");
}
BuyOrderRefund buyOrderRefund = buyOrderRefundService.getOne(new QueryWrapper<BuyOrderRefund>().eq("order_id",buyOrder.getOrderId()));
if(buyOrderRefund!=null){
return R.error("请勿重复申请退款");
}else{
buyOrderRefund = new BuyOrderRefund();
}
if (Constants.ORDER_STATUS_TO_BE_PAID.equals(buyOrder.getOrderStatus())
|| Constants.ORDER_STATUS_FAIL.equals(buyOrder.getOrderStatus())
|| Constants.ORDER_STATUS_REFUND.equals(buyOrder.getOrderStatus())
@@ -666,9 +672,6 @@ public class BuyOrderController {
return R.error("当前订单状态不支持退单");
}
buyOrder.setOrderStatus(Constants.ORDER_STATUS_REFUND);
buyOrderService.updateById(buyOrder);
BigDecimal refundFee = buyOrder.getRealMoney();
BigDecimal shippingMoney = buyOrder.getShippingMoney()==null?BigDecimal.ZERO:buyOrder.getShippingMoney();
int deductShipping = params.containsKey("deductShipping") && params.get("deductShipping")!=null?Integer.parseInt(params.get("deductShipping").toString()):0;
@@ -679,7 +682,6 @@ public class BuyOrderController {
String remark = params.containsKey("remark") && params.get("remark").toString()!=null?params.get("remark").toString():"";
String refundNo = buyOrderRefundService.genRefundNo();
BuyOrderRefund buyOrderRefund = new BuyOrderRefund();
buyOrderRefund.setRefundNo(refundNo);
buyOrderRefund.setOrderId(buyOrder.getOrderId());
buyOrderRefund.setOrderSn(buyOrder.getOrderSn());
@@ -702,8 +704,13 @@ public class BuyOrderController {
myUserService.updateById(user);
buyOrderRefundLogService.insertRefundLog(refundId,1,1);
buyOrderService.refundOrder(buyOrder,user,refundId);
//更改订单状态为已付款
buyOrder.setOrderStatus(Constants.ORDER_STATUS_REFUND);
buyOrderService.updateById(buyOrder);
}
} else if (Constants.PAYMENT_METHOD_WECHAT_PAY.equals(buyOrder.getPaymentMethod())) {
buyOrderRefundLogService.insertRefundLog(refundId,4,0);
if (refundFee.compareTo(BigDecimal.ZERO) > 0) {
Map<String, Object> refundParams = new HashMap<>();
refundParams.put("orderSn", buyOrder.getOrderSn());
@@ -713,10 +720,13 @@ public class BuyOrderController {
JSONObject resultJson = JSONObject.parseObject(refundResult);
if (!"SUCCESS".equals(resultJson.getString("status"))) {
return R.error("微信退款申请失败");
}else{
buyOrderRefundLogService.insertRefundLog(refundId,4,2);
}
buyOrderRefundLogService.insertRefundLog(refundId,4,0);
}
} else if (Constants.PAYMENT_METHOD_ALI_PAY.equals(buyOrder.getPaymentMethod())) {
buyOrderRefundLogService.insertRefundLog(refundId,3,0);
if (refundFee.compareTo(BigDecimal.ZERO) > 0) {
Map<String, Object> refundParams = new HashMap<>();
refundParams.put("orderSn", buyOrder.getOrderSn());
@@ -728,11 +738,11 @@ public class BuyOrderController {
|| !"10000".equals(responseJson.getString("code"))
|| !"Y".equals(responseJson.getString("fund_change"))) {
return R.error("支付宝退款申请失败");
}else{
buyOrderRefundLogService.insertRefundLog(refundId,3,2);
}
buyOrderRefundLogService.insertRefundLog(refundId,3,1);
}
}
return R.ok("ok");
}