Files
xuanzhi-service/server/.ai-specs/sys-specs/business-dictionary-spec.md
wdh-home 8164eec650
Some checks failed
CI / init (push) Has been cancelled
CI / Frontend node 18.16.0 (push) Has been cancelled
CI / Backend go (1.22) (push) Has been cancelled
CI / devops-test (1.22, 18.16.0) (push) Has been cancelled
CI / release-pr (push) Has been cancelled
CI / release-please (push) Has been cancelled
CI / devops-prod (1.22, 18.x) (push) Has been cancelled
CI / docker (push) Has been cancelled
服务端
2026-04-22 15:49:50 +08:00

54 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.
# 业务字典规范
## 适用范围
- 当任务是新增业务状态、类型、级别、来源、模式、分类等值域时,先读本文件。
- 本文件只规定新增业务字典怎么写,不重复说明系统字典实现细节。
## 强制规则
- 业务枚举就是业务字典。禁止在代码中脱离字典单独发明枚举值域。
- 新增业务值域时,先写字典文档,再写表结构、接口、校验和前端展示。
- 具体业务字典必须写到 `.ai-specs/doc-dict/` 下。
- 一个 `.md` 文件只能写一个字典。
- 字典文件名必须等于字典编码,推荐路径:`.ai-specs/doc-dict/<dict-code>.md`
- 字典编码使用 `snake_case`,固定格式 `<module>_<field>`,例如 `device_status`
- `<dict-code>` 就是 `<module>_<field>`
- 字典项 `Value` 使用稳定 machine value代码常量值必须与字典项 `Value` 完全一致。
- 代码判断统一使用字典项 `Value`;禁止使用 `Label` 做逻辑分支。
- 已上线字典的编码和字典项 `Value` 默认不可变;下线优先禁用,不直接删除。
- 禁止出现数据库存 `1/2/3`,但没有对应字典文档说明语义。
- 禁止代码新增枚举值,但未同步字典文档和字典数据。
## MD 模板
.ai-specs/doc-dict/<dict-code>.md
```md
# <字典中文名>
- 模块:<module>
- 字典编码:`<module>_<field>`
| Label | Value | Sort | Status | Desc |
|:---|:---|:---|:---|:---|
| <中文名> | `<machine_value>` | 10 | true | <说明> |
```
## 代码模板
```go
package <module>
type <TypeName> string
const (
<TypeName><Item1> <TypeName> = "<value_1>"
<TypeName><Item2> <TypeName> = "<value_2>"
)
```
## 与 SQL 的关系
- 值域字段先有字典定义,再进入表设计。
- 值域字段如何落库,按 `.ai-specs/sys-specs/business-table-spec.md` 执行。