feat: 优化通道运营商与金额展示
This commit is contained in:
@@ -371,7 +371,7 @@
|
||||
6. 最终失败、超时失败需要退费。
|
||||
7. 三网通道成本只用于平台内部成本核算,不影响客户扣费金额。
|
||||
8. 当前版本计费口径固定为提交 accepted 扣费、最终 failed receipt/timeout 退款。
|
||||
9. 所有面向用户展示的金额、余额、充值金额和单价统一以人民币元展示并固定保留四位小数;内部使用 `0.0001 元`整数金额单位持久化,不以浮点数执行账务计算。
|
||||
9. 所有面向用户展示的金额、余额、充值金额和单价统一以人民币元展示,最多保留四位小数并移除末尾无意义的 `0`;内部使用 `0.0001 元`整数金额单位持久化,不以浮点数执行账务计算。通道成本费率作为费率字段固定展示四位小数。
|
||||
10. API 必须定时扫描提交成功但超过 72 小时仍未收到明确最终回执的短信,转为 timeout 并退还已扣金额;扫描需覆盖 `submitted` 和 `unknown`,且用条件更新避免多实例重复退款。
|
||||
|
||||
## 5. 功能需求
|
||||
@@ -1559,12 +1559,12 @@
|
||||
|
||||
## 2026-07-16 全平台金额精度要求
|
||||
|
||||
1. 企业应用客户单价、通道成本单价、账户余额、授信额度、充值、消费、返还、短信计费金额以及对账和利润报表中的全部金额,统一精确到人民币小数点后 4 位;输入最多允许 4 位小数,页面及导出文件统一展示 4 位小数。利润报表中的收入同样固定展示 4 位小数。
|
||||
1. 企业应用客户单价、账户余额、授信额度、充值、消费、返还、短信计费金额以及对账和利润报表中的全部金额,统一精确到人民币小数点后 4 位;输入最多允许 4 位小数。页面只读金额最多展示 4 位小数并移除末尾无意义的 0,小数部分与整数使用相同字号、颜色和字重;纯文本导出继续保留业务所需精度。通道成本费率作为费率字段固定展示 4 位小数,不执行末尾 0 裁剪。
|
||||
2. 数据库和计费链路继续使用整数运算,最小金额单位统一为 `0.0001 元`,即 `1 元 = 10000 金额单位`。历史字段名中的 `Cents` 为兼容既有 API 暂不改名,但其数值语义同步调整为金额单位,不再表示人民币“分”。
|
||||
3. PostgreSQL 金额列统一升级为 `BIGINT`。上线迁移时既有按分保存的数据乘以 100,应用换算除数由 100 改为 10000,确保迁移前后实际人民币金额完全一致。
|
||||
4. 企业应用单价修改必须写入真实 `SmsApplication.customerUnitPrice`,例如 `0.0325 元/条` 保存为 `325`;后续预估、冻结、扣费、返还和利润统计均使用该整数值,不得在前端或后端再次四舍五入到分。
|
||||
5. API 返回 `BIGINT` 金额时仅在 JavaScript 安全整数范围内转换为 JSON number;超过安全整数范围必须显式报错,避免静默丢失金额精度。
|
||||
6. 所有运营端和客户端的只读金额文本,整数部分保持当前文字颜色,小数点及小数部分使用更淡的次级文字颜色;金额输入框和 CSV 等纯文本载体保持原始数值格式,不拆分字符。
|
||||
6. 所有运营端和客户端的只读金额文本不得拆分整数和小数样式;运营看板“今日消费”和企业应用“单价”使用所在指标或表格的正常主数字字号与深色文字。
|
||||
|
||||
## 2026-07-16 企业应用接口参数复制与下游接入约束
|
||||
|
||||
@@ -1644,7 +1644,7 @@
|
||||
- 人工充值请求必须使用当前会话操作者、8至128位幂等键和账户`updatedAt`版本。相同幂等键同一请求返回原订单/操作单和`replayed=true`;不同范围复用键或账户版本变化必须返回冲突并要求重新核对。
|
||||
- RechargeOrder、TenantAccount余额增量、AccountTransaction和OperationLog必须在同一Serializable事务内原子完成;审计记录需包含前余额、变动金额、后余额、订单号、原因和幂等键。正数为充值,负数为冲正,金额精确到小数点后4位且不得为0。
|
||||
- 运营端充值记录必须提供可截图的账户充值回执。回执只能使用真实充值订单、企业和关联账务流水数据,展示系统真实Logo、入账状态、企业名称与编码、订单号、入账时间、前后余额、入账方式和备注;不得使用前端临时数据补齐缺失字段。
|
||||
- 回执的“本次充值金额”按实际精度显示:整数金额不显示小数部分,存在小数时仅保留有效小数位;前后余额继续遵循平台统一的四位金额精度。
|
||||
- 回执的“本次充值金额”和前后余额均按平台统一金额规则显示:最多保留四位小数,并移除末尾无意义的 `0`。
|
||||
|
||||
## 2026-07-22 UI/UX A7公共Dialog契约
|
||||
|
||||
@@ -1999,6 +1999,9 @@
|
||||
## 签名清退预警(2026-08-10,已发布到预生产)
|
||||
|
||||
- 企业预警按“企业签名 × 运营商”每天检测,通道预警按“签名 × 通道 × 运营商”每天检测。运营商只要存在当前报备通过任务就进入对应监控名单,不等待三网全部成功;历史通道级任务由一次性migration按最终口径自动转换,不再存在人工确认待办。
|
||||
- 企业签名“报备状态”弹窗按移动、联通、电信三列分区展示真实目标通道;每个分区独立滚动、每个通道独立选择状态,三个分区共用修改原因和一次保存操作。运营商使用全局低饱和胶囊标签。
|
||||
- 充值回执压缩金额区和垂直留白;常规桌面视口应在不滚动时看到完整回执,异常长备注允许内容区滚动而不得截断真实内容。
|
||||
- 短信通道管理按北京时间今日真实提交尝试数降序后再分页;同量按通道名称、ID稳定排序。今日提交为0时,提交失败、送达成功、回执未知、送达失败四个比率统一显示深灰色短杠。运营商低饱和胶囊放在通道信息列底部,原“运营商 / 成本”改为“成本费率”并固定展示4位小数。
|
||||
- 企业预警支持移动、联通、电信通用X天/Y条规则和企业应用特殊规则,特殊规则优先;通道预警支持通用规则和通道特殊规则,特殊规则优先。规则修改从下一检测日生效,预警快照保存命中的规则版本和阈值。
|
||||
- 清退活跃量按至少有一次上游接受的业务短信去重统计。企业维度同一业务短信只计一次;通道维度按`messageRecordId + channelId`去重,同一通道断连、超时或重试产生多次提交只计一次,切换到不同通道后各通道分别计一次。提交尝试、上游接受和最终送达必须分开展示,不把`SubmitResp status=0`称为最终送达成功。
|
||||
- 每天按北京时间完整自然日检测`T-X`至`T-1`。当前连续报备通过时间不足X个完整日时不预警;恢复达标后关闭当前预警周期,以后再次低于阈值形成新周期。每日检测必须以数据库唯一维度保证幂等,多实例或重启不得重复生成消息或Webhook。
|
||||
|
||||
Reference in New Issue
Block a user