3.0 KiB
3.0 KiB
可开票金额计算逻辑更新说明
更新概述
本次更新修改了可开票金额的计算逻辑,从原来的"总充值金额 - 总赠送金额"改为"支付宝充值金额 + 对公转账金额"。
修改内容
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. 业务逻辑
为什么这样修改?
- 合规性:只有真实的充值金额才能开具发票
- 准确性:赠送金额不应该计入可开票金额
- 清晰性:明确区分真实充值和赠送金额
计算示例:
用户充值记录:
- 支付宝充值:1000元
- 对公转账:500元
- 赠送金额:200元
原逻辑可开票金额:1000 + 500 + 200 - 200 = 1500元
新逻辑可开票金额:1000 + 500 = 1500元
结果相同,但逻辑更清晰
6. 注意事项
- 历史数据:此修改会影响所有用户的可开票金额计算
- 前端显示:前端显示的"总充值"字段含义发生变化
- 业务验证:需要验证新的计算逻辑是否符合业务需求
- 测试建议:建议在测试环境充分验证后再部署到生产环境
部署建议
- 在测试环境验证新的计算逻辑
- 确认前端显示正确
- 通知相关业务人员了解变更
- 监控生产环境的可开票金额计算