mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-13 03:39:55 +08:00
update
This commit is contained in:
@@ -1513,13 +1513,64 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
BigDecimal orderConsumeAmount = afterSettleOrderDTO.getOrderConsumeAmount(); // 消费金额
|
BigDecimal orderConsumeAmount = afterSettleOrderDTO.getOrderConsumeAmount(); // 消费金额
|
||||||
BigDecimal orderRefundAmount = afterSettleOrderDTO.getOrderRefundAmount(); // 退款金额
|
BigDecimal orderRefundAmount = afterSettleOrderDTO.getOrderRefundAmount(); // 退款金额
|
||||||
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount(); // 结算金额
|
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount(); // 结算金额
|
||||||
|
|
||||||
|
if (orderConsumeAmount.add(orderRefundAmount).compareTo(orderPayAmount) != 0) {
|
||||||
|
logger.info("订单支付金额与消费金额+退款金额不相等");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
// 订单结算金额,汇付分账
|
// 订单结算金额,汇付分账
|
||||||
|
splittingMethod(orderSettleAmount, afterSettleOrderDTO);
|
||||||
|
|
||||||
// 订单退款,汇付退款
|
// 订单退款,汇付退款
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分账方法
|
||||||
|
* @param orderSettleAmount
|
||||||
|
* @param afterSettleOrderDTO
|
||||||
|
*/
|
||||||
|
private void splittingMethod(BigDecimal orderSettleAmount, AfterSettleOrderDTO afterSettleOrderDTO) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行订单退款
|
||||||
|
* @param orderBasicInfo
|
||||||
|
*/
|
||||||
|
private void refundOrder(OrderBasicInfo orderBasicInfo) {
|
||||||
|
BigDecimal refundAmount = orderBasicInfo.getRefundAmount();
|
||||||
|
// 查询该笔订单的退款记录
|
||||||
|
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = this.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 {
|
||||||
|
String payMode = orderBasicInfo.getPayMode();
|
||||||
|
if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getValue())) {
|
||||||
|
// 余额支付
|
||||||
|
balancePaymentOrderRefund(orderBasicInfo);
|
||||||
|
} else if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||||
|
|| StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_ALIPAY.getValue())) {
|
||||||
|
// 在线支付
|
||||||
|
onlinePaymentOrderRefund(orderBasicInfo);
|
||||||
|
} else {
|
||||||
|
// 白名单支付或者ETC支付
|
||||||
|
logger.info("订单:{}使用:{},不进行退款处理", orderBasicInfo.getOrderCode(), OrderPayModeEnum.getPayModeDescription(payMode));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("【{}】-订单退款逻辑异常orderCode:{}", this.getClass().getSimpleName(), orderBasicInfo.getOrderCode(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算每个账户需要分账的金额
|
* 计算每个账户需要分账的金额
|
||||||
* @param shareMemberList 参与分账的账户信息
|
* @param shareMemberList 参与分账的账户信息
|
||||||
|
|||||||
@@ -1027,6 +1027,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
/**
|
/**
|
||||||
* 个人桩启动
|
* 个人桩启动
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String startPersonalPileCharging(StartPersonPileDTO dto) {
|
public String startPersonalPileCharging(StartPersonPileDTO dto) {
|
||||||
logger.info("【{}】-个人桩启动充电 param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
logger.info("【{}】-个人桩启动充电 param:{}", this.getClass().getSimpleName(), JSON.toJSONString(dto));
|
||||||
|
|||||||
Reference in New Issue
Block a user