Files
platforms/docs/操作日志_合同启用失败原因明确化_20260812.md
czl231 96d37d63cf 优化合同气瓶绑定与启用失败提示
- 将绑定气瓶入口移至合同列表,仅草稿合同显示
- 自动预填所选合同并保留返回路径
- 细分附件、有效期、气瓶绑定和状态校验失败原因
- 增加前后端回归检查及中文操作日志
2026-08-12 22:46:55 +08:00

38 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 操作日志:合同启用失败原因明确化
操作时间2026-08-12
操作类型:修改
影响模块:配送合同生命周期接口
## 操作前状态
合同启用的附件、有效期、气瓶绑定及状态校验失败后接口统一返回“Invalid Argument”前端只能提示“请求参数不正确请检查填写内容”业务人员无法定位处理方式。
## 具体操作
- 将合同状态不允许启用、附件无效、未到生效时间、合同已到期、未绑定有效气瓶拆分为明确中文原因。
- 终止非生效合同也返回明确状态原因。
- 仅透传预定义业务错误;数据库及其他内部异常继续使用通用参数错误,避免泄露内部信息。
- 增加业务错误白名单和中文消息回归测试。
## 行为变化
- 变更前:所有启用前置条件失败均提示“请求参数不正确,请检查填写内容”。
- 变更后:页面直接显示具体失败项及处理建议,例如“合同尚未绑定有效气瓶,请先绑定气瓶后再启用”。
## 代码变更
- `backend/api/internal/logic/platform/gasorder/gasorder.go`:细分合同生命周期业务错误并安全透传。
- `backend/api/internal/logic/platform/gasorder/contract_change_error_test.go`:新增错误分类及提示文案测试。
## 验证结果
- `go test ./internal/logic/platform/gasorder/...`:通过。
- `go test ./...`:通过;首次受沙箱 Go 构建缓存权限影响失败,授权后重新执行全部通过。
## 风险评估
- 不修改接口路径、请求字段、成功响应和合同状态流转规则,保持向下兼容。
- 业务失败响应的 `message` 由通用英文变为具体中文,前端现有客户端会直接展示。
- 内部数据库错误不会透传,安全边界保持不变。