mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-28 11:08:12 +08:00
update
This commit is contained in:
@@ -3593,6 +3593,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
return getOrderRefundInfoList(orderBasicInfo);
|
return getOrderRefundInfoList(orderBasicInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询该笔订单的退款记录
|
||||||
|
* @param orderBasicInfo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(OrderBasicInfo orderBasicInfo) {
|
public List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(OrderBasicInfo orderBasicInfo) {
|
||||||
if (orderBasicInfo == null) {
|
if (orderBasicInfo == null) {
|
||||||
|
|||||||
@@ -415,6 +415,20 @@ public class NotDelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void refundOrder(OrderBasicInfo orderBasicInfo) {
|
public void refundOrder(OrderBasicInfo orderBasicInfo) {
|
||||||
|
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
|
||||||
|
// 查询该笔订单的退款记录
|
||||||
|
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
|
||||||
|
if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
|
||||||
|
// 已退款金额
|
||||||
|
BigDecimal refunded = orderRefundInfoList.stream()
|
||||||
|
.map(x -> Objects.nonNull(x.getReverseAmt()) ? new BigDecimal(x.getReverseAmt()) : BigDecimal.ZERO)
|
||||||
|
.reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
|
if (refunded.compareTo(refundAmount) >= 0) {
|
||||||
|
logger.info("执行订单退款-校验已退款金额,orderCode:{}, 应退款金额:{}, 已经退款金额:{}, 不再执行退款", orderBasicInfo.getOrderCode(), refundAmount, refunded);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String payMode = orderBasicInfo.getPayMode();
|
String payMode = orderBasicInfo.getPayMode();
|
||||||
if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
|
if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
|
||||||
@@ -424,8 +438,8 @@ public class NotDelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
// 微信支付
|
// 微信支付
|
||||||
onlinePaymentOrderRefund(orderBasicInfo);
|
onlinePaymentOrderRefund(orderBasicInfo);
|
||||||
} else {
|
} else {
|
||||||
// 白名单支付
|
// 白名单支付或者ETC支付
|
||||||
logger.info("订单:{}使用白名单支付,不进行退款处理", orderBasicInfo.getOrderCode());
|
logger.info("订单:{}使用:{},不进行退款处理", orderBasicInfo.getOrderCode(), OrderPayModeEnum.getPayModeDescription(payMode));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
|
logger.error("{}-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
|
||||||
|
|||||||
Reference in New Issue
Block a user