bugfix 修复分账时金额错误的bug

This commit is contained in:
Lemon
2026-02-05 13:28:06 +08:00
parent e4f6a11246
commit 0d04bb884f
2 changed files with 25 additions and 4 deletions

View File

@@ -1074,6 +1074,11 @@ public class TempController extends BaseController {
return response; return response;
} }
/**
* 批量修改订单审核状态
* @param dto
* @return
*/
@PostMapping("/batchUpdateOrderReview") @PostMapping("/batchUpdateOrderReview")
public RestApiResponse<?> batchUpdateOrderReview(@RequestBody UpdateOrderReviewDTO dto) { public RestApiResponse<?> batchUpdateOrderReview(@RequestBody UpdateOrderReviewDTO dto) {
logger.info("批量更新订单评价, param:{}", JSON.toJSONString(dto)); logger.info("批量更新订单评价, param:{}", JSON.toJSONString(dto));

View File

@@ -996,6 +996,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.startTime(DateUtils.formatDateTime(start)) .startTime(DateUtils.formatDateTime(start))
.endTime(DateUtils.formatDateTime(end)) .endTime(DateUtils.formatDateTime(end))
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
.stationId("1003") // 目前只有 大坡中学举视超充站 这一个站点使用
.orderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue()) .orderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue())
.build(); .build();
return orderBasicInfoMapper.selectOrderBasicInfoList(dto); return orderBasicInfoMapper.selectOrderBasicInfoList(dto);
@@ -2380,10 +2381,10 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
String orderCode = afterSettleOrderDTO.getOrderCode(); String orderCode = afterSettleOrderDTO.getOrderCode();
// 订单信息 // 订单信息
OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo(); // OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo();
// 保险金额(有默认值 0.00 // 保险金额(有默认值 0.00
BigDecimal insuranceAmount = orderBasicInfo.getInsuranceAmount(); // BigDecimal insuranceAmount = orderBasicInfo.getInsuranceAmount();
// 订单是否需要分账, 结算金额必须大于0 // 订单是否需要分账, 结算金额必须大于0
if (orderSettleAmount == null || orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) { if (orderSettleAmount == null || orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) {
@@ -2418,6 +2419,10 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
logger.info("realTimeOrderSplit-订单[{}]分账信息为空", orderCode); logger.info("realTimeOrderSplit-订单[{}]分账信息为空", orderCode);
return null; return null;
} }
BigDecimal confirmAmt = BigDecimal.ZERO;
for (DivMember divMember : divMemberList) {
confirmAmt = confirmAmt.add(new BigDecimal(divMember.getAmount()));
}
String paymentId = paymentInfos.get(0).getPaymentId(); // 支付id String paymentId = paymentInfos.get(0).getPaymentId(); // 支付id
String merchantId = afterSettleOrderDTO.getMerchantId(); // 运营商id String merchantId = afterSettleOrderDTO.getMerchantId(); // 运营商id
@@ -2426,7 +2431,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
PaymentConfirmParam param = PaymentConfirmParam.builder() PaymentConfirmParam param = PaymentConfirmParam.builder()
.paymentId(paymentId) .paymentId(paymentId)
.divMemberList(divMemberList) .divMemberList(divMemberList)
.confirmAmt(orderSettleAmount.add(insuranceAmount)) // 订单结算金额 + 保险金额 // .confirmAmt(orderSettleAmount.add(insuranceAmount)) // 订单结算金额 + 保险金额
.confirmAmt(confirmAmt)
.orderCode(orderCode) .orderCode(orderCode)
.wechatAppId(appId) .wechatAppId(appId)
.build(); .build();
@@ -6249,6 +6255,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
} }
} }
/**
* 批量修改订单审核状态
* @param dto
* @return
*/
@Override @Override
public int updateOrderReviewFlagTemp(List<String> codes) { public int updateOrderReviewFlagTemp(List<String> codes) {
List<String> l = MerchantUtils.getRandomNinetyPercent(codes); List<String> l = MerchantUtils.getRandomNinetyPercent(codes);
@@ -6505,13 +6516,18 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.build(); .build();
} }
/**
* 批量修改订单审核状态
* @param dto
* @return
*/
@Override @Override
public int batchUpdateOrderReview(UpdateOrderReviewDTO dto) { public int batchUpdateOrderReview(UpdateOrderReviewDTO dto) {
if (CollectionUtils.isEmpty(dto.getOrderCodeList())) { if (CollectionUtils.isEmpty(dto.getOrderCodeList())) {
return 0; return 0;
} }
if (StringUtils.isBlank(dto.getStationId())) { if (StringUtils.isBlank(dto.getStationId())) {
dto.setStationId("1003"); dto.setStationId("1003"); // 大坡中学举视超充站
} }
if (StringUtils.isBlank(dto.getReviewFlag())) { if (StringUtils.isBlank(dto.getReviewFlag())) {
dto.setReviewFlag("0"); dto.setReviewFlag("0");