优化cursor使用形式,增加项目文档过程管理,方便cursor生成代码

This commit is contained in:
zlwu committed 2025-06-28 09:48:53 +08:00
1 parent 2f7e1a9c16
commit 65d2d71469
36 files changed
+8872 -1530

No files matched your search

+281
View File
@@ -0,0 +1,281 @@
# 业务模块管理
## 📋 业务模块总览
本文档管理所有业务模块的文档,为 **Cursor AI 辅助开发** 提供完整的业务上下文和技术实现参考。每个业务模块都包含从需求分析到部署运维的全生命周期文档。
## 🎯 文档管理目标
### 为 Cursor AI 提供的价值
- **🧠 业务理解**:完整的业务逻辑和流程说明,帮助 AI 理解业务需求
- **🔧 技术实现**:标准的代码结构和实现模式,指导 AI 生成高质量代码
- **🔗 上下文关联**:模块间的依赖关系和接口定义,确保集成一致性
- **📚 最佳实践**:经过验证的开发模式和代码规范,提升开发效率
### 文档维护原则
- **实时同步**:代码变更时立即更新对应文档
- **结构化**:使用统一的文档模板和格式
- **可追溯**:记录所有变更历史和决策过程
- **AI 友好**:使用清晰的结构和标准化的描述方式
## 📊 当前业务模块清单
### 🔥 核心业务模块
#### 1. 后勤满意度调查系统 (hq-satisfaction-survey)
- **状态**:🟢 已完成开发
- **负责人**:李四
- **技术栈**:Spring Boot + Vue3 + MyBatis-Plus
- **核心功能**:问卷设计、数据收集、统计分析、报告生成
- **API 数量**:18 个接口
- **文档完整度**:✅ 100%
#### 2. 报告厅预约管理系统 (hall-reservation)
- **状态**:🟡 开发中
- **负责人**:王五
- **技术栈**:Spring Boot + Vue3 + Warm-Flow
- **核心功能**:场地管理、预约申请、审批流程、冲突检测
- **API 数量**:15 个接口(规划中)
- **文档完整度**:🟡 80%
#### 3. 系统管理模块 (system-management)
- **状态**:🟢 基础框架完成
- **负责人**:张三
- **技术栈**:Spring Boot + Vue3 + Sa-Token
- **核心功能**:用户管理、权限控制、组织架构、系统配置
- **API 数量**:25 个接口
- **文档完整度**:✅ 95%
#### 4. 用户管理模块 (user-management)
- **状态**:🟢 已完成
- **负责人**:张三
- **技术栈**:Spring Boot + Vue3 + Sa-Token
- **核心功能**:用户注册、登录认证、个人信息、角色分配
- **API 数量**:12 个接口
- **文档完整度**:✅ 100%
### 🚀 计划中模块
#### 5. 后勤维修服务系统 (maintenance-service)
- **状态**:⭕ 待开发
- **计划开始**:2024 年 7 月
- **技术栈**:Spring Boot + Vue3 + Warm-Flow
- **核心功能**:报修申请、工单管理、维修派单、服务评价
#### 6. 餐饮服务管理系统 (catering-management)
- **状态**:⭕ 待开发
- **计划开始**:2024 年 8 月
- **技术栈**:Spring Boot + Vue3 + uniapp
- **核心功能**:菜品管理、订餐服务、营养配餐、食堂管理
## 📁 业务模块文档结构标准
每个业务模块都按照以下标准结构组织文档:
```
业务模块/
├── [模块名称]/
│ ├── README.md # 模块总览
│ ├── 需求分析/
│ │ ├── 业务需求说明.md # 业务需求详细说明
│ │ ├── 功能需求清单.md # 功能点清单
│ │ ├── 非功能需求.md # 性能、安全等要求
│ │ └── 用户故事.md # 用户使用场景
│ ├── 技术设计/
│ │ ├── 数据库设计.md # 表结构设计
│ │ ├── API接口设计.md # 接口定义
│ │ ├── 架构设计.md # 模块架构
│ │ └── 技术选型.md # 技术决策
│ ├── 实现文档/
│ │ ├── 后端实现说明.md # 后端代码结构
│ │ ├── 前端实现说明.md # 前端代码结构
│ │ ├── 关键业务逻辑.md # 核心算法
│ │ └── 代码规范.md # 编码规范
│ ├── 测试文档/
│ │ ├── 测试计划.md # 测试策略
│ │ ├── 测试用例.md # 具体测试用例
│ │ └── 测试报告.md # 测试结果
│ └── 运维文档/
│ ├── 部署指南.md # 部署步骤
│ ├── 监控配置.md # 监控指标
│ └── 故障处理.md # 常见问题
```
## 🔧 Cursor AI 辅助开发指南
### 如何使用业务模块文档
#### 1. 新功能开发
```markdown
📋 开发前准备清单:
1. 阅读模块的 README.md 了解整体架构
2. 查看 需求分析/ 目录了解业务逻辑
3. 参考 技术设计/ 目录了解设计模式
4. 查看 实现文档/ 目录了解代码结构
5. 使用 API 接口设计.md 了解接口规范
```
#### 2. 代码生成提示词模板
```
基于 [模块名称] 的业务需求文档和技术设计文档,生成以下功能的代码:
业务背景:[从需求分析文档中提取]
技术要求:[从技术设计文档中提取]
代码结构:[从实现文档中提取]
接口规范:[从API设计文档中提取]
请按照项目规范生成:
1. Controller 层代码
2. Service 层代码
3. Mapper 层代码
4. DTO/VO 类
5. 单元测试代码
```
#### 3. 文档更新提示词模板
```
根据刚才的代码变更,请更新以下业务模块文档:
变更内容:[具体变更说明]
影响模块:[模块名称]
需要更新的文档:
1. API接口设计.md - 新增/修改的接口
2. 数据库设计.md - 表结构变更
3. 实现文档/ - 代码结构变更
4. README.md - 模块概览更新
请保持文档格式一致,确保信息准确。
```
## 📈 模块开发生命周期管理
### 阶段 1:需求分析 📋
- **输入**:业务需求、用户反馈
- **输出**:需求分析文档
- **AI 角色**:需求梳理、用户故事生成
- **文档**:业务需求说明.md、功能需求清单.md
### 阶段 2:技术设计 🎨
- **输入**:需求分析结果
- **输出**:技术设计文档
- **AI 角色**:架构设计、接口设计
- **文档**:数据库设计.md、API 接口设计.md、架构设计.md
### 阶段 3:代码实现 💻
- **输入**:技术设计文档
- **输出**:功能代码、单元测试
- **AI 角色**:代码生成、测试用例生成
- **文档**:后端实现说明.md、前端实现说明.md
### 阶段 4:测试验证 🧪
- **输入**:实现代码
- **输出**:测试报告
- **AI 角色**:测试用例补充、问题分析
- **文档**:测试计划.md、测试用例.md、测试报告.md
### 阶段 5:部署运维 🚀
- **输入**:测试通过的代码
- **输出**:生产环境部署
- **AI 角色**:部署脚本生成、监控配置
- **文档**:部署指南.md、监控配置.md
## 🔄 文档维护工作流
### 日常维护流程
1. **代码变更** → 2. **识别影响的文档** → 3. **更新相关文档** → 4. **验证文档准确性** → 5. **提交变更**
### 文档质量检查清单
- [ ] 文档结构符合标准模板
- [ ] 内容与实际代码一致
- [ ] API 文档包含完整示例
- [ ] 业务逻辑描述清晰
- [ ] 技术实现有详细说明
- [ ] 变更历史有记录
### 文档版本管理
- **版本号规则**:主版本.次版本.修订版本 (如:1.2.3)
- **变更记录**:每次更新记录变更内容和原因
- **向后兼容**:重大变更需要保留历史版本说明
## 📚 模块间集成指南
### 模块依赖关系
```mermaid
graph TD
A[用户管理模块] --> B[系统管理模块]
A --> C[满意度调查模块]
A --> D[报告厅预约模块]
B --> C
B --> D
C --> E[数据分析模块]
D --> F[工作流引擎]
```
### 公共服务模块
- **用户认证服务**:所有模块的用户身份验证
- **权限控制服务**:统一的权限管理
- **通知服务**:跨模块的消息通知
- **文件服务**:文件上传和存储
- **数据字典服务**:系统配置和枚举值
### 接口调用规范
- **统一响应格式**:所有模块使用相同的响应结构
- **错误码标准**:统一的错误码定义和处理
- **接口版本管理**:API 版本兼容性处理
- **性能要求**:响应时间和并发量标准
## 🚀 下一步行动计划
### 近期任务(2 周内)
- [ ] 完善报告厅预约模块的技术设计文档
- [ ] 补充满意度调查模块的运维文档
- [ ] 建立模块间接口测试用例
- [ ] 优化文档模板,提升 AI 理解度
### 中期规划(1 个月内)
- [ ] 启动维修服务模块的需求分析
- [ ] 建立自动化文档生成流程
- [ ] 完善模块间集成测试
- [ ] 建立文档质量评估体系
### 长期愿景(3 个月内)
- [ ] 实现文档与代码的自动同步
- [ ] 建立智能化的模块推荐系统
- [ ] 完成所有计划模块的开发
- [ ] 建立模块复用和扩展机制
---
## 📖 相关文档
- **项目总览**:[项目总览](../项目总览/README.md)
- **开发指南**:[开发文档](../开发文档/README.md)
- **API 文档**:[开发文档/API.md](../开发文档/API.md)
- **变更管理**:[变更管理](../变更管理/README.md)
@@ -0,0 +1,575 @@
# 业务模块开发模板
> 🎯 **模板用途**:本模板用于创建新业务模块的文档结构,为 Cursor AI 提供标准的开发和文档生成参考
## 📋 模块基本信息
**模块名称**:[模块英文名称] / [模块中文名称]
**负责人**:[开发负责人]
**开发状态**:🟢 已完成 / 🟡 开发中 / ⭕ 待开始
**技术栈**:[具体技术栈]
**依赖模块**:[依赖的其他模块]
**开发周期**:[开始时间] - [结束时间]
## 🎯 模块概述
### 业务价值
[描述这个模块解决的业务问题和创造的价值]
### 核心功能
- **功能 1**:[功能描述]
- **功能 2**:[功能描述]
- **功能 3**:[功能描述]
- **功能 4**:[功能描述]
### 技术特点
- **特点 1**:[技术特色说明]
- **特点 2**:[性能特点说明]
- **特点 3**:[安全特点说明]
## 📁 文档结构
```
[模块名称]/
├── README.md # 本文件 - 模块总览
├── 需求分析/
│ ├── 业务需求说明.md # 详细业务需求
│ ├── 功能需求清单.md # 功能点清单
│ ├── 非功能需求.md # 性能、安全要求
│ └── 用户故事.md # 用户使用场景
├── 技术设计/
│ ├── 数据库设计.md # 表结构设计
│ ├── API接口设计.md # 接口定义
│ ├── 架构设计.md # 模块架构
│ └── 技术选型.md # 技术决策说明
├── 实现文档/
│ ├── 后端实现说明.md # 后端代码结构
│ ├── 前端实现说明.md # 前端代码结构
│ ├── 关键业务逻辑.md # 核心算法逻辑
│ └── 代码规范.md # 编码规范
├── 测试文档/
│ ├── 测试计划.md # 测试策略
│ ├── 测试用例.md # 具体测试用例
│ └── 测试报告.md # 测试结果
└── 运维文档/
├── 部署指南.md # 部署步骤
├── 监控配置.md # 监控指标
└── 故障处理.md # 常见问题
```
## 🏗️ 系统架构
### 模块架构图
```mermaid
graph TB
subgraph "前端层"
A1[页面组件<br/>[页面说明]]
A2[业务组件<br/>[组件说明]]
end
subgraph "接口层"
B1[Controller<br/>[接口说明]]
end
subgraph "业务层"
C1[Service<br/>[业务逻辑]]
C2[Manager<br/>[业务组装]]
end
subgraph "数据层"
D1[Mapper<br/>[数据访问]]
D2[Database<br/>[数据库表]]
end
A1 --> B1
A2 --> B1
B1 --> C1
C1 --> C2
C2 --> D1
D1 --> D2
```
### 数据流向
```mermaid
sequenceDiagram
participant U as 用户
participant F as 前端
participant C as Controller
participant S as Service
participant M as Mapper
participant D as Database
U->>F: 用户操作
F->>C: HTTP请求
C->>S: 业务调用
S->>M: 数据查询
M->>D: SQL执行
D-->>M: 返回结果
M-->>S: 返回数据
S-->>C: 返回结果
C-->>F: JSON响应
F-->>U: 界面更新
```
## 📊 核心功能模块
### 1. [功能模块 1]
#### 业务描述
[详细描述这个功能模块的业务逻辑]
#### 技术实现
- **前端实现**:[前端技术方案]
- **后端实现**:[后端技术方案]
- **数据存储**:[数据库设计]
#### 关键流程
1. [步骤 1]
2. [步骤 2]
3. [步骤 3]
### 2. [功能模块 2]
#### 业务描述
[详细描述这个功能模块的业务逻辑]
#### 技术实现
- **前端实现**:[前端技术方案]
- **后端实现**:[后端技术方案]
- **数据存储**:[数据库设计]
#### 关键流程
1. [步骤 1]
2. [步骤 2]
3. [步骤 3]
## 🔌 API 接口概览
### 接口分类
#### 基础 CRUD 接口
| 接口名称 | 请求方式 | 路径 | 功能描述 |
| -------------- | -------- | --------------------------- | ---------------------- |
| 创建[实体] | POST | /api/[module]/[entity] | 创建新的[实体] |
| 查询[实体]列表 | GET | /api/[module]/[entity]/list | 分页查询[实体]列表 |
| 查询[实体]详情 | GET | /api/[module]/[entity]/{id} | 根据 ID 查询[实体]详情 |
| 更新[实体] | PUT | /api/[module]/[entity]/{id} | 更新指定[实体] |
| 删除[实体] | DELETE | /api/[module]/[entity]/{id} | 删除指定[实体] |
#### 业务逻辑接口
| 接口名称 | 请求方式 | 路径 | 功能描述 |
| ------------ | -------- | ------ | ---------- |
| [业务接口 1] | [方式] | [路径] | [功能描述] |
| [业务接口 2] | [方式] | [路径] | [功能描述] |
| [业务接口 3] | [方式] | [路径] | [功能描述] |
### 接口规范
- **请求格式**:JSON
- **响应格式**:统一响应体结构
- **认证方式**:JWT Token
- **权限控制**:基于角色的权限验证
## 🗄️ 数据模型
### 核心实体
#### [实体 1]表 (table_name)
| 字段名 | 类型 | 长度 | 非空 | 默认值 | 说明 |
| ----------- | -------- | ------ | ----- | -------- | -------- |
| id | BIGINT | - | Y | - | 主键 ID |
| [字段 1] | [类型] | [长度] | [Y/N] | [默认值] | [说明] |
| [字段 2] | [类型] | [长度] | [Y/N] | [默认值] | [说明] |
| tenant_id | VARCHAR | 20 | Y | - | 租户 ID |
| create_by | BIGINT | - | Y | - | 创建人 |
| create_time | DATETIME | - | Y | - | 创建时间 |
| update_by | BIGINT | - | Y | - | 更新人 |
| update_time | DATETIME | - | Y | - | 更新时间 |
| deleted | TINYINT | - | Y | 0 | 删除标记 |
#### [实体 2]表 (table_name)
| 字段名 | 类型 | 长度 | 非空 | 默认值 | 说明 |
| ----------- | -------- | ------ | ----- | -------- | -------- |
| id | BIGINT | - | Y | - | 主键 ID |
| [字段 1] | [类型] | [长度] | [Y/N] | [默认值] | [说明] |
| [字段 2] | [类型] | [长度] | [Y/N] | [默认值] | [说明] |
| tenant_id | VARCHAR | 20 | Y | - | 租户 ID |
| create_by | BIGINT | - | Y | - | 创建人 |
| create_time | DATETIME | - | Y | - | 创建时间 |
| update_by | BIGINT | - | Y | - | 更新人 |
| update_time | DATETIME | - | Y | - | 更新时间 |
| deleted | TINYINT | - | Y | 0 | 删除标记 |
### 实体关系图
```mermaid
erDiagram
ENTITY1 ||--o{ ENTITY2 : "一对多关系"
ENTITY2 }o--|| ENTITY3 : "多对一关系"
ENTITY1 }o--o{ ENTITY3 : "多对多关系"
ENTITY1 {
bigint id PK
varchar name
datetime create_time
}
ENTITY2 {
bigint id PK
bigint entity1_id FK
varchar description
datetime create_time
}
ENTITY3 {
bigint id PK
varchar code
varchar name
datetime create_time
}
```
## 🔄 业务流程
### 主要业务流程
#### [流程 1 名称]
```mermaid
flowchart TD
A[开始] --> B{条件判断}
B -->|满足条件| C[执行操作1]
B -->|不满足条件| D[执行操作2]
C --> E[更新状态]
D --> F[记录日志]
E --> G[发送通知]
F --> G
G --> H[结束]
```
**流程说明**:
1. [步骤 1 说明]
2. [步骤 2 说明]
3. [步骤 3 说明]
#### [流程 2 名称]
```mermaid
flowchart TD
A[开始] --> B[数据验证]
B --> C{验证通过?}
C -->|是| D[业务处理]
C -->|否| E[返回错误]
D --> F[数据存储]
F --> G[返回结果]
E --> H[结束]
G --> H
```
**流程说明**:
1. [步骤 1 说明]
2. [步骤 2 说明]
3. [步骤 3 说明]
## 🎨 前端设计
### 页面结构
#### [页面 1 名称]
- **功能**:[页面功能说明]
- **组件**:[使用的组件列表]
- **交互**:[用户交互方式]
- **数据**:[页面数据来源]
#### [页面 2 名称]
- **功能**:[页面功能说明]
- **组件**:[使用的组件列表]
- **交互**:[用户交互方式]
- **数据**:[页面数据来源]
### 组件设计
#### [组件 1 名称]
```typescript
// 组件属性接口
interface [Component1]Props {
[prop1]: [type];
[prop2]: [type];
[prop3]: [type];
}
// 组件事件接口
interface [Component1]Emits {
[event1]: [params];
[event2]: [params];
}
```
#### [组件 2 名称]
```typescript
// 组件属性接口
interface [Component2]Props {
[prop1]: [type];
[prop2]: [type];
[prop3]: [type];
}
// 组件事件接口
interface [Component2]Emits {
[event1]: [params];
[event2]: [params];
}
```
## 📝 开发规范
### 代码结构
#### 后端代码结构
```
src/main/java/org/dromara/modules/[module]/
├── controller/ # 控制器层
│ ├── [Entity]Controller.java
│ └── [Module]Controller.java
├── domain/ # 领域对象层
│ ├── bo/ # 业务对象
│ │ ├── [Entity]Bo.java
│ │ └── [Entity]QueryBo.java
│ └── vo/ # 视图对象
│ ├── [Entity]Vo.java
│ └── [Entity]DetailVo.java
├── mapper/ # 数据访问层
│ ├── [Entity]Mapper.java
│ └── [Entity]Mapper.xml
├── service/ # 业务服务层
│ ├── I[Entity]Service.java
│ └── impl/
│ └── [Entity]ServiceImpl.java
└── utils/ # 工具类
└── [Module]Utils.java
```
#### 前端代码结构
```
src/views/[module]/
├── index.vue # 主页面
├── components/ # 页面组件
│ ├── [Component1].vue
│ └── [Component2].vue
├── types/ # 类型定义
│ └── index.ts
└── api/ # API接口
└── index.ts
```
### 命名规范
#### 后端命名规范
- **类名**:PascalCase (如: UserController, UserService)
- **方法名**:camelCase (如: getUserList, createUser)
- **常量**:UPPER_SNAKE_CASE (如: MAX_RETRY_COUNT)
- **包名**:全小写 (如: com.example.module)
#### 前端命名规范
- **组件名**:PascalCase (如: UserList, UserForm)
- **方法名**:camelCase (如: handleSubmit, getUserInfo)
- **变量名**:camelCase (如: userList, isLoading)
- **常量**:UPPER_SNAKE_CASE (如: API_BASE_URL)
#### 数据库命名规范
- **表名**:下划线命名 (如: sys_user, sys_role)
- **字段名**:下划线命名 (如: user_name, create_time)
- **索引名**:idx*表名*字段名 (如: idx_user_username)
## 🧪 测试策略
### 测试分类
#### 单元测试
- **覆盖范围**:Service 层业务逻辑
- **测试框架**:JUnit 5 + Mockito
- **覆盖率要求**:> 80%
#### 集成测试
- **覆盖范围**:Controller 层 API 接口
- **测试框架**:Spring Boot Test
- **测试数据**:测试数据库
#### 前端测试
- **覆盖范围**:组件功能测试
- **测试框架**:Vue Test Utils + Jest
- **测试类型**:组件渲染、用户交互、数据绑定
### 测试用例设计
#### 功能测试用例
- **正常流程测试**:验证正常业务流程
- **边界值测试**:验证边界条件处理
- **异常流程测试**:验证错误处理逻辑
#### 性能测试用例
- **响应时间测试**:验证接口响应时间
- **并发测试**:验证并发处理能力
- **压力测试**:验证系统承载能力
## 🚀 部署运维
### 部署环境
#### 开发环境
- **部署方式**:本地 Docker 容器
- **数据库**:MySQL 8.0
- **缓存**:Redis 7.0
- **配置**:application-dev.yml
#### 测试环境
- **部署方式**:Docker Compose
- **数据库**:MySQL 8.0(测试库)
- **缓存**:Redis 7.0
- **配置**:application-test.yml
#### 生产环境
- **部署方式**:Kubernetes
- **数据库**:MySQL 8.0(集群)
- **缓存**:Redis 7.0(集群)
- **配置**:application-prod.yml
### 监控指标
#### 业务指标
- **功能使用率**:各功能模块的使用频率
- **用户活跃度**:日活、月活用户数
- **业务成功率**:业务操作成功率
#### 技术指标
- **接口响应时间**:平均响应时间 < 200ms
- **系统可用性**:99.9%可用性
- **错误率**:错误率 < 0.1%
## 📅 开发计划
### 开发阶段
#### 第一阶段:基础框架([时间范围])
- [ ] 数据库表结构设计
- [ ] 基础 CRUD 接口开发
- [ ] 基础页面和组件开发
- [ ] 单元测试编写
#### 第二阶段:核心功能([时间范围])
- [ ] [核心功能 1]开发
- [ ] [核心功能 2]开发
- [ ] [核心功能 3]开发
- [ ] 集成测试
#### 第三阶段:完善优化([时间范围])
- [ ] 功能完善和优化
- [ ] 性能测试和优化
- [ ] 用户体验优化
- [ ] 文档完善
### 里程碑
- **里程碑 1**:基础框架完成 ([日期])
- **里程碑 2**:核心功能完成 ([日期])
- **里程碑 3**:测试完成,准备发布 ([日期])
- **里程碑 4**:正式发布上线 ([日期])
## 🔧 开发工具
### 后端开发工具
- **IDE**:IntelliJ IDEA
- **构建工具**:Maven
- **代码质量**:SonarQube
- **API 测试**:Postman
### 前端开发工具
- **IDE**:VSCode
- **构建工具**:Vite
- **代码规范**:ESLint + Prettier
- **组件预览**:Storybook
### 数据库工具
- **管理工具**:Navicat Premium
- **版本控制**:Flyway
- **性能监控**:MySQL Performance Schema
## 📖 相关文档
- **项目总览**:[项目总览](../项目总览/README.md)
- **开发规范**:[开发文档](../开发文档/README.md)
- **API 接口**:[开发文档/API.md](../开发文档/API.md)
- **数据库设计**:[设计文档/database](../设计文档/database/)
- **变更记录**:[变更管理](../变更管理/README.md)
---
## 📝 模板使用说明
### 适用场景
- 新业务模块开发启动时
- 现有模块重构时
- 为 AI 辅助开发提供上下文
### 填写指南
1. **基本信息**:确保模块基本信息准确完整
2. **架构设计**:使用 Mermaid 图表清晰展示架构
3. **API 设计**:提供完整的接口定义和示例
4. **数据模型**:详细设计数据库表结构
5. **业务流程**:用流程图展示关键业务逻辑
### 文档维护
- **实时更新**:代码变更时同步更新文档
- **版本控制**:重要变更记录版本历史
- **质量检查**:定期检查文档完整性和准确性
### AI 辅助开发
- **上下文提供**:为 Cursor AI 提供完整的业务和技术上下文
- **代码生成**:基于文档规范生成标准化代码
- **文档生成**:自动生成和更新相关文档