mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-22 03:55:17 +08:00
退款金额小于等于0, 不执行退款
This commit is contained in:
@@ -769,9 +769,9 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
@Override
|
||||
public void refundOrder(OrderBasicInfo orderBasicInfo) {
|
||||
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
|
||||
// 如果退款金额小于0, 不执行退款
|
||||
if (refundAmount.compareTo(BigDecimal.ZERO) < 0) {
|
||||
logger.info("执行订单退款-退款金额小于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount);
|
||||
// 如果退款金额小于等于0, 不执行退款
|
||||
if (refundAmount == null || refundAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
logger.info("执行订单退款-退款金额小于等于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount);
|
||||
return;
|
||||
}
|
||||
// 查询该笔订单的退款记录
|
||||
@@ -987,23 +987,38 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void balancePaymentOrderRefund(OrderBasicInfo orderBasicInfo) {
|
||||
logger.info("【{}】-余额支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
|
||||
// 需要退款的金额
|
||||
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
|
||||
|
||||
// 如果退款金额小于等于0, 不执行退款
|
||||
if (refundAmount == null || refundAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
logger.info("balancePaymentOrderRefund-退款金额小于等于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount);
|
||||
return;
|
||||
}
|
||||
|
||||
// 订单编号
|
||||
String orderCode = orderBasicInfo.getOrderCode();
|
||||
|
||||
// 运营商id
|
||||
String merchantId = orderBasicInfo.getMerchantId();
|
||||
|
||||
// 订单消费金额
|
||||
BigDecimal orderAmount = orderBasicInfo.getOrderAmount();
|
||||
|
||||
// 查支付记录
|
||||
List<OrderPayRecord> payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
||||
|
||||
// 根据payMode分组
|
||||
Map<String, List<OrderPayRecord>> payRecordMap = payRecordList.stream()
|
||||
.collect(Collectors.groupingBy(OrderPayRecord::getPayMode));
|
||||
|
||||
// 获取本金支付的记录
|
||||
List<OrderPayRecord> principalPayRecordList = payRecordMap.get(OrderPayRecordEnum.PRINCIPAL_BALANCE_PAYMENT.getValue());
|
||||
BigDecimal principalPay = null;
|
||||
if (CollectionUtils.isNotEmpty(principalPayRecordList)) {
|
||||
principalPay = principalPayRecordList.stream().map(OrderPayRecord::getPayAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
}
|
||||
|
||||
// 获取赠送金支付的记录
|
||||
List<OrderPayRecord> giftPayRecordList = payRecordMap.get(OrderPayRecordEnum.GIFT_BALANCE_PAYMENT.getValue());
|
||||
BigDecimal giftPay = null;
|
||||
@@ -1020,6 +1035,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
|
||||
// 需要退回本金的金额
|
||||
BigDecimal returnPrincipal = returnAmountMap.get("returnPrincipal");
|
||||
|
||||
// 需要退回赠送金的金额
|
||||
BigDecimal returnGift = returnAmountMap.get("returnGift");
|
||||
|
||||
@@ -1049,15 +1065,19 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
*/
|
||||
private void onlinePaymentOrderRefund(OrderBasicInfo orderBasicInfo) {
|
||||
logger.info("【{}】-在线支付订单退款start orderBasicInfo:{}", this.getClass().getSimpleName(), JSON.toJSONString(orderBasicInfo));
|
||||
// 订单编号
|
||||
String orderCode = orderBasicInfo.getOrderCode();
|
||||
|
||||
// 需要退款的金额
|
||||
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
|
||||
|
||||
// 如果退款金额小于等于0, 不执行退款
|
||||
if (refundAmount == null || refundAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
logger.info("onlinePaymentOrderRefund-退款金额小于等于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount);
|
||||
return;
|
||||
}
|
||||
|
||||
// 微信退款逻辑
|
||||
ApplyRefundDTO applyRefundDTO = new ApplyRefundDTO();
|
||||
applyRefundDTO.setOrderCode(orderCode);
|
||||
applyRefundDTO.setOrderCode(orderBasicInfo.getOrderCode());
|
||||
applyRefundDTO.setRefundType(Constants.ONE);
|
||||
applyRefundDTO.setRefundAmount(refundAmount);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user