Files
tyapi-server/可开票金额计算逻辑更新说明.md
2025-08-02 02:54:21 +08:00

3.0 KiB
Raw Blame History

可开票金额计算逻辑更新说明

更新概述

本次更新修改了可开票金额的计算逻辑,从原来的"总充值金额 - 总赠送金额"改为"支付宝充值金额 + 对公转账金额"。

修改内容

1. 计算逻辑变更

原逻辑:

可开票金额 = 总充值金额 - 总赠送金额 - 已开票金额 - 待处理申请金额

新逻辑:

可开票金额 = 真实充值金额(支付宝充值 + 对公转账) - 已开票金额 - 待处理申请金额

2. 代码修改位置

文件:internal/application/finance/invoice_application_service.go

方法:getAmountSummary

  • 修改了充值金额的计算逻辑
  • 只统计 RechargeTypeAlipay(支付宝充值)和 RechargeTypeTransfer(对公转账)的金额
  • 赠送金额(RechargeTypeGift)不再计入可开票金额

方法:calculateAvailableAmount

  • 更新了注释和变量名
  • 移除了对赠送金额的扣除逻辑
  • 直接使用真实充值金额进行计算

方法:GetAvailableAmount

  • 更新了响应DTO中的 TotalRecharged 字段
  • 现在返回的是真实充值金额(支付宝充值+对公转账)

3. 充值类型说明

根据 internal/domains/finance/entities/recharge_record.go 中的定义:

const (
    RechargeTypeAlipay   RechargeType = "alipay"   // 支付宝充值
    RechargeTypeTransfer RechargeType = "transfer" // 对公转账
    RechargeTypeGift     RechargeType = "gift"     // 赠送
)

计入可开票金额的类型:

  • alipay - 支付宝充值
  • transfer - 对公转账

不计入可开票金额的类型:

  • gift - 赠送金额

4. 影响范围

后端影响

  • 可开票金额计算逻辑变更
  • 前端显示的"总充值"字段现在显示的是真实充值金额
  • 赠送金额不再影响可开票金额

前端影响

  • 用户端发票页面显示的"总充值"金额会发生变化
  • 可开票金额的计算结果会发生变化
  • 赠送金额不再从可开票金额中扣除

5. 业务逻辑

为什么这样修改?

  1. 合规性:只有真实的充值金额才能开具发票
  2. 准确性:赠送金额不应该计入可开票金额
  3. 清晰性:明确区分真实充值和赠送金额

计算示例:

用户充值记录:
- 支付宝充值1000元
- 对公转账500元
- 赠送金额200元

原逻辑可开票金额1000 + 500 + 200 - 200 = 1500元
新逻辑可开票金额1000 + 500 = 1500元

结果相同,但逻辑更清晰

6. 注意事项

  1. 历史数据:此修改会影响所有用户的可开票金额计算
  2. 前端显示:前端显示的"总充值"字段含义发生变化
  3. 业务验证:需要验证新的计算逻辑是否符合业务需求
  4. 测试建议:建议在测试环境充分验证后再部署到生产环境

部署建议

  1. 在测试环境验证新的计算逻辑
  2. 确认前端显示正确
  3. 通知相关业务人员了解变更
  4. 监控生产环境的可开票金额计算