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

1.8 KiB
Raw Blame History

操作日志:合同启用失败原因明确化

操作时间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 由通用英文变为具体中文,前端现有客户端会直接展示。
  • 内部数据库错误不会透传,安全边界保持不变。