forked from v2board/v2board
-
Notifications
You must be signed in to change notification settings - Fork 319
Open
Description
问题描述
在 OrderService.php 的 getSurplusValueByPeriod 方法中,对于按年重置流量的套餐,当前的折价计算逻辑存在错误。
当前问题
错误的折价逻辑:对于按年重置流量,即使流量用完,仍然会按时间比例给予折价
正确的逻辑应该是应该根据 plan 的 reset_traffic_method 字段来判断
reset_traffic_method = 3:每年1月1号重置(按年重置)
reset_traffic_method = 4:每年到期日重置(按年重置)
其他值:按月重置或不重置
正确的折价逻辑:
按年重置流量:折价 = 总金额 × 剩余流量比例
按月重置流量:折价 = 每秒价格 × 剩余时间 × 剩余流量比例
举例说明
假设用户购买年付套餐100元,流量100G:
如果流量用了50%(剩余50G),按年重置应该折价50元
如果流量用完(剩余0G),按年重置应该折价0元
当前代码会错误地按时间比例计算折价(每年100G的流量已经用完,应该不折抵金额,但是还是会根据时间折抵)
Metadata
Metadata
Assignees
Labels
No labels