test(business): 业务数据管理模块集成用例(70 例)与两处缺陷修复

- 覆盖:编号格式与序号递增/状态机终态拦截/三处汇总冗余一致性/跨业务批次
  400/已核算禁改禁删/毛利润金标准与防除零/asOf 回溯/评级重叠/审计双记录
- 缺陷修复①:change_status 留痕 old_status 取到赋值后属性(时间线失真 3→3)
- 缺陷修复②:freight_amount 漏金额校验(负数/三位小数可落库污染运费合计)
- conftest 扩展业务六表清理(编号前缀 + FK 逆序收口)与评级种子基线恢复
- 全量回归 603 passed(单元 381 / 集成 222)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
liuwenxinandClaude Code committed 2026-10-13 13:39:09 +08:00
1 parent 77e578085a
commit ca4cc72eea
8 files changed
+2017 -5

No files matched your search

+5 -2
View File
@@ -511,12 +511,15 @@ def change_status(
if business.status == payload.status:
raise BadRequestError("状态未变化")
# 变更前状态须在赋值前固化:ORM 属性赋值后 old_status 就取不到旧值
# (留痕会记成 old==new 失真,时间线无法回溯)
old_status = business.status
business.status = payload.status
business_repository.add_status_log(
session,
BusinessStatusLog(
business_id=business_id,
old_status=business.status,
old_status=old_status,
new_status=payload.status,
change_reason=payload.reason,
operator_id=operator.id,
@@ -528,7 +531,7 @@ def change_status(
logger.info(
"业务状态变更 | business_id=%s | %s -> %s",
business_id,
business.status,
old_status,
payload.status,
)
return out