退款
This commit is contained in:
@@ -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");
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user