Files
PartsInquiry/doc/项目开发文档.md
2025-10-08 19:15:20 +08:00

794 lines
23 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.

# 配件查询系统 - 项目开发文档
**项目名称**配件查询App
**版本**v1.0
**更新时间**2025-10-01
**技术栈**Spring Boot 3 + MySQL 8.0 + Vue 3 + uni-app
---
## 一、项目概述
### 1.1 项目定位
面向小微商户的移动端进销存管理应用,核心功能包括:
- 商品管理(库存、价格、类别)
- 进销存业务(销售开单、进货开单、退货处理)
- 客户与供应商管理
- 财务管理(账户、收支、报表)
- **配件查询**:支持配件参数化查询、用户提交、审核上架
### 1.2 系统架构
```
前端层:
├── 移动端uni-app: 用户端App + 微信小程序
├── 管理端Vue3 + Element Plus: 平台管理后台
└── 普通管理端Vue3 + Element Plus: 精简审核后台
后端层:
├── Spring Boot 3.xRESTful API服务
├── MySQL 8.0:数据持久化
├── JWT用户认证
└── Python FastAPI可选条码识别服务
部署层:
├── 数据库mysql.tonaspace.com:3306
├── 后端Java应用服务器
└── 前端:静态资源 + CDN
```
### 1.3 多租户模型
- **租户隔离**所有业务数据必须关联shop_id严格按租户隔离
- **全局字典**类别、单位使用shop_id=0作为平台共享字典
- **权限体系**
- 平台管理员admins表跨租户管理
- 店主users.is_owner=1店铺所有权限
- 员工users.role=staff基础操作权限
- 普通管理员users.role=normal_admin配件审核权限
---
## 二、核心功能需求
### 2.1 用户端功能移动App + 小程序)
#### 2.1.1 首页Dashboard
-**数据概览**:今日/本月销售额、本月利润、库存数量
-**快捷入口**客户管理、销售开单、账户管理、供应商管理、进货开单、其他支出、VIP会员、报表统计
- ⚠️ **在线客服**:咨询入口已实现,悬浮按钮待添加
#### 2.1.2 货品管理
**列表功能**
- ✅ 按类别筛选、关键字搜索(名称/条码/别名)
- ✅ 显示库存数量、零库存提示
- ✅ 总货品种类统计
**新增/编辑**
- ✅ 商品图片上传(多图、排序、预览)
- ✅ 扫描条形码App支持小程序不支持
- ✅ 必填项:商品名称
- ✅ 可选项:类别、品牌、型号、规格、产地、条码、描述
- ✅ 价格:进货价、零售价、批发价、大客户价(四列)
- ✅ 库存:当前库存、安全库存上下限
- ✅ 支持模板化参数录入
**货品设置**
- ✅ 类别管理(读取全局字典)
- ✅ 单位管理(读取全局字典)
- ⚠️ 隐藏零库存商品、隐藏进货价:前端功能待实现
#### 2.1.3 配件查询与提交
-**配件搜索**:多参数组合查询、模糊匹配、分页展示
-**配件提交**
- 型号唯一校验
- 多图上传最多9张
- 参数JSON录入
- 备注、安全库存
- 提交后进入待审核状态
-**提交记录**查看pending/approved/rejected状态
-**提交详情**:查看审核结果、驳回原因
#### 2.1.4 开单模块
**销售单**
- ✅ 出货单:选择客户、添加商品、计算合计、收款
- ✅ 退货单:客户退货处理
- ✅ 收款单:后续收款记录
**进货单**
- ✅ 进货开单:选择供应商、添加商品、付款
- ✅ 进货退货:向供应商退货
**其他收支**
- ✅ 其他收入:分类、往来单位、结算账户、备注
- ✅ 其他支出:分类、往来单位、结算账户、备注
- ✅ 财务分类动态配置
#### 2.1.5 明细查询
- ✅ 时间维度筛选:自定义、本周、今日、本月、本年
- ✅ 业务类型筛选:销售、进货、收银、资金、盘点
- ✅ 关键字搜索:单据号、客户/供应商名、品名、备注
- ✅ 总金额统计
- ✅ 快速新建单据
#### 2.1.6 报表统计
**资金报表**
- ✅ 利润统计:按时间分析收入/支出/利润
- ✅ 销售报表:按客户或按货品维度聚合
- ⚠️ 营业员统计:待实现
- ⚠️ 导入导出:待实现
**进销存报表**
- ✅ 销售统计:按商品/客户/时间维度
- ✅ 进货统计:按商品/供应商/时间维度
- ✅ 库存统计:当前库存、成本、分布
- ⚠️ 应收应付对账单:待实现
#### 2.1.7 我的(用户中心)
**个人信息**
- ✅ 查看头像、姓名、手机号、邮箱
- ✅ 修改头像、姓名
- ✅ 修改密码
**VIP会员**
- ✅ VIP状态查询is_vip、expire_at、status
- ✅ 一键开通VIP点击即开通临时方案
- ✅ 充值记录查询
- ✅ 数据可见性:
- VIP用户查看全部历史数据
- 普通用户仅显示最近60天数据可配置
**基础管理**
- ✅ 客户管理:新增、编辑、查询、默认价格等级
- ✅ 供应商管理:新增、编辑、查询、欠款管理
**登录与注册**
- ✅ 手机号注册/登录
- ✅ 邮箱+密码登录
- ✅ 邮箱验证码注册
- ✅ 忘记密码(邮箱验证码重置)
- ⚠️ 短信验证码登录:后端已实现,前端待接入
- ⚠️ 微信登录:预留接口,待接入
**账号与安全**
- ✅ 修改个人信息
- ✅ 修改登录密码
- ⚠️ 账号注销、退出登录:待实现
---
### 2.2 管理端功能(平台管理后台)
#### 2.2.1 用户管理
- ✅ 用户列表按shop_id/关键字/分页查询
- ✅ 编辑用户:姓名、手机、角色、状态
- ✅ 拉黑/解除拉黑置用户status=0/1
#### 2.2.2 用户配件管理
- ✅ 配件列表按shop_id/关键字查询,显示模板信息
- ✅ 编辑配件:品牌、型号、规格、图片
- ✅ 配件恢复:取消软删除
#### 2.2.3 配件审核
- ✅ 提交列表:按状态/关键字/时间/店铺筛选
- ✅ 审核详情:查看完整信息、图片预览
- ✅ 编辑提交:修改名称、参数、图片、备注
- ✅ 审核通过生成products记录、关联图片、记录审核人
- ✅ 审核驳回:记录驳回原因、审核人、审核时间
- ✅ Excel导出按筛选条件导出限2000条
#### 2.2.4 配件模板管理
- ✅ 模板列表:查看所有模板
- ✅ 模板详情:查看参数定义
- ⚠️ 创建模板:后端接口已实现,前端待接入
- ⚠️ 更新模板:后端接口已实现,前端待接入
- ✅ 删除模板软删除status=0或强制删除
#### 2.2.5 VIP管理
- ✅ 会员列表:按手机号/分页查询
- ✅ 价格设置:读取/修改vip_price表
- ✅ 价格配置接口:`GET/PUT /api/admin/vip/price`
- ⚠️ 新增会员:后端接口已实现,前端待接入
- ⚠️ 更新会员:后端接口已实现,前端待接入
#### 2.2.6 公告管理
- ✅ 公告列表:按状态/关键字查询
- ✅ 创建公告:标题、内容、标签、有效期、状态
- ⚠️ 编辑公告:后端接口已实现,前端待接入
- ⚠️ 发布/下线:后端接口已实现,前端待接入
#### 2.2.7 咨询回复
- ✅ 咨询列表按shop_id/状态/关键字查询
- ✅ 回复咨询:单次回复并自动标记已解决
- ✅ 查看历史:查看用户历史咨询与回复
#### 2.2.8 主数据字典
- ✅ 主单位维护新增、编辑、删除shop_id=0
- ✅ 主类别维护新增、编辑、删除shop_id=0
#### 2.2.9 普通管理员审批
- ⚠️ 申请列表:查看待审核申请
- ⚠️ 审批通过赋予normal_admin权限
- ⚠️ 审批驳回:记录驳回原因
- ⚠️ 撤销权限移除normal_admin权限
#### 2.2.10 管理员登录
- ⚠️ 登录接口后端已实现JWT签发前端待接入
- 当前方案本地存储写入ADMIN_ID临时方案
---
### 2.3 普通管理端功能Admin-Lite
#### 2.3.1 定位
- 面向VIP用户申请成为普通管理员后使用
- 仅包含"配件审核"与"我的"两个功能
- 使用用户端账号(邮箱+密码)登录
#### 2.3.2 配件审核(复用平台管理端逻辑)
- ⚠️ 提交列表:限定为本店数据
- ⚠️ 审核详情:查看、编辑、图片管理
- ⚠️ 通过/驳回:操作权限限定本店
- ⚠️ 导出(可选):按配置开放
#### 2.3.3 我的
- ⚠️ 账户信息展示VIP状态、普通管理员状态
- ⚠️ 申请入口未获批VIP显示"申请成为普通管理员"按钮
- ⚠️ 退出登录
#### 2.3.4 权限规则
- 申请资格必须为VIP用户可配置是否要求有效期内
- 审批策略:
- 方案A当前采用平台审核
- 方案B自动通过通过配置normalAdmin.autoApprove控制
- 有效性约束普通管理员权限与VIP状态绑定可配置
- 范围隔离仅可访问所属shop_id的数据
---
## 三、技术实现
### 3.1 后端技术栈
**框架与依赖**
- Spring Boot 3.x
- Spring Data JPA
- Spring SecurityJWT
- MySQL Connector
- Apache POIExcel导出
- Java Mail邮件验证码
**项目结构**
```
src/main/java/com/example/demo/
├── account/ # 账户管理
├── admin/ # 管理端控制器
├── attachment/ # 附件服务
├── auth/ # 认证服务JWT、邮箱、短信、密码
├── barcode/ # 条码识别代理
├── common/ # 公共组件(拦截器、异常处理、配置)
├── consult/ # 咨询管理
├── customer/ # 客户管理
├── dashboard/ # 首页概览
├── notice/ # 公告管理
├── order/ # 订单管理
├── product/ # 商品管理(含配件提交、模板)
├── report/ # 报表服务
├── supplier/ # 供应商管理
├── user/ # 用户管理
└── vip/ # VIP管理
```
**配置管理**application.properties
- 数据库连接:通过环境变量`DB_URL/DB_USER/DB_PASSWORD`注入
- JWT配置`jwt.secret``jwt.expiresIn`
- 邮件SMTP`spring.mail.*`
- 附件存储:`attachments.upload.storage-dir`
- VIP配置`vip.dataRetentionDaysForNonVip`默认60天
- 普通管理员:`normalAdmin.autoApprove`默认false
- ⚠️ 禁止硬编码:所有配置值必须通过环境变量或配置文件注入
**认证与鉴权**
- JWT Token用户登录后签发包含userId、shopId、role
- AdminAuthInterceptor平台管理端鉴权支持Bearer Token和X-Admin-Id头
- NormalAdminAuthInterceptor普通管理端鉴权校验role=normal_admin且VIP有效
---
### 3.2 前端技术栈
#### 3.2.1 移动端uni-app
**技术选型**
- HBuilderX
- Vue 2
- uni-ui组件库
**目录结构**
```
frontend/
├── pages/ # 页面
│ ├── auth/ # 登录注册
│ ├── index/ # 首页
│ ├── product/ # 货品管理(含配件提交)
│ ├── order/ # 开单
│ ├── detail/ # 明细
│ ├── my/ # 我的
│ ├── customer/ # 客户
│ ├── supplier/ # 供应商
│ ├── account/ # 账户
│ └── report/ # 报表
├── components/ # 组件
│ ├── tabs/ # Tab组件
│ ├── layout/ # 布局组件
│ └── ImageUploader/ # 图片上传
└── common/ # 公共文件
├── config.js # 配置API_BASE_URL、VIP_PRICE等
├── http.js # HTTP封装
├── constants.js # 常量
└── navigation.js # 导航
```
**配置管理**common/config.js
- API_BASE_URL优先级环境变量 > 本地存储 > 默认值
- SHOP_ID店铺ID配置
- ENABLE_DEFAULT_USER开发模式开关
- VIP_PRICE_PER_MONTHVIP价格默认15元
- ⚠️ 所有配置禁止硬编码,必须支持环境变量覆盖
#### 3.2.2 管理端Vue 3 + Element Plus
**技术选型**
- Vue 3 + Vite
- Element Plus
- Axios
**目录结构**
```
admin/
├── src/
│ ├── views/ # 页面
│ │ ├── admin/ # 用户管理
│ │ ├── card/ # 卡片
│ │ ├── consult/ # 咨询
│ │ ├── dict/ # 字典
│ │ ├── normal-admin/ # 普通管理员审批
│ │ ├── notice/ # 公告
│ │ ├── parts/ # 配件管理含审核Submissions.vue
│ │ ├── supplier/ # 供应商
│ │ ├── users/ # 用户
│ │ └── vip/ # VIP管理
│ ├── api/ # API封装
│ ├── router/ # 路由
│ └── styles/ # 样式
└── vite.config.ts # Vite配置
```
**HTTP配置**src/api/http.ts
- 自动注入X-Shop-Id、X-Admin-Id、X-User-Id头
- 优先级localStorage > 环境变量 > 默认值
#### 3.2.3 普通管理端Vue 3 + Element Plus
**项目位置**`normal-admin/`
**功能**
- 复制admin项目结构精简为配件审核+我的两个模块
- 登录沿用用户端认证接口
- 鉴权要求role=normal_admin且VIP有效
⚠️ **当前状态**:项目框架已建立,核心功能待实现
---
### 3.3 数据库设计
**核心设计原则**
1. 多租户隔离所有业务表包含shop_id
2. 软删除使用deleted_at标记查询时过滤
3. 审计追踪:记录创建人、修改人、时间戳
4. 外键约束:合理使用,避免过度影响性能
5. 索引优化:高频查询字段建立复合索引
**表分类**
- 核心业务表30个见《数据库设计文档-核心业务表.md》
- 辅助配置表16个见《数据库设计文档-辅助配置表.md》
**重要约束**
- products.barcode(shop_id, barcode)唯一
- part_submissions.model_unique全局唯一
- users.phone/email全局唯一
- accounts.name(shop_id, name)唯一
- orders.order_no(shop_id, order_no)唯一
---
### 3.4 接口设计
**接口文档**`doc/openapi.yaml`
**实现状态标注**
- ✅ Fully Implemented前后端均已实现并联调通过
- ❌ Partially Implemented仅一方实现或未完全联调
**核心接口组**
1. 认证:`/api/auth/*`
2. 用户端:`/api/user/*``/api/products/*``/api/orders/*``/api/vip/*`
3. 平台管理端:`/api/admin/*`
4. 普通管理端:`/api/normal-admin/*`
5. 公共:`/api/notices``/api/attachments``/api/finance/categories`
**Header约定**
- X-Shop-Id店铺ID默认1
- X-User-Id用户ID用户端接口必传
- X-Admin-Id管理员ID管理端接口必传
- AuthorizationBearer TokenJWT方案逐步迁移
---
## 四、开发状态
### 4.1 已完成功能
**后端**
- ✅ 用户认证体系邮箱、密码、JWT
- ✅ 商品管理CRUD、价格、库存、图片
- ✅ 配件提交与审核(用户提交、管理员审核、导出)
- ✅ 配件模板管理CRUD、参数定义
- ✅ 客户与供应商管理
- ✅ 订单管理(销售、进货、退货、付款)
- ✅ 财务管理(账户、其他收支、分类配置)
- ✅ 库存流水记录
- ✅ VIP状态查询与一键开通
- ✅ VIP充值记录查询
- ✅ 公告管理CRUD、发布、下线
- ✅ 咨询与回复
- ✅ 主数据字典维护
- ✅ 附件上传与校验
- ✅ 首页概览统计
- ✅ 销售报表(按客户/货品维度)
- ✅ 条码识别代理
**移动端uni-app**
- ✅ 登录注册(邮箱密码、邮箱验证码)
- ✅ 首页概览
- ✅ 商品列表、详情、新增、编辑
- ✅ 配件提交、列表、详情
- ✅ 开单(销售、进货、退货、其他收支)
- ✅ 客户与供应商管理
- ✅ VIP状态查询与开通
- ✅ 用户信息查看与修改
**管理端Vue3**
- ✅ 用户管理(列表、编辑、拉黑)
- ✅ 用户配件管理(列表、编辑、恢复)
- ✅ 配件审核(列表、详情、通过、驳回、导出)
- ✅ 模板列表、详情、删除
- ✅ VIP列表、价格设置
- ✅ 公告列表、创建
- ✅ 咨询列表、回复、历史
- ✅ 主数据字典维护
---
### 4.2 待完成功能
**高优先级**
- ⚠️ 管理员登录页(前端)
- ⚠️ 普通管理员审批流程(前后端)
- ⚠️ 普通管理端核心功能(前端)
- ⚠️ 短信验证码登录(前端接入)
- ⚠️ 数据库脚本同步backend/db/db.sql缺少多个表
**中优先级**
- ⚠️ 公告编辑、发布、下线(前端)
- ⚠️ VIP新增、更新前端
- ⚠️ 配件模板创建、更新(前端)
- ⚠️ 账号注销、退出登录
- ⚠️ 货品设置(隐藏零库存、隐藏进货价)
- ⚠️ 悬浮客服入口
- ⚠️ 应收应付对账单
- ⚠️ 营业员统计
**低优先级**
- ⚠️ 微信登录(第三方认证)
- ⚠️ 数据导入导出
- ⚠️ 多语言支持
- ⚠️ 公告富文本编辑
- ⚠️ 操作日志可视化
---
### 4.3 已知问题
#### 4.3.1 严重问题
1. **数据库脚本不一致**
- backend/db/db.sql缺少admins、vip_users、vip_price、vip_recharges、sms_codes、email_codes、normal_admin_audits、consults、consult_replies、notices等表
- 新环境部署时无法初始化
- **建议**立即同步db.sql与线上数据库结构
2. **密码默认值泄露**
- application.properties第14行硬编码数据库密码默认值
- **建议**:移除默认值,强制要求环境变量
3. **unitId字段不一致**
- Product实体无unitId字段已移除
- ProductDtos仍保留unitId
- OpenAPI文档中ProductDetail包含unitId
- **建议**统一移除所有unitId引用
#### 4.3.2 中等问题
1. **身份验证混乱**
- 后端支持JWT和X-Admin-Id两种方式
- 前端仍使用X-Admin-Id
- **建议**统一迁移到JWT Bearer Token
2. **OpenAPI状态不准确**
- 多个已实现接口仍标记为"Partially Implemented"
- **建议**:逐一验证并更新状态
3. **配置硬编码**
- 前端存在多处硬编码fallback值http://127.0.0.1:8080
- **建议**:通过配置文件统一管理
---
## 五、部署与运维
### 5.1 环境要求
**生产环境**
- JDK 17+
- MySQL 8.0+
- Node.js 16+(前端构建)
- Python 3.8+(可选,条码识别服务)
**开发环境**
- IntelliJ IDEA / VS Code
- HBuilderXuni-app开发
- Maven 3.8+
- Git
---
### 5.2 环境变量配置
**后端必需**
```bash
# 数据库
DB_URL=jdbc:mysql://mysql.tonaspace.com:3306/partsinquiry
DB_USER=root
DB_PASSWORD=<实际密码>
# JWT
JWT_SECRET=<随机生成的密钥>
JWT_EXPIRES_IN=86400
# 邮件(如需邮箱验证码)
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=<邮箱>
MAIL_PASSWORD=<授权码>
MAIL_FROM=<发件邮箱>
# 附件存储
ATTACHMENTS_DIR=./data/attachments
ATTACHMENTS_PLACEHOLDER_IMAGE=<占位图路径>
# VIP配置
VIP_NONVIP_RETENTION_DAYS=60
```
**前端必需**
```bash
# 移动端uni-app
VITE_APP_API_BASE_URL=https://api.example.com
VITE_APP_SHOP_ID=1
VITE_APP_VIP_PRICE=15
# 管理端Vue3
VITE_APP_API_BASE_URL=https://api.example.com
VITE_APP_TITLE=配件查询管理端
```
---
### 5.3 部署流程
**后端部署**
```bash
# 1. 打包
mvn clean package -DskipTests
# 2. 上传jar包
scp target/demo-0.0.1-SNAPSHOT.jar user@server:/app/
# 3. 启动服务
java -jar demo-0.0.1-SNAPSHOT.jar \
--spring.profiles.active=prod \
--server.port=8080
```
**前端部署**
```bash
# 移动端uni-app
# HBuilderX: 发行 → 原生App-云打包 / 小程序-微信
# 管理端Vue3
cd admin
npm run build
# 将dist目录上传到Nginx/CDN
```
**数据库初始化**
```bash
# 首次部署执行
mysql -h mysql.tonaspace.com -u root -p partsinquiry < backend/db/db.sql
# ⚠️ 注意当前db.sql不完整需先同步结构
```
---
### 5.4 监控与日志
**日志配置**
- 路径:`./logs/application.log`
- 级别生产环境INFO开发环境DEBUG
- 轮转按日期分割保留30天
**监控指标**
- 应用健康检查:`/actuator/health`
- JVM内存通过Spring Boot Actuator暴露
- 数据库连接池Hikari监控
- 接口响应时间Logback日志记录
**告警规则**
- 数据库连接失败
- 磁盘空间<10%
- 内存使用>90%
- 接口5xx错误率>1%
---
## 六、开发规范
### 6.1 代码规范
**后端Java**
- 遵循阿里巴巴Java开发手册
- 统一使用Lombok简化代码
- 异常处理GlobalExceptionHandler统一捕获
- 日志使用SLF4J + Logback
- 事务:@Transactional注解只读操作标记readOnly=true
**前端JavaScript/TypeScript**
- ESLint规则推荐配置
- 组件命名PascalCase
- 变量命名camelCase
- 常量命名UPPER_SNAKE_CASE
---
### 6.2 Git工作流
**分支策略**
- main生产环境
- develop开发环境
- feature/*:功能分支
- hotfix/*:紧急修复
**提交规范**
```
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 重构
test: 测试相关
chore: 构建/工具配置
```
**禁止操作**
- ❌ 直接push到main分支
- ❌ 提交时跳过hooks--no-verify
- ❌ force push到main/master
- ❌ 提交大文件(>10MB
- ❌ 提交敏感信息(密码、密钥)
---
### 6.3 数据库变更流程
1. **本地测试**在开发环境验证DDL
2. **更新文档**:同步修改`doc/数据库设计文档-*.md`
3. **更新脚本**:同步修改`backend/db/db.sql`
4. **执行变更**通过MysqlMCP执行线上变更
5. **验证结果**查询information_schema确认结构
6. **更新代码**修改Entity、DTO、Service
7. **更新接口**:修改`doc/openapi.yaml`
⚠️ **禁止直接在生产环境手动执行DDL**
---
## 七、测试策略
### 7.1 单元测试
**覆盖率要求**
- Service层>80%
- Controller层>60%
- Util工具类>90%
**测试框架**
- JUnit 5
- Mockito
- Spring Boot Test
### 7.2 集成测试
**关键场景**
- 配件提交 → 审核 → 生成商品
- 销售开单 → 库存扣减 → 收款
- VIP开通 → 数据可见性变化
- 普通管理员申请 → 审批 → 权限生效
### 7.3 性能测试
**压测指标**
- 商品列表查询:<200ms1000并发
- 订单创建<500ms100并发
- 配件搜索<300ms支持全文检索
**工具**
- JMeter
- Apache Bench
---
## 八、后续规划
### 8.1 短期1-2月
1. 完成普通管理员审批流程
2. 前端统一迁移到JWT认证
3. 同步数据库脚本db.sql
4. 补充缺失的前端功能公告编辑VIP管理等
5. 完善单元测试覆盖率
### 8.2 中期3-6月
1. 微信登录集成
2. 数据导入导出功能
3. 高级报表利润分析库龄分析
4. 消息通知系统审核结果VIP到期提醒
5. 多语言支持国际化
### 8.3 长期6月+
1. 移动端原生性能优化
2. 大数据量优化分库分表
3. 多角色权限体系RBAC
4. 第三方支付集成微信支付支付宝
5. 数据分析与BI看板
6. API开放平台OAuth2.0
---
## 九、联系方式
**技术支持**
- 项目地址C:\Users\21826\Desktop\wj\PartsInquiry
- 数据库mysql.tonaspace.com:3306
- 文档路径doc/
**文档维护**
- 数据库变更后必须更新数据库设计文档
- 接口变更后必须更新openapi.yaml
- 新功能上线后必须更新本开发文档
---
**文档修订历史**
- 2025-10-01初始版本整合现有需求与开发状态