获取方案

金额与精度约定

金额使用元和精确十进制,接口以字符串表达;折扣与退款按具体计算器处理,不全局统一截断。

文档导航
本页目录

金额怎样跨前后端传递?

金额以元为单位、使用精确十进制和接口字符串;积分、会员折扣与数量退款各有计算器,退款从冻结成交金额按累计数量差额分配。

后端使用BigDecimal,客户端不把金额或高精度标识转换为不受控的浮点数。显示格式与业务计算分开,不能在接口层先截断再计算。合法精度和空值语义由具体契约确认。

折扣计算有什么区别?

积分计算先检查规则、整数积分和可用上限;会员计算针对剩余商品金额,运费在该计算外。优惠券、积分、会员优惠的次序及每行分配需保持当前用例语义,不能仅对最终显示总额做四舍五入。

数量退款如何处理尾差?

退款计算器读取冻结商品实付与运费,按累计已退数量前后差值切分。这样尾部数量能够承接分配尾差,不应按当前商品价格重新计算历史退款。请求数量必须处于可退剩余范围。

哪些样本需要真实验证?

样本 检查内容
高精度合法输入 请求、持久化与回读无损
多种优惠组合 每行金额与总额一致
分批数量退款 累计退款不超过冻结金额
运费和商品金额 计算与退款范围准确
越界数量或负值 拒绝且无部分账务变更

测试样本金额属于计算示例,不是商品报价或性能数字。修改金额、退款或相关数据库类型后,要在独立真实数据库核对事务与对账结果。