新增刷数据接口

This commit is contained in:
2023-05-24 15:55:07 +08:00
parent ff3fc98af6
commit 7643bf6797
4 changed files with 54 additions and 13 deletions

View File

@@ -255,4 +255,5 @@ public interface IOrderBasicInfoService {
List<OrderPeriodAmountVO> transformPeriodAmountByOrderDetail(OrderDetail orderDetail);
void tempUpdateVirtualAmount(QueryOrderDTO dto);
}

View File

@@ -175,8 +175,11 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
if (orderListVO.getVirtualAmount() != null) {
continue;
}
// 订单总消费金额
BigDecimal orderAmount = new BigDecimal(orderListVO.getOrderAmount());
// 使用虚拟金额消费 金额
BigDecimal virtualAmount = BigDecimal.ZERO;
// 结算金额
BigDecimal settleAmount = BigDecimal.ZERO;
if (StringUtils.equals(orderListVO.getPayMode(), OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
@@ -185,13 +188,20 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
如果使用了赠送金额,虚拟金额为赠送金额支付部分,结算金额=订单消费金额-虚拟金额消费部分
*/
// 查询支付记录
List<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderListVO.getOrderCode());
for (OrderPayRecord orderPayRecord : orderPayRecordList) {
if (StringUtils.equals(orderPayRecord.getPayMode(), OrderPayRecordEnum.GIFT_BALANCE_PAYMENT.getValue())) {
BigDecimal bigDecimal = orderPayRecord.getRefundAmount() == null ? BigDecimal.ZERO : orderPayRecord.getRefundAmount();
virtualAmount = orderPayRecord.getPayAmount().subtract(bigDecimal);
settleAmount = orderAmount.subtract(virtualAmount);
}
}
} else if (StringUtils.equals(orderListVO.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
/*
微信支付 虚拟金额为0 结算金额等于订单消费金额
*/
settleAmount = new BigDecimal(orderListVO.getOrderAmount());
settleAmount = orderAmount;
}
OrderBasicInfo build = OrderBasicInfo.builder()
@@ -1678,4 +1688,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return Lists.newArrayList(sharp, peak, flat, valley);
}
@Override
public void tempUpdateVirtualAmount(QueryOrderDTO dto) {
List<OrderListVO> orderListVOS = orderBasicInfoMapper.selectOrderBasicInfoList(dto);
if (CollectionUtils.isEmpty(orderListVOS)) {
return;
}
tempUpdateVirtualAmount(orderListVOS);
}
}