This commit is contained in:
2024-03-06 14:14:09 +08:00
parent 3d83f32f65
commit c6ae5db182
3 changed files with 16 additions and 33 deletions

View File

@@ -423,7 +423,7 @@ public class OrderService {
vo.setPayRecordList(payRecords);
// 查询退款明细
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = getOrderRefundInfoList(orderBasicInfo);
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
vo.setOrderRefundInfoList(orderRefundInfoList);
// 查订单明细
@@ -467,25 +467,6 @@ public class OrderService {
return vo;
}
/**
* 通过orderCode获取退款明细列表
* @param orderCode
* @return
*/
private List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(String orderCode) {
return null;
}
/**
* 获取退款明细列表
* @param orderBasicInfo
* @return
*/
private List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(OrderBasicInfo orderBasicInfo) {
return orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
}
/**
* 微信支付退款回调
*
@@ -693,13 +674,6 @@ public class OrderService {
List<String> merchantDeptIds = authorizedMap.getMerchantDeptIds();
}
// 查询订单退款记录,如存在退款说明已经结算过,不能再次结算
// List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = getOrderRefundInfoList(orderBasicInfo);
// if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
// log.info("订单:{}, 已经存在退款记录:{}, 不能再次结算", orderBasicInfo.getOrderCode(), JSON.toJSONString(orderRefundInfoList));
// return false;
// }
// 充电金额
String chargingAmount = dto.getChargingAmount();
// 充电度数
@@ -714,6 +688,18 @@ public class OrderService {
}
}
// 查询订单退款记录,如存在退款说明已经结算过,不能再次结算
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
// 已退款金额
BigDecimal refunded = orderRefundInfoList.stream()
.map(x -> new BigDecimal(x.getReverseAmt()))
.reduce(BigDecimal.ZERO,BigDecimal::add);
chargingAmount = orderBasicInfo.getPayAmount().subtract(refunded).toString();
log.info("订单:{}, 已经存在退款记录:{}, 支付金额{}, 退款金额:{}, 重新计算消费金额为:{}",
orderBasicInfo.getOrderCode(), JSON.toJSONString(orderRefundInfoList), orderBasicInfo.getPayAmount(), refunded, chargingAmount);
}
// 组装交易记录数据
TransactionRecordsData data = new TransactionRecordsData();
data.setConsumptionAmount(chargingAmount); // 总消费金额