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

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