|
@@ -456,6 +456,9 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
}
|
|
}
|
|
if (payments != null && payments.size() > 0) {
|
|
if (payments != null && payments.size() > 0) {
|
|
FsStorePayment payment = payments.get(0);
|
|
FsStorePayment payment = payments.get(0);
|
|
|
|
+ if (reMoney.compareTo(payment.getPayMoney())>0) {
|
|
|
|
+ return 0; //退款金额不能大于实际支付金额
|
|
|
|
+ }
|
|
String json = configService.selectConfigByKey("his.pay");
|
|
String json = configService.selectConfigByKey("his.pay");
|
|
if (payment.getPayMode().equals("wx")) {
|
|
if (payment.getPayMode().equals("wx")) {
|
|
WxPayConfig payConfig = new WxPayConfig();
|
|
WxPayConfig payConfig = new WxPayConfig();
|
|
@@ -481,7 +484,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
paymentMap.setStatus(-1);
|
|
paymentMap.setStatus(-1);
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
- paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
|
|
|
+ paymentMap.setRefundMoney(reMoney);
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
} else {
|
|
} else {
|
|
throw new CustomException("退款请求失败" + refundQueryResult.getReturnMsg());
|
|
throw new CustomException("退款请求失败" + refundQueryResult.getReturnMsg());
|
|
@@ -492,7 +495,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
} else if (payment.getPayMode().equals("yb")) {
|
|
} else if (payment.getPayMode().equals("yb")) {
|
|
//易宝
|
|
//易宝
|
|
RefundDTO refundDTO = new RefundDTO();
|
|
RefundDTO refundDTO = new RefundDTO();
|
|
- refundDTO.setRefundMoney(payment.getPayMoney().toString());
|
|
|
|
|
|
+ refundDTO.setRefundMoney(reMoney.toString());
|
|
refundDTO.setLowRefundNo(orderType + "-" + payment.getPayCode());
|
|
refundDTO.setLowRefundNo(orderType + "-" + payment.getPayCode());
|
|
refundDTO.setUpOrderId(payment.getTradeNo());
|
|
refundDTO.setUpOrderId(payment.getTradeNo());
|
|
com.fs.ybPay.domain.RefundResult result = payService.refund(refundDTO);
|
|
com.fs.ybPay.domain.RefundResult result = payService.refund(refundDTO);
|
|
@@ -502,7 +505,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
paymentMap.setStatus(-1);
|
|
paymentMap.setStatus(-1);
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
- paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
|
|
|
+ paymentMap.setRefundMoney(reMoney);
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
} else {
|
|
} else {
|
|
throw new CustomException("退款请求失败" + result.getMessage());
|
|
throw new CustomException("退款请求失败" + result.getMessage());
|
|
@@ -518,7 +521,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
tzBankResult.setTrxSendTime(sdf.format(new Date()));
|
|
tzBankResult.setTrxSendTime(sdf.format(new Date()));
|
|
// 退款金额
|
|
// 退款金额
|
|
- tzBankResult.setRefundOrdTransAmt(payment.getPayMoney().doubleValue());
|
|
|
|
|
|
+ tzBankResult.setRefundOrdTransAmt(reMoney.doubleValue());
|
|
TzBankResult<RefundResult> result = tzBankService.refund(tzBankResult);
|
|
TzBankResult<RefundResult> result = tzBankService.refund(tzBankResult);
|
|
logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + result);
|
|
logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + result);
|
|
if (result.getBody().getRefundOrdStatus().equals("90") || result.getBody().getRefundOrdStatus().equals("60")) {
|
|
if (result.getBody().getRefundOrdStatus().equals("90") || result.getBody().getRefundOrdStatus().equals("60")) {
|
|
@@ -526,31 +529,32 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
paymentMap.setPaymentId(payment.getPaymentId());
|
|
paymentMap.setStatus(-1);
|
|
paymentMap.setStatus(-1);
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
- paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
|
|
|
+ paymentMap.setRefundMoney(reMoney);
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
} else {
|
|
} else {
|
|
throw new CustomException("退款请求失败" + result.getRetMsg());
|
|
throw new CustomException("退款请求失败" + result.getRetMsg());
|
|
}
|
|
}
|
|
} else if (payment.getPayMode().equals("hf")) {
|
|
} else if (payment.getPayMode().equals("hf")) {
|
|
V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
|
|
V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
|
|
- request.setOrdAmt(payment.getPayMoney().toString());
|
|
|
|
|
|
+// request.setOrdAmt(payment.getPayMoney().toString());
|
|
|
|
+ request.setOrdAmt(reMoney.toString());
|
|
request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
|
|
request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
|
|
request.setReqSeqId("refund-" + payment.getPayCode());
|
|
request.setReqSeqId("refund-" + payment.getPayCode());
|
|
Map<String, Object> extendInfoMap = new HashMap<>();
|
|
Map<String, Object> extendInfoMap = new HashMap<>();
|
|
extendInfoMap.put("org_req_seq_id", orderType + "-" + payment.getPayCode());
|
|
extendInfoMap.put("org_req_seq_id", orderType + "-" + payment.getPayCode());
|
|
request.setExtendInfo(extendInfoMap);
|
|
request.setExtendInfo(extendInfoMap);
|
|
- HuiFuRefundResult refund = huiFuService.refund(request);
|
|
|
|
- logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + refund);
|
|
|
|
- if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {
|
|
|
|
- FsStorePayment paymentMap = new FsStorePayment();
|
|
|
|
- paymentMap.setPaymentId(payment.getPaymentId());
|
|
|
|
- paymentMap.setStatus(-1);
|
|
|
|
- paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
|
|
- paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
|
- fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
|
|
- } else {
|
|
|
|
- throw new CustomException("退款请求失败" + refund.getResp_desc());
|
|
|
|
- }
|
|
|
|
|
|
+// HuiFuRefundResult refund = huiFuService.refund(request);
|
|
|
|
+// logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + refund);
|
|
|
|
+// if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {
|
|
|
|
+// FsStorePayment paymentMap = new FsStorePayment();
|
|
|
|
+// paymentMap.setPaymentId(payment.getPaymentId());
|
|
|
|
+// paymentMap.setStatus(-1);
|
|
|
|
+// paymentMap.setRefundTime(DateUtils.getNowDate());
|
|
|
|
+// paymentMap.setRefundMoney(payment.getPayMoney());
|
|
|
|
+// fsStorePaymentMapper.updateFsStorePayment(paymentMap);
|
|
|
|
+// } else {
|
|
|
|
+// throw new CustomException("退款请求失败" + refund.getResp_desc());
|
|
|
|
+// }
|
|
}
|
|
}
|
|
//管易作废
|
|
//管易作废
|
|
if (StringUtils.isNotEmpty(fsStoreOrder.getExtendOrderId())) {
|
|
if (StringUtils.isNotEmpty(fsStoreOrder.getExtendOrderId())) {
|