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:
1 parent
77e578085a
commit
ca4cc72eea
8 files changed
+2017
-5
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user