mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-13 06:20:07 +08:00
退款时, 已退款金额判断移动到具体方法中
This commit is contained in:
@@ -457,6 +457,11 @@ public interface OrderBasicInfoService{
|
|||||||
*/
|
*/
|
||||||
List<OrderBasicInfo> queryRepayOrder(String memberId);
|
List<OrderBasicInfo> queryRepayOrder(String memberId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取订单已退款金额
|
||||||
|
*/
|
||||||
|
BigDecimal getOrderRefundedAmount(String orderCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过orderCode获取退款明细列表
|
* 通过orderCode获取退款明细列表
|
||||||
* @param orderCode
|
* @param orderCode
|
||||||
|
|||||||
@@ -4662,6 +4662,28 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
return orderBasicInfoMapper.queryRepayOrder(memberId);
|
return orderBasicInfoMapper.queryRepayOrder(memberId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取订单已退款金额
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BigDecimal getOrderRefundedAmount(String orderCode) {
|
||||||
|
BigDecimal refunded = BigDecimal.ZERO;
|
||||||
|
OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(orderCode);
|
||||||
|
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = getOrderRefundInfoList(orderBasicInfo);
|
||||||
|
if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
|
||||||
|
// 已退款金额
|
||||||
|
refunded = orderRefundInfoList.stream()
|
||||||
|
.map(x -> Objects.nonNull(x.getReverseAmt()) ? new BigDecimal(x.getReverseAmt()) : BigDecimal.ZERO)
|
||||||
|
.reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
|
}
|
||||||
|
return refunded;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询该笔订单的退款记录
|
||||||
|
* @param orderCode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(String orderCode) {
|
public List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(String orderCode) {
|
||||||
OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(orderCode);
|
OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(orderCode);
|
||||||
|
|||||||
@@ -774,18 +774,18 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
logger.info("执行订单退款-退款金额小于等于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount);
|
logger.info("执行订单退款-退款金额小于等于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 查询该笔订单的退款记录
|
// 查询该笔订单的退款记录 2025年4月23日10点17分此判断移动到具体方法中了
|
||||||
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
|
// List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
|
||||||
if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
|
// if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
|
||||||
// 已退款金额
|
// // 已退款金额
|
||||||
BigDecimal refunded = orderRefundInfoList.stream()
|
// BigDecimal refunded = orderRefundInfoList.stream()
|
||||||
.map(x -> Objects.nonNull(x.getReverseAmt()) ? new BigDecimal(x.getReverseAmt()) : BigDecimal.ZERO)
|
// .map(x -> Objects.nonNull(x.getReverseAmt()) ? new BigDecimal(x.getReverseAmt()) : BigDecimal.ZERO)
|
||||||
.reduce(BigDecimal.ZERO,BigDecimal::add);
|
// .reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
if (refunded.compareTo(refundAmount) >= 0) {
|
// if (refunded.compareTo(refundAmount) >= 0) {
|
||||||
logger.info("执行订单退款-校验已退款金额,orderCode:{}, 应退款金额:{}, 已经退款金额:{}, 不再执行退款", orderBasicInfo.getOrderCode(), refundAmount, refunded);
|
// logger.info("执行订单退款-校验已退款金额,orderCode:{}, 应退款金额:{}, 已经退款金额:{}, 不再执行退款", orderBasicInfo.getOrderCode(), refundAmount, refunded);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String payMode = orderBasicInfo.getPayMode();
|
String payMode = orderBasicInfo.getPayMode();
|
||||||
@@ -996,6 +996,13 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取订单已退款金额
|
||||||
|
BigDecimal orderRefundedAmount = orderBasicInfoService.getOrderRefundedAmount(orderBasicInfo.getOrderCode());
|
||||||
|
if (orderRefundedAmount.compareTo(refundAmount) >= 0) {
|
||||||
|
logger.info("执行订单退款-校验已退款金额,orderCode:{}, 应退款金额:{}, 已经退款金额:{}, 不再执行退款", orderBasicInfo.getOrderCode(), refundAmount, orderRefundedAmount);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 订单编号
|
// 订单编号
|
||||||
String orderCode = orderBasicInfo.getOrderCode();
|
String orderCode = orderBasicInfo.getOrderCode();
|
||||||
|
|
||||||
@@ -1075,6 +1082,14 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取已退款金额
|
||||||
|
BigDecimal orderRefundedAmount = orderBasicInfoService.getOrderRefundedAmount(orderBasicInfo.getOrderCode());
|
||||||
|
if (orderRefundedAmount.compareTo(refundAmount) >= 0) {
|
||||||
|
logger.info("执行订单退款-校验已退款金额,orderCode:{}, 应退款金额:{}, 已经退款金额:{}, 不再执行退款", orderBasicInfo.getOrderCode(), refundAmount, orderRefundedAmount);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 微信退款逻辑
|
// 微信退款逻辑
|
||||||
ApplyRefundDTO applyRefundDTO = new ApplyRefundDTO();
|
ApplyRefundDTO applyRefundDTO = new ApplyRefundDTO();
|
||||||
applyRefundDTO.setOrderCode(orderBasicInfo.getOrderCode());
|
applyRefundDTO.setOrderCode(orderBasicInfo.getOrderCode());
|
||||||
|
|||||||
Reference in New Issue
Block a user