购买记录的支付宝/微信支付金额统一为第三方支付金额

This commit is contained in:
gaoqr
2025-10-16 11:47:23 +08:00
parent 8f462401f9
commit e9dc372078
6 changed files with 20 additions and 37 deletions
@@ -4,12 +4,15 @@ import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.cf.imes.framework.excel.core.annotations.EnumFormat;
import com.cf.imes.framework.excel.core.convert.EnumConvert;
import com.cf.imes.framework.jackson.core.databind.LocalDateSerializer;
import com.cf.imes.module.system.enums.pay.PayProductChannelCodeEnum;
import com.cf.imes.module.system.enums.pay.ProductDurationUnitEnum;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -87,4 +90,9 @@ public class PurchaseRecordRespVO {
@Schema(description = "操作人")
@ExcelProperty("操作人")
private String creator;
@Schema(description = "产品有效时间")
@ExcelProperty("产品有效时间")
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDate endTime;
}
@@ -130,27 +130,17 @@ public class PurchaseRecordDO extends BaseDO {
*/
private BigDecimal accountBalanceSpent;
/**
* 支付宝支出
* 第三方支付金额
*/
private BigDecimal alipaySpent;
/**
* 微信支出
*/
private BigDecimal wechatSpent;
private BigDecimal externalSpent;
/**
* 赠送金
*/
private BigDecimal giftMoneySpent;
/**
* 货币类型
*/
@@ -122,8 +122,8 @@ public interface PurchaseRecordMapper extends BaseMapperX<PurchaseRecordDO> {
.eq(PurchaseRecordDO::getDeleted, false)
.ne(PurchaseRecordDO::getInitial, true)
.orderByDesc(PurchaseRecordDO::getCreateTime)
.select(PurchaseRecordDO::getId, PurchaseRecordDO::getOrganId, PurchaseRecordDO::getTotalAmount, PurchaseRecordDO::getAccountBalanceSpent, PurchaseRecordDO::getAlipaySpent,
PurchaseRecordDO::getWechatSpent, PurchaseRecordDO::getGiftMoneySpent, PurchaseRecordDO::getCreator, PurchaseRecordDO::getCreateTime)
.select(PurchaseRecordDO::getId, PurchaseRecordDO::getOrganId, PurchaseRecordDO::getTotalAmount, PurchaseRecordDO::getAccountBalanceSpent, PurchaseRecordDO::getExternalSpent,
PurchaseRecordDO::getGiftMoneySpent, PurchaseRecordDO::getCreator, PurchaseRecordDO::getCreateTime)
);
}
@@ -73,7 +73,7 @@ public class IncomeExpenseServiceImpl implements IncomeExpenseService {
if (ObjectUtil.isNotNull(record)) {
respVO.setProductPrice(record.getTotalAmount());
respVO.setBalancePayAmount(record.getAccountBalanceSpent());
respVO.setRechargePayAmount(record.getAlipaySpent().add(record.getWechatSpent()));
respVO.setRechargePayAmount(record.getExternalSpent());
respVO.setGiftPayAmount(record.getGiftMoneySpent());
}
}
@@ -296,7 +296,7 @@ public class PurchaseServiceImpl implements PurchaseService {
// 销售目前都是产品购买
respVO.setTradeType(TradeTypeEnum.PRODUCT.getCode());
// 充值支付=支付宝/微信
respVO.setRechargeSpent(detailDO.getAlipaySpent().add(detailDO.getWechatSpent()));
respVO.setRechargeSpent(detailDO.getExternalSpent());
// 查询组织名称
OrganizationDO organ = organService.getOrganWithDeleted(detailDO.getOrganId());
if (ObjectUtil.isNotNull(organ)) {
@@ -322,7 +322,7 @@ public class PayProductProcessor {
.totalAmount(price)
.originalAmount(originalPrice)
.monthAverageAmount(monthAverageAmount)
.alipaySpent(price)
.externalSpent(price)
.initial(initialized)
.status(PurchaseRecordStatusEnum.PENDING.getStatus())
.build();
@@ -359,7 +359,7 @@ public class PayProductProcessor {
.totalAmount(price)
.originalAmount(originalPrice)
.monthAverageAmount(monthAverageAmount)
.wechatSpent(price)
.externalSpent(price)
.initial(initialized)
.status(PurchaseRecordStatusEnum.PENDING.getStatus())
.build();
@@ -527,12 +527,7 @@ public class PayProductProcessor {
PayOrderDO payOrderDO = null;
if (remaining.compareTo(BigDecimal.ZERO) > 0) {
payOrderDO = goExternalPay(purchaseId, remaining, payChannelCodeEnum);
// 记录第三方支付支出
if (PayChannelCodeEnum.ALIPAY_PC.equals(payChannelCodeEnum)) {
purchaseRecordDO.setAlipaySpent(remaining);
} else {
purchaseRecordDO.setWechatSpent(remaining);
}
purchaseRecordDO.setExternalSpent(remaining);
purchaseRecordDO.setStatus(PurchaseRecordStatusEnum.PENDING.getStatus());
}
@@ -608,12 +603,7 @@ public class PayProductProcessor {
PayOrderDO payOrderDO = null;
if (remaining.compareTo(BigDecimal.ZERO) > 0) {
payOrderDO = goExternalPay(purchaseId, remaining, payChannelCodeEnum);
// 记录第三方支付支出
if (PayChannelCodeEnum.ALIPAY_PC.equals(payChannelCodeEnum)) {
purchaseRecordDO.setAlipaySpent(remaining);
} else {
purchaseRecordDO.setWechatSpent(remaining);
}
purchaseRecordDO.setExternalSpent(remaining);
purchaseRecordDO.setStatus(PurchaseRecordStatusEnum.PENDING.getStatus());
justPayGift = false;
}
@@ -706,12 +696,7 @@ public class PayProductProcessor {
PayOrderDO payOrderDO = null;
if (remaining.compareTo(BigDecimal.ZERO) > 0) {
payOrderDO = goExternalPay(purchaseId, remaining, payChannelCodeEnum);
// 记录第三方支付支出
if (PayChannelCodeEnum.ALIPAY_PC.equals(payChannelCodeEnum)) {
purchaseRecordDO.setAlipaySpent(remaining);
} else {
purchaseRecordDO.setWechatSpent(remaining);
}
purchaseRecordDO.setExternalSpent(remaining);
purchaseRecordDO.setStatus(PurchaseRecordStatusEnum.PENDING.getStatus());
justPayGift = false;
}