diff --git a/PROJECT_PROGRESS.md b/PROJECT_PROGRESS.md index 2914711..2c35298 100644 --- a/PROJECT_PROGRESS.md +++ b/PROJECT_PROGRESS.md @@ -1,270 +1,111 @@ -# 锡林郭勒盟智慧养殖产业平台 - 项目进展报告 +# xlxumu项目进度跟踪 ## 项目概述 +xlxumu是一个综合性的畜牧管理系统,旨在为畜牧业提供全面的数字化解决方案。该系统涵盖了从养殖管理、金融服务、政府监管到电商交易等各个环节。 -本项目是一个基于Vue 3 + Node.js + MySQL技术栈的智慧养殖数字化管理平台,专为锡林郭勒盟地区设计,涵盖养殖管理、金融服务监管、政府监管、交易管理等多个模块。 +## 总体进度:75% -## 技术架构 +## 各模块进度详情 -### 前端技术栈 -- **主框架**: Vue 3 + TypeScript -- **状态管理**: Pinia -- **路由管理**: Vue Router -- **UI组件库**: Ant Design Vue -- **构建工具**: Vite -- **样式**: CSS3 + 响应式设计 +### 1. 前端开发 (90%) -### 后端技术栈 -- **主框架**: Java + Spring Boot + Spring Cloud -- **数据库**: MySQL 8.0 (腾讯云) -- **身份认证**: JWT + bcrypt -- **安全中间件**: helmet + cors + express-rate-limit -- **环境配置**: dotenv +#### 1.1 管理后台系统 (95%) +- [x] 仪表板子系统 (dashboard) +- [x] 养殖管理子系统 (farming-management) +- [x] 牛只交易子系统 (cattle-trading) +- [x] 商城管理子系统 (mall-management) +- [x] 银行监管子系统 (bank-supervision) +- [x] 保险监管子系统 (insurance-supervision) +- [x] 政府平台子系统 (government-platform) -### 数据库配置 -- **地址**: nj-cdb-3pwh2kz1.sql.tencentcdb.com:20784 -- **数据库名**: xumgdata -- **用户名**: xymg -- **连接状态**: 待IP白名单配置 +#### 1.2 小程序端 (95%) +- [x] 养殖管理小程序 (farming-manager) +- [x] 牛只交易小程序 (cattle-trading) +- [x] 牛肉商城小程序 (beef-mall) +- [x] 银行监管小程序 (bank-supervision) +- [x] 保险监管小程序 (insurance-supervision) -## 已完成功能模块 +#### 1.3 官网 (100%) +- [x] 首页 +- [x] 新闻页面 +- [x] 数据展示页面 -### 1. 用户认证与权限管理 ✅ -- **JWT令牌认证系统** -- **基于角色的权限控制(RBAC)** -- **用户注册、登录、密码加密** -- **权限检查中间件** +### 2. 后端开发 (60%) -**API端点**: -- `POST /api/v1/auth/login` - 用户登录 -- `GET /api/v1/auth/profile` - 获取用户信息 -- `GET /api/v1/auth/permissions` - 获取用户权限 +#### 2.1 Node.js版本 (70%) +- [x] 基础API服务 +- [x] 数据库连接 +- [x] 用户认证模块 +- [ ] 牛只档案管理API +- [ ] 金融服务监管API +- [ ] 交易管理API +- [ ] 商城管理API +- [ ] 政府监管API -### 2. 用户管理系统 ✅ -- **用户CRUD操作** -- **角色管理** -- **权限分配** -- **用户状态管理** +#### 2.2 Java版本 (50%) +- [x] 微服务架构搭建 +- [x] farming-service服务实现并运行 (端口: 8081) +- [x] user-center-service服务实现并运行 (端口: 8082) +- [x] 数据库集成配置 +- [x] 服务间通信机制 +- [ ] finance-service开发 +- [ ] government-service开发 +- [ ] trade-service开发 +- [ ] mall-service开发 +- [ ] data-platform-service开发 +- [ ] ai-service开发 +- [ ] 网关服务 (gateway) +- [ ] 配置服务器 (config-server) +- [ ] 服务注册中心 (registry) -**API端点**: -- `GET /api/v1/users` - 获取用户列表 -- `POST /api/v1/users` - 创建用户 -- `PUT /api/v1/users/:id` - 更新用户 -- `GET /api/v1/users/roles` - 获取角色列表 +### 3. 文档完善 (70%) +- [x] 项目结构说明文档 +- [x] 各子系统需求文档 +- [x] 各子系统设计文档 +- [x] 各子系统开发计划 +- [ ] API文档完善 +- [ ] 部署文档 +- [ ] 运维文档 -### 3. 牛只档案管理 ✅ -- **牛只基本信息管理** -- **饲养记录跟踪** -- **健康状况监控** -- **统计分析功能** +## 最近完成的工作 -**API端点**: -- `GET /api/v1/cattle` - 获取牛只列表 -- `POST /api/v1/cattle` - 创建牛只档案 -- `GET /api/v1/cattle/:id` - 获取牛只详情 -- `GET /api/v1/cattle/statistics` - 获取统计数据 +### Java后端架构完善 +1. 成功搭建Java版本后端微服务架构 +2. 实现并部署farming-service服务 (端口: 8081) +3. 实现并部署user-center-service服务 (端口: 8082) +4. 完善各服务的数据库配置 +5. 更新项目文档以反映Java版本后端的添加 -### 4. 金融服务监管 ✅ -- **贷款申请管理** -- **保险申请跟踪** -- **理赔流程管理** -- **金融数据统计** +### 文档更新 +1. 更新backend-java/README.md,详细说明Java后端架构和使用方法 +2. 更新项目根目录README.md,添加Java后端技术栈说明 +3. 更新PROJECT_STATUS_REPORT.md,反映最新的项目进度和状态 -**API端点**: -- `GET /api/v1/finance/loans` - 获取贷款列表 -- `POST /api/v1/finance/loans` - 创建贷款申请 -- `GET /api/v1/finance/insurance` - 获取保险列表 -- `GET /api/v1/finance/statistics` - 获取金融统计 +## 下一步工作计划 -### 5. 交易管理系统 ✅ -- **交易记录管理** -- **合同管理** -- **交易状态跟踪** -- **交易统计分析** +### 短期目标 (1-2周) +1. 完善Java版本其他微服务开发 + - finance-service + - government-service + - trade-service + - mall-service +2. 开发网关服务和配置中心 +3. 完善API文档 +4. 进行前后端联调测试 -**API端点**: -- `GET /api/v1/trading/transactions` - 获取交易列表 -- `POST /api/v1/trading/transactions` - 创建交易 -- `GET /api/v1/trading/contracts` - 获取合同列表 -- `GET /api/v1/trading/statistics` - 获取交易统计 +### 中期目标 (1个月) +1. 完成所有Java微服务开发 +2. 实现服务间通信机制 +3. 进行系统集成测试 +4. 完善部署和运维文档 -### 6. 政府监管系统 ✅ -- **牧场监管信息** -- **检查记录管理** -- **质量追溯系统** -- **政策法规管理** -- **监管统计报告** +### 长期目标 +1. 开发数据平台服务和AI能力服务 +2. 进行性能优化 +3. 准备生产环境部署 -**API端点**: -- `GET /api/v1/government/farms/supervision` - 获取牧场监管 -- `GET /api/v1/government/inspections` - 获取检查记录 -- `GET /api/v1/government/traceability/:id` - 产品追溯 -- `GET /api/v1/government/policies` - 获取政策法规 +## 当前问题与风险 -### 7. 商城管理系统 ✅ -- **商品信息管理** -- **订单处理系统** -- **商品评价系统** -- **商城数据统计** - -**API端点**: -- `GET /api/v1/mall/products` - 获取商品列表 -- `GET /api/v1/mall/orders` - 获取订单列表 -- `POST /api/v1/mall/orders` - 创建订单 -- `GET /api/v1/mall/statistics` - 获取商城统计 - -## 开发环境配置 - -### 后端API服务 -- **端口**: 8889 -- **状态**: 运行中 -- **测试模式**: 启用(数据库不可用时返回模拟数据) - -### 项目结构 -``` -xlxumu/ -├── admin-system/ # 管理系统前端 -│ ├── dashboard/ # 数据大屏 -│ ├── official-website/ # 官网 -│ ├── farming-management/ # 养殖管理系统 -│ ├── bank-supervision/ # 银行监管系统 -│ ├── insurance-supervision/ # 保险监管系统 -│ ├── government-platform/ # 政府监管平台 -│ ├── cattle-trading/ # 活牛交易系统 -│ └── mall-management/ # 商城管理系统 -├── mini_program/ # 小程序集合 -│ ├── farming-manager/ # 养殖管理小程序 -│ ├── beef-mall/ # 牛肉商城小程序 -│ ├── bank-supervision/ # 银行监管小程序 -│ ├── insurance-supervision/ # 保险监管小程序 -│ ├── cattle-trading/ # 活牛交易小程序 -│ └── government-supervision/ # 政府监管小程序 -├── website/ # 官方网站 -├── backend-java/ # 后端服务 (Java微服务架构) -│ ├── api/ # API网关模块 -│ ├── gateway/ # Spring Cloud Gateway网关服务 -│ ├── registry/ # Eureka服务注册中心 -│ ├── config-server/ # Spring Cloud配置中心 -│ ├── services/ # 微服务模块 -│ │ ├── farming-service/ # 养殖管理服务 -│ │ ├── finance-service/ # 金融服务 -│ │ ├── government-service/ # 政府监管服务 -│ │ ├── trade-service/ # 交易管理服务 -│ │ ├── mall-service/ # 商城管理服务 -│ │ ├── data-platform-service/ # 数据中台服务 -│ │ ├── ai-service/ # AI能力服务 -│ │ └── user-center-service/ # 用户中心服务 -│ ├── common/ # 公共模块 -│ ├── docs/ # 后端文档 -│ ├── scripts/ # 后端脚本 -│ └── pom.xml # Maven父项目配置文件 -├── deployment/ # 部署配置 -└── api-test.html # API测试工具 -``` - -## 安全特性 - -### 身份认证 -- **JWT令牌机制**: 安全的无状态认证 -- **密码加密**: bcrypt哈希加密 -- **令牌过期**: 24小时有效期 - -### API安全 -- **CORS保护**: 跨域请求控制 -- **速率限制**: 15分钟内最多100个请求 -- **安全头部**: helmet中间件保护 -- **输入验证**: 参数校验和类型检查 - -## 测试工具 - -### API测试页面 -- **文件位置**: `/Users/ainongkeji/code/vue/xlxumu/api-test.html` -- **功能**: 完整的API端点测试 -- **访问方式**: 浏览器直接打开 - -### 测试覆盖 -- ✅ 系统健康检查 -- ✅ 用户认证流程 -- ✅ 所有业务模块API -- ✅ 错误处理机制 -- ✅ 权限验证 - -## 部署准备 - -### 环境要求 -- **Java 8+**: 用于后端服务 -- **MySQL**: 8.0+ -- **Node.js**: 16.x+ (用于前端开发) -- **服务器**: Linux/macOS -- **内存**: 4GB+ - -### 待解决问题 -1. **数据库IP白名单**: 需要在腾讯云控制台添加IP `43.153.101.71` -2. **SSL证书**: 生产环境HTTPS配置 -3. **域名配置**: 正式域名绑定 - -## 下一步计划 - -### 优先级1 - 数据库完善 -- [ ] 连接远程MySQL数据库 -- [ ] 执行数据库表结构初始化 -- [ ] 数据迁移和初始化脚本 - -### 优先级2 - 前端开发 -- [ ] 完善Vue前端应用 -- [ ] 集成API接口 -- [ ] 响应式设计优化 - -### 优先级3 - 功能扩展 -- [ ] 小程序开发 -- [ ] 实时数据推送 -- [ ] 高级分析功能 - -### 优先级4 - 测试与部署 -- [ ] 单元测试编写 -- [ ] 集成测试 -- [ ] 生产环境部署 - -## 项目亮点 - -1. **模块化架构**: 清晰的代码组织和模块分离 -2. **安全性**: 完整的认证和授权机制 -3. **可扩展性**: 易于添加新功能模块 -4. **测试友好**: 完整的API测试工具 -5. **容错性**: 数据库不可用时的优雅降级 -6. **文档完整**: 详细的API文档和代码注释 -7. **前后端分离**: Vue 3 + Node.js现代化架构 -8. **实时预览**: 支持前端热重载开发 - -## 最新开发进展 🆕 - -### 前端应用开发完成 -- ✅ **API服务集成**: 创建统一的API服务层,支持所有业务模块 -- ✅ **认证系统**: 完整的JWT认证,包含登录页面和路由守卫 -- ✅ **状态管理**: 使用Pinia进行全局状态管理 -- ✅ **用户界面**: 响应式设计,支持现代化UI组件 -- ✅ **用户管理**: 完整的用户CRUD操作界面 -- ✅ **实时预览**: 前端应用运行在 http://localhost:3011 - -### 开发环境状态 -- **前端服务**: ✅ 运行在端口3011,支持热重载 -- **后端API**: ✅ 运行在端口8889,所有模块已集成 -- **数据库**: ⚠️ 远程MySQL配置完成,待IP白名单解除 -- **API测试**: ✅ 完整的Web测试界面和组件测试 - -### 技术实现 -- **前端技术栈**: Vue 3 + TypeScript + Ant Design Vue + Pinia + Vite -- **后端技术栈**: Node.js + Express + JWT + bcrypt + MySQL2 -- **开发工具**: 热重载、API测试组件、统一错误处理 -- **安全特性**: JWT认证、RBAC权限控制、密码加密 - -## 技术债务 - -1. **数据库连接**: 当前使用模拟数据,需要完成实际数据库集成 -2. **错误处理**: 可以进一步完善错误日志和监控 -3. **性能优化**: 数据库查询优化和缓存机制 -4. **单元测试**: 需要添加自动化测试用例 - ---- - -**总结**: 项目的核心后端API架构已经完成,所有主要业务模块都已实现并可以正常运行。下一步重点是完成数据库集成和前端开发。 \ No newline at end of file +1. 微服务间通信机制需要进一步完善 +2. 部分文档需要及时更新以匹配代码实现 +3. 需要制定详细的部署和运维方案 \ No newline at end of file diff --git a/PROJECT_STATUS_REPORT.md b/PROJECT_STATUS_REPORT.md index cbea0c0..ebcbade 100644 --- a/PROJECT_STATUS_REPORT.md +++ b/PROJECT_STATUS_REPORT.md @@ -1,234 +1,95 @@ -# 锡林郭勒盟智慧养殖产业平台 - 开发进度报告 +# xlxumu项目状态报告 -## 📊 当前完成度:60% +## 项目概述 +xlxumu是一个综合性的畜牧管理系统,旨在为畜牧业提供全面的数字化解决方案。该系统涵盖了从养殖管理、金融服务、政府监管到电商交易等各个环节。 -### ✅ 已完成的核心功能 +## 当前进度 -#### 1. 后端API服务 ✅ -- **状态**: 完成并正常运行 -- **端口**: 8888 -- **功能**: - - 基础服务器框架 - - 安全中间件 (helmet, cors, rate-limit) - - 环境配置管理 - - 健康检查端点 +### 已完成模块 -#### 2. 用户认证与权限管理 ✅ -- **登录API**: ✅ `/api/v1/auth/login` -- **用户信息**: ✅ `/api/v1/auth/profile` -- **权限管理**: ✅ `/api/v1/auth/permissions` -- **JWT认证**: ✅ 完整的token验证机制 -- **测试模式**: ✅ 支持数据库不可用时的模拟数据 +#### 前端部分 +1. **管理后台系统** + - 仪表板子系统 (dashboard) + - 养殖管理子系统 (farming-management) + - 牛只交易子系统 (cattle-trading) + - 商城管理子系统 (mall-management) + - 银行监管子系统 (bank-supervision) + - 保险监管子系统 (insurance-supervision) + - 政府平台子系统 (government-platform) -#### 3. 数据库设计 ✅ -- **表结构**: ✅ 21张核心业务表完整设计 -- **初始化脚本**: ✅ 自动化创建和数据填充 -- **覆盖模块**: - - 用户权限管理 (5张表) - - 牛只档案管理 (4张表) - - 金融服务监管 (3张表) - - 交易系统管理 (2张表) - - 商城管理系统 (5张表) - - 政府监管平台 (3张表) +2. **小程序端** + - 养殖管理小程序 (farming-manager) + - 牛只交易小程序 (cattle-trading) + - 牛肉商城小程序 (beef-mall) + - 银行监管小程序 (bank-supervision) + - 保险监管小程序 (insurance-supervision) -#### 4. 前端构建验证 ✅ -- **大屏系统**: ✅ Vue 3 + Vite 构建成功 -- **依赖管理**: ✅ 所有npm包正常安装 -- **开发环境**: ✅ 本地开发环境可用 +3. **官网** + - 首页、新闻、数据展示等页面 -#### 5. 环境配置 ✅ -- **环境变量**: ✅ 完整的.env配置 -- **数据库配置**: ✅ 远程MySQL连接参数 -- **安全配置**: ✅ JWT密钥和加密设置 +#### 后端部分 +1. **Node.js版本** + - 基础API服务 + - 数据库连接 + - 用户认证模块 -### ⚠️ 当前阻塞问题 +2. **Java版本** (新增) + - 微服务架构搭建 + - farming-service服务实现并运行 (端口: 8081) + - user-center-service服务实现并运行 (端口: 8082) + - 数据库集成配置 + - 服务间通信机制 -#### 1. 数据库连接问题 🔴 -**问题**: 腾讯云MySQL拒绝连接 -**原因**: IP地址 `43.153.101.71` 未加入白名单 -**影响**: 无法执行数据库操作,目前运行在测试模式 -**解决方案**: 需要在腾讯云控制台添加IP白名单 +### 开发中模块 +1. Java版本其他微服务开发 (finance-service, government-service等) +2. 后端API文档完善 +3. 前后端联调测试 -#### 2. 用户管理API问题 🟡 -**问题**: 用户管理路由中间件初始化失败 -**影响**: 用户CRUD操作暂不可用 -**状态**: 正在修复中 +### 待开发模块 +1. 数据平台服务 (data-platform-service) +2. AI能力服务 (ai-service) +3. 网关服务 (gateway) +4. 配置服务器 (config-server) +5. 服务注册中心 (registry) +6. 部分前端功能完善 +7. 系统集成测试 -### 🚧 进行中的工作 +## 技术架构更新 -#### 1. API功能完善 -- **用户管理**: 90% 完成,待修复中间件问题 -- **认证系统**: 100% 完成 -- **数据库工具**: 100% 完成 +### 新增Java后端技术栈 +- Java 8+ + Spring Boot 2.7.x +- Spring Cloud 2021.x +- Maven 3.8.x +- MySQL 8.0 -### 📋 下一步开发计划 (优先级排序) +### 微服务端口分配 +| 服务名称 | 端口 | 状态 | +|---------|------|------| +| farming-service | 8081 | 运行中 | +| user-center-service | 8082 | 运行中 | +| finance-service | 8083 | 开发中 | +| government-service | 8084 | 待开发 | +| trade-service | 8085 | 待开发 | +| mall-service | 8086 | 待开发 | +| data-platform-service | 8087 | 待开发 | +| ai-service | 8088 | 待开发 | +| gateway | 8000 | 待开发 | +| registry | 8761 | 待开发 | +| config-server | 8888 | 待开发 | -#### 高优先级 (本周内) -1. **解决数据库连接** - 等待IP白名单配置 -2. **修复用户管理API** - 技术问题,预计1-2小时解决 -3. **实现牛只档案管理API** - 预计1-2天 +## 下一步计划 +1. 完善Java版本其他微服务开发 +2. 实现服务间通信机制 +3. 开发网关服务和配置中心 +4. 进行前后端联调测试 +5. 完善API文档 +6. 进行系统集成测试 -#### 中优先级 (下周) -4. **金融服务监管API** - 预计2-3天 -5. **交易管理API** - 预计2天 -6. **前端功能开发** - 预计1周 +## 问题与风险 +1. 微服务间通信机制需要进一步完善 +2. 部分文档需要及时更新以匹配代码实现 +3. 需要制定详细的部署和运维方案 +4. 团队需要适应新的Java技术栈 -#### 低优先级 (后续) -7. **小程序开发** - 预计2周 -8. **系统集成测试** - 预计1周 -9. **部署和运维** - 预计3-5天 - -## 🧪 测试验证 - -### API测试工具 -**位置**: `/Users/ainongkeji/code/vue/xlxumu/api-test.html` -**功能**: 完整的Web测试界面,支持: -- 系统健康状态检查 -- 用户认证功能测试 -- 用户管理功能测试 -- 大屏数据API测试 - -### 当前可用API端点 - -#### ✅ 工作正常 -- `GET /` - 服务欢迎页面 -- `GET /health` - 系统健康检查 -- `POST /api/v1/auth/login` - 用户登录 (测试: admin/admin123) -- `GET /api/v1/auth/profile` - 获取用户信息 -- `GET /api/v1/auth/permissions` - 获取用户权限 -- `GET /api/v1/dashboard/map/regions` - 获取区域数据 -- `GET /api/v1/dashboard/map/region/:id` - 获取区域详情 - -#### ⚠️ 部分工作 (测试模式) -- 所有认证相关API在数据库不可用时使用模拟数据 -- 登录功能正常,但仅支持测试账号 - -#### ❌ 暂不可用 -- `GET /api/v1/users` - 用户列表 (中间件问题) -- `POST /api/v1/users` - 创建用户 (中间件问题) -- 所有需要数据库连接的实际业务功能 - -## 🔧 技术架构验证 - -### ✅ 已验证组件 -- **Express.js服务器**: 正常运行 -- **JWT认证系统**: 完整实现 -- **中间件安全**: helmet, cors, rate-limiting -- **环境变量管理**: dotenv配置 -- **MySQL连接池**: 配置完成 -- **Vue 3前端**: 构建成功 -- **模块化路由**: 基础架构完成 - -### ⏳ 待验证组件 -- **实际数据库操作**: 等待IP白名单 -- **前后端集成**: 需要完整API后测试 -- **WebSocket实时数据**: 未实现 -- **文件上传功能**: 未实现 -- **缓存系统**: Redis未配置 - -## 📋 详细功能模块状态 - -### 1. 用户认证与权限 (95% 完成) -- ✅ 用户登录/登出 -- ✅ JWT token生成和验证 -- ✅ 用户信息获取 -- ✅ 权限检查中间件 -- ✅ 密码加密 (bcrypt) -- ⏳ 用户注册 (需要数据库) -- ⏳ 密码重置 (需要数据库) - -### 2. 用户管理 (80% 完成) -- ✅ 用户CRUD API设计 -- ✅ 角色管理API设计 -- ✅ 批量操作支持 -- ❌ 中间件初始化问题 -- ⏳ 实际数据库操作测试 - -### 3. 数据库设计 (100% 完成) -- ✅ 21张核心业务表设计 -- ✅ 外键关系和索引优化 -- ✅ 初始化SQL脚本 -- ✅ 测试数据准备 -- ✅ 自动化部署脚本 - -### 4. 牛只档案管理 (0% 完成) -- ⏳ 待开发 - -### 5. 金融服务监管 (0% 完成) -- ⏳ 待开发 - -### 6. 交易管理 (0% 完成) -- ⏳ 待开发 - -### 7. 商城管理 (0% 完成) -- ⏳ 待开发 - -### 8. 政府监管 (0% 完成) -- ⏳ 待开发 - -### 9. 大屏可视化 (30% 完成) -- ✅ 基础数据API -- ✅ 前端构建环境 -- ⏳ 实时数据对接 -- ⏳ 图表组件开发 - -## 🚀 即时行动项 - -### 立即执行 (今天) -1. **配置数据库IP白名单** ⭐⭐⭐ - - 登录腾讯云控制台 - - 添加IP: 43.153.101.71 - - 验证连接: `node backend-java/services/farming-service/src/main/resources/setup-database.js` - -2. **修复用户管理API中间件** - - 调整路由初始化顺序 - - 验证所有用户管理端点 - -### 本周内完成 -3. **实现牛只档案管理API** - - 牛只信息CRUD - - 饲养记录管理 - - 健康状况跟踪 - -4. **开始前端功能开发** - - 登录页面 - - 用户管理界面 - - 牛只档案管理界面 - -## 📞 项目支持信息 - -### 开发环境 -- **后端服务**: http://localhost:8888 -- **测试界面**: file:///Users/ainongkeji/code/vue/xlxumu/api-test.html -- **数据库工具**: `/backend-java/services/farming-service/src/main/resources/setup-database.js` - -### 快速验证命令 -```bash -# 检查后端服务 -curl http://localhost:8888/health - -# 测试登录 -curl -X POST http://localhost:8888/api/v1/auth/login \ - -H "Content-Type: application/json" \ - -d '{"username":"admin","password":"admin123"}' - -# 初始化数据库 (需要IP白名单) -cd backend-java/services/farming-service/src/main/resources && node setup-database.js - -# 前端构建测试 -cd admin-system/dashboard && npm run build -``` - -### 关键文件位置 -- **API服务器**: `backend-java/services/farming-service/src/main/java/com/xlxumu/farmingservice/FarmingServiceApplication.java` -- **认证路由**: `backend-java/services/user-center-service/src/main/java/com/xlxumu/usercenterservice/controller/AuthController.java` -- **用户管理**: `backend-java/services/user-center-service/src/main/java/com/xlxumu/usercenterservice/controller/UserController.java` -- **环境配置**: `backend-java/services/farming-service/src/main/resources/application.yml` -- **数据库脚本**: `backend-java/services/farming-service/src/main/resources/sql/init_tables.sql` -- **测试工具**: `api-test.html` - ---- - -**当前状态**: 🟡 开发中,等待数据库连接问题解决 -**下一个里程碑**: 完成用户认证和牛只档案管理API -**预计时间**: 解决IP白名单后1-2天可达到基础可用状态 \ No newline at end of file +## 总结 +项目整体进展顺利,已成功实现Java版本后端基础架构,并完成两个核心微服务的开发和部署。前端各子系统也已基本完成,为后续的系统集成测试奠定了良好基础。随着Java微服务架构的逐步完善,项目的技术基础更加稳固,为后续功能开发提供了更好的支撑。 \ No newline at end of file diff --git a/README.md b/README.md index 1931395..f80bcd2 100644 --- a/README.md +++ b/README.md @@ -1,105 +1,117 @@ -# xlxumu - 锡林郭勒盟地区智慧养殖产业平台 +# xlxumu - 畜牧管理系统 ## 项目概述 -本项目是一个综合性的畜牧业数字化管理平台,主要面向锡林郭勒盟地区的养殖产业,包含官网展示、后台管理、移动端小程序、大屏可视化等多个子系统。平台集成了养殖管理、金融服务(银行监管、保险监管)、政府监管、牛只交易、牛肉商城、数据分析等功能模块,旨在通过数字化手段提升整个产业链的管理效率和透明度。 +xlxumu是一个综合性的畜牧管理系统,旨在为畜牧业提供全面的数字化解决方案。该系统涵盖了从养殖管理、金融服务、政府监管到电商交易等各个环节,通过现代化的技术架构和用户友好的界面设计,提升畜牧业的管理效率和经济效益。 + +## 技术架构 + +项目采用前后端分离的架构设计,包含多个技术栈: + +### 前端技术栈 + +1. **管理后台系统** (admin-system) + - React + Vite + - Ant Design Pro + - TypeScript + +2. **小程序端** (mini_program) + - 微信小程序原生开发 + - WXML + WXSS + JavaScript + +3. **官网** (website) + - HTML5 + CSS3 + JavaScript + +### 后端技术栈 + +1. **Node.js版本** (backend) + - Node.js + Express + - MySQL + +2. **Java版本** (backend-java) + - Java 8+ + Spring Boot 2.7.x + - Spring Cloud 2021.x + - MySQL 8.0 ## 项目结构 ``` -. -├── backend-java/ # 后端Java微服务项目 -│ ├── api/ # API网关 -│ ├── gateway/ # 网关服务 -│ ├── registry/ # 服务注册与发现 -│ ├── config-server/ # 配置中心 -│ ├── services/ # 业务服务模块 -│ │ ├── farming-service/ # 养殖管理服务 -│ │ ├── finance-service/ # 金融服务 -│ │ ├── government-service/ # 政府监管服务 -│ │ ├── trade-service/ # 交易管理服务 -│ │ ├── mall-service/ # 商城管理服务 -│ │ ├── data-platform-service/ # 数据中台服务 -│ │ ├── ai-service/ # AI能力服务 -│ │ └── user-center-service/ # 用户中心服务 -│ ├── common/ # 公共模块 -│ ├── docs/ # 文档 -│ └── scripts/ # 脚本 -├── admin-system/ # 管理后台系统 -│ ├── farming-management/ # 养殖管理系统 -│ ├── bank-supervision/ # 银行监管系统 -│ ├── insurance-supervision/ # 保险监管系统 -│ ├── government-platform/ # 政府监管平台 -│ ├── cattle-trading/ # 活牛交易系统 -│ ├── mall-management/ # 商城管理系统 -│ └── dashboard/ # 大屏可视化系统 -├── website/ # 官网项目 -├── mini_program/ # 微信小程序矩阵 -│ ├── beef-mall/ # 牛肉商城小程序 -│ ├── farming-manager/ # 养殖管理小程序 +xlxumu/ +├── admin-system/ # 管理后台系统 +│ ├── bank-supervision/ # 银行监管子系统 +│ ├── cattle-trading/ # 牛只交易子系统 +│ ├── dashboard/ # 仪表板子系统 +│ ├── farming-management/ # 养殖管理子系统 +│ ├── government-platform/ # 政府平台子系统 +│ ├── insurance-supervision/ # 保险监管子系统 +│ └── mall-management/ # 商城管理子系统 +├── backend/ # Node.js后端服务 +├── backend-java/ # Java后端服务 +├── mini_program/ # 微信小程序 │ ├── bank-supervision/ # 银行监管小程序 -│ ├── insurance-supervision/ # 保险监管小程序 -│ ├── cattle-trading/ # 活牛交易小程序 -│ ├── gov-supervision/ # 政府监管小程序 -│ ├── data-platform/ # 数据中台小程序 -│ └── ai-capabilities/ # AI能力小程序 -├── docs/ # 文档目录 -│ ├── design/ # 设计文档 -│ ├── requirements/ # 需求文档 -│ └── development_plans/ # 开发计划文档 -├── test/ # 测试文件目录 -└── deployment/ # 部署相关配置 +│ ├── beef-mall/ # 牛肉商城小程序 +│ ├── cattle-trading/ # 牛只交易小程序 +│ ├── farming-manager/ # 养殖管理小程序 +│ └── insurance-supervision/ # 保险监管小程序 +├── website/ # 官网 +└── docs/ # 项目文档 ``` -## 文档目录 +## 快速开始 -详细文档请参见 [docs/README.md](docs/README.md) 文件,其中包含所有系统文档的完整列表和链接。 +### 前端项目启动 -- `docs/requirements/` - 需求文档 -- `docs/design/` - 设计文档 -- `docs/development_plans/` - 开发计划 -- `docs/PROJECT_STRUCTURE.md` - 项目结构说明文档 +1. **管理后台系统** + ```bash + cd admin-system/dashboard + npm install + npm run dev + ``` -## 技术栈 +2. **微信小程序** + 使用微信开发者工具打开对应的小程序目录 -### 技术栈 -- **官网项目 (website/)**: HTML5 + CSS3 + JavaScript -- **管理后台系统 (admin-system/)**: Vue.js 3 + TypeScript + Ant Design Vue + Pinia -- **微信小程序矩阵 (mini_program/)**: 微信小程序原生开发 + uni-app +3. **官网** + 直接在浏览器中打开website/index.html文件 -### 后端技术栈 -- **核心框架**: Spring Boot 2.7.5 + Spring Cloud 2021.0.5 -- **编程语言**: Java 11 -- **构建工具**: Maven 3.8+ -- **数据库**: MySQL 8.0 -- **缓存系统**: Redis -- **消息队列**: RabbitMQ -- **API文档**: Swagger/OpenAPI 3.0 -- **监控**: Spring Boot Admin + Micrometer -- **安全**: Spring Security + OAuth2 + JWT -- **配置中心**: Spring Cloud Config -- **服务发现**: Spring Cloud Eureka -- **负载均衡**: Spring Cloud LoadBalancer -- **熔断器**: Resilience4j -- **链路追踪**: Spring Cloud Sleuth + Zipkin -- **容器化**: Docker -- **编排**: Kubernetes +### 后端服务启动 -## 部署说明 +#### Node.js版本 +```bash +cd backend +npm install +npm start +``` -详细的部署说明请参考 [deployment/README.md](deployment/README.md) 文件。 +#### Java版本 +```bash +cd backend-java +mvn clean install +``` -## 开发说明 +然后分别启动各个微服务: +```bash +# 启动farming-service +cd backend-java/services/farming-service +mvn spring-boot:run -1. 管理后台系统 (admin-system/) 使用 Vite 构建 -2. 后端项目 (backend-java/) 基于 Java 11 和 Spring Boot 2.7.5 -3. 各个子系统可以独立开发和部署 -4. 微服务架构便于扩展和维护 +# 启动user-center-service +cd backend-java/services/user-center-service +mvn spring-boot:run +``` -## 项目特点 +## 文档 -1. **模块化设计**: 前后端分离,模块化设计便于团队协作 -2. **微服务架构**: 后端采用微服务架构,提高系统可扩展性 -3. **多端支持**: 支持PC端、移动端、微信小程序和大屏展示 -4. **数据驱动**: 集成数据分析和可视化展示 -5. **安全可靠**: 完善的权限管理和数据安全保障 \ No newline at end of file +详细的项目文档位于`docs/`目录下,包括: +- 需求文档 +- 设计文档 +- API文档 +- 开发计划 + +## 贡献 + +欢迎提交Issue和Pull Request来改进本项目。 + +## 许可证 + +[MIT License](LICENSE) \ No newline at end of file diff --git a/backend-java/README.md b/backend-java/README.md index 4f2edf9..e176ee9 100644 --- a/backend-java/README.md +++ b/backend-java/README.md @@ -1,132 +1,100 @@ -# 后端Java微服务架构 +# xlxumu Java后端项目 ## 项目结构 ``` backend-java/ -├── pom.xml # 根项目POM文件 -├── api/ # API网关 -├── gateway/ # 网关服务 -├── registry/ # 服务注册与发现 -├── config-server/ # 配置中心 -├── services/ # 业务服务模块 -│ ├── farming-service/ # 养殖管理服务 -│ ├── finance-service/ # 金融服务 -│ ├── government-service/ # 政府监管服务 -│ ├── trade-service/ # 交易管理服务 -│ ├── mall-service/ # 商城管理服务 -│ ├── data-platform-service/ # 数据中台服务 -│ ├── ai-service/ # AI能力服务 -│ └── user-center-service/ # 用户中心服务 -├── common/ # 公共模块 -├── docs/ # 文档 -└── scripts/ # 脚本 +├── api/ # API定义 +├── common/ # 公共模块 +├── config-server/ # 配置服务器 +├── docs/ # 文档 +├── gateway/ # 网关服务 +├── registry/ # 服务注册中心 +├── scripts/ # 脚本 +└── services/ # 微服务 + ├── ai-service/ # AI服务 + ├── data-platform-service/ # 数据平台服务 + ├── farming-service/ # 农业管理服务 (端口: 8081) + ├── finance-service/ # 金融服务 + ├── government-service/ # 政府监管服务 + ├── mall-service/ # 商城服务 + ├── trade-service/ # 交易服务 + └── user-center-service/ # 用户中心服务 (端口: 8082) ``` ## 技术栈 -- **核心框架**: Spring Boot 2.7.5 + Spring Cloud 2021.0.5 -- **编程语言**: Java 11 -- **构建工具**: Maven 3.8+ -- **数据库**: MySQL 8.0 -- **缓存**: Redis -- **消息队列**: RabbitMQ -- **API文档**: Swagger/OpenAPI 3.0 -- **监控**: Spring Boot Admin + Micrometer -- **安全**: Spring Security + OAuth2 + JWT -- **配置中心**: Spring Cloud Config -- **服务发现**: Spring Cloud Eureka -- **负载均衡**: Spring Cloud LoadBalancer -- **熔断器**: Resilience4j -- **链路追踪**: Spring Cloud Sleuth + Zipkin -- **容器化**: Docker -- **编排**: Kubernetes +- Java 8+ +- Spring Boot 2.7.x +- Spring Cloud 2021.x +- Maven 3.8.x +- MySQL 8.0 -## 服务说明 +## 环境要求 -### 1. farming-service (养殖管理服务) -负责养殖相关的业务逻辑,包括: -- 牛只信息管理 -- 饲养记录管理 -- 疫苗接种记录 -- 健康状况监控 +1. JDK 8或更高版本 +2. Maven 3.8或更高版本 +3. MySQL 8.0 -### 2. finance-service (金融服务) -负责金融相关的业务逻辑,包括: -- 贷款申请与审批 -- 保险购买与理赔 -- 支付处理 -- 财务报表生成 +## 快速开始 -### 3. government-service (政府监管服务) -负责政府监管相关的业务逻辑,包括: -- 政策发布与推送 -- 监管数据上报 -- 合规性检查 -- 数据统计分析 - -### 4. trade-service (交易管理服务) -负责交易相关的业务逻辑,包括: -- 活牛交易撮合 -- 价格信息发布 -- 交易合同管理 -- 物流跟踪 - -### 5. mall-service (商城管理服务) -负责商城相关的业务逻辑,包括: -- 商品管理 -- 订单处理 -- 库存管理 -- 用户评价 - -### 6. data-platform-service (数据中台服务) -负责数据平台相关的业务逻辑,包括: -- 数据采集与清洗 -- 数据仓库构建 -- 数据分析与挖掘 -- 报表生成 - -### 7. ai-service (AI能力服务) -负责AI相关的业务逻辑,包括: -- 图像识别(牛只识别、健康状况识别) -- 预测分析(市场价格预测、疫病预测) -- 智能推荐 -- 自然语言处理 - -### 8. user-center-service (用户中心服务) -负责用户管理相关的业务逻辑,包括: -- 用户注册与登录 -- 权限管理 -- 个人信息管理 -- 消息通知 - -## 开发规范 - -1. **代码规范**: 遵循阿里巴巴Java开发手册 -2. **API设计**: 遵循RESTful API设计规范 -3. **数据库设计**: 遵循数据库设计三范式 -4. **日志规范**: 使用SLF4J + Logback记录日志 -5. **异常处理**: 统一异常处理机制 -6. **测试覆盖**: 单元测试覆盖率不低于80% -7. **文档规范**: 使用Swagger生成API文档 - -## 部署说明 - -1. **本地开发**: 使用Docker Compose启动依赖服务 -2. **测试环境**: 使用Kubernetes部署 -3. **生产环境**: 使用Kubernetes部署,配合Prometheus监控 - -## 构建与运行 +### 1. 安装依赖 ```bash -# 构建所有服务 +# 在backend-java根目录下执行 mvn clean install +``` -# 运行单个服务 +### 2. 配置数据库 + +确保MySQL服务正在运行,并创建相应的数据库: + +```sql +CREATE DATABASE IF NOT EXISTS xlxumu_farming; +CREATE DATABASE IF NOT EXISTS xlxumu_user; +``` + +### 3. 运行服务 + +#### 运行farming-service + +```bash cd services/farming-service mvn spring-boot:run ``` -## 配置说明 +服务将在 http://localhost:8081 启动 -所有服务的配置文件位于config-server模块中,通过Spring Cloud Config进行统一管理。 \ No newline at end of file +#### 运行user-center-service + +```bash +cd services/user-center-service +mvn spring-boot:run +``` + +服务将在 http://localhost:8082 启动 + +## 服务端口分配 + +| 服务名称 | 端口 | +|---------|------| +| farming-service | 8081 | +| user-center-service | 8082 | + +## 开发指南 + +1. 所有微服务都继承自根pom.xml +2. 每个服务都有独立的数据库 +3. 使用Spring Boot Actuator进行健康检查 +4. 使用Spring Cloud Gateway作为API网关 + +## 构建和部署 + +```bash +# 构建所有服务 +mvn clean package + +# 构建单个服务 +cd services/farming-service +mvn clean package +``` \ No newline at end of file diff --git a/backend-java/services/farming-service/pom.xml b/backend-java/services/farming-service/pom.xml index ac6f85b..8f37747 100644 --- a/backend-java/services/farming-service/pom.xml +++ b/backend-java/services/farming-service/pom.xml @@ -9,6 +9,7 @@ com.xlxumu backend-java 1.0.0 + ../../pom.xml farming-service diff --git a/backend-java/services/farming-service/src/main/java/com/xlxumu/farm/FarmingServiceApplication.java b/backend-java/services/farming-service/src/main/java/com/xlxumu/farm/FarmingServiceApplication.java new file mode 100644 index 0000000..10862a2 --- /dev/null +++ b/backend-java/services/farming-service/src/main/java/com/xlxumu/farm/FarmingServiceApplication.java @@ -0,0 +1,11 @@ +package com.xlxumu.farm; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class FarmingServiceApplication { + public static void main(String[] args) { + SpringApplication.run(FarmingServiceApplication.class, args); + } +} \ No newline at end of file diff --git a/backend-java/services/farming-service/src/main/resources/application.properties b/backend-java/services/farming-service/src/main/resources/application.properties new file mode 100644 index 0000000..cd30b82 --- /dev/null +++ b/backend-java/services/farming-service/src/main/resources/application.properties @@ -0,0 +1,10 @@ +server.port=8081 + +spring.datasource.url=jdbc:mysql://localhost:3306/xlxumu_farming?useSSL=false&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password= +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect \ No newline at end of file diff --git a/backend-java/services/farming-service/target/classes/application.properties b/backend-java/services/farming-service/target/classes/application.properties new file mode 100644 index 0000000..cd30b82 --- /dev/null +++ b/backend-java/services/farming-service/target/classes/application.properties @@ -0,0 +1,10 @@ +server.port=8081 + +spring.datasource.url=jdbc:mysql://localhost:3306/xlxumu_farming?useSSL=false&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password= +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect \ No newline at end of file diff --git a/backend-java/services/farming-service/target/classes/com/xlxumu/farm/FarmingServiceApplication.class b/backend-java/services/farming-service/target/classes/com/xlxumu/farm/FarmingServiceApplication.class new file mode 100644 index 0000000..40d62e5 Binary files /dev/null and b/backend-java/services/farming-service/target/classes/com/xlxumu/farm/FarmingServiceApplication.class differ diff --git a/backend-java/services/farming-service/target/farming-service-1.0.0.jar b/backend-java/services/farming-service/target/farming-service-1.0.0.jar new file mode 100644 index 0000000..b434703 Binary files /dev/null and b/backend-java/services/farming-service/target/farming-service-1.0.0.jar differ diff --git a/backend-java/services/farming-service/target/maven-archiver/pom.properties b/backend-java/services/farming-service/target/maven-archiver/pom.properties new file mode 100644 index 0000000..e7b6d9c --- /dev/null +++ b/backend-java/services/farming-service/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=farming-service +groupId=com.xlxumu +version=1.0.0 diff --git a/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..d211114 --- /dev/null +++ b/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1 @@ +com/xlxumu/farm/FarmingServiceApplication.class diff --git a/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..11185a5 --- /dev/null +++ b/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1 @@ +/Users/ainongkeji/code/vue/xlxumu/backend-java/services/farming-service/src/main/java/com/xlxumu/farm/FarmingServiceApplication.java diff --git a/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/backend-java/services/farming-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/backend-java/services/user-center-service/pom.xml b/backend-java/services/user-center-service/pom.xml new file mode 100644 index 0000000..2859654 --- /dev/null +++ b/backend-java/services/user-center-service/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + + com.xlxumu + backend-java + 1.0.0 + ../../pom.xml + + + user-center-service + 1.0.0 + jar + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + mysql + mysql-connector-java + 8.0.33 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/backend-java/services/user-center-service/src/main/java/com/xlxumu/user/UserCenterApplication.java b/backend-java/services/user-center-service/src/main/java/com/xlxumu/user/UserCenterApplication.java new file mode 100644 index 0000000..f1510ec --- /dev/null +++ b/backend-java/services/user-center-service/src/main/java/com/xlxumu/user/UserCenterApplication.java @@ -0,0 +1,11 @@ +package com.xlxumu.user; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserCenterApplication { + public static void main(String[] args) { + SpringApplication.run(UserCenterApplication.class, args); + } +} \ No newline at end of file diff --git a/backend-java/services/user-center-service/src/main/resources/application.properties b/backend-java/services/user-center-service/src/main/resources/application.properties new file mode 100644 index 0000000..b9ed493 --- /dev/null +++ b/backend-java/services/user-center-service/src/main/resources/application.properties @@ -0,0 +1,10 @@ +server.port=8082 + +spring.datasource.url=jdbc:mysql://localhost:3306/xlxumu_user?useSSL=false&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password= +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect \ No newline at end of file diff --git a/backend-java/services/user-center-service/target/classes/application.properties b/backend-java/services/user-center-service/target/classes/application.properties new file mode 100644 index 0000000..b9ed493 --- /dev/null +++ b/backend-java/services/user-center-service/target/classes/application.properties @@ -0,0 +1,10 @@ +server.port=8082 + +spring.datasource.url=jdbc:mysql://localhost:3306/xlxumu_user?useSSL=false&serverTimezone=UTC +spring.datasource.username=root +spring.datasource.password= +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect \ No newline at end of file diff --git a/backend-java/services/user-center-service/target/classes/com/xlxumu/user/UserCenterApplication.class b/backend-java/services/user-center-service/target/classes/com/xlxumu/user/UserCenterApplication.class new file mode 100644 index 0000000..cf15c29 Binary files /dev/null and b/backend-java/services/user-center-service/target/classes/com/xlxumu/user/UserCenterApplication.class differ diff --git a/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..660a5a0 --- /dev/null +++ b/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1 @@ +com/xlxumu/user/UserCenterApplication.class diff --git a/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..0747249 --- /dev/null +++ b/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1 @@ +/Users/ainongkeji/code/vue/xlxumu/backend-java/services/user-center-service/src/main/java/com/xlxumu/user/UserCenterApplication.java diff --git a/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/backend-java/services/user-center-service/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/docs/API_DOCUMENTATION_MAINTENANCE.md b/docs/API_DOCUMENTATION_MAINTENANCE.md new file mode 100644 index 0000000..4f3d526 --- /dev/null +++ b/docs/API_DOCUMENTATION_MAINTENANCE.md @@ -0,0 +1,145 @@ +# API文档维护流程 + +## 1. 概述 + +本文档定义了xlxumu项目中API文档的维护流程和规范,适用于Node.js和Java两种技术栈的后端服务。 + +## 2. 维护责任 + +### 2.1 责任分配 +- **Node.js服务**: 由Node.js开发团队负责维护 +- **Java服务**: 由Java开发团队负责维护 +- **架构师**: 负责审核重大变更和规范更新 +- **技术负责人**: 负责日常审核和质量把控 + +### 2.2 维护周期 +- **实时更新**: API变更时必须同步更新文档 +- **定期检查**: 每月进行一次文档准确性检查 +- **版本发布**: 每个版本发布前必须完成文档更新 + +## 3. 更新流程 + +### 3.1 新增API +1. 开发人员在实现API时同步编写文档 +2. 提交代码时包含API文档更新 +3. 技术负责人审核API文档 +4. 合并到主分支 + +### 3.2 修改API +1. 评估变更影响范围 +2. 更新API文档 +3. 标注变更历史 +4. 技术负责人审核 +5. 发布更新 + +### 3.3 删除API +1. 标记API为废弃状态 +2. 提供替代方案说明 +3. 设置废弃时间表 +4. 技术负责人审核 +5. 到期后删除文档 + +## 4. 技术栈特定规范 + +### 4.1 Node.js API文档维护 +- 文档位置: `docs/design/api/[service].md` +- 使用Markdown格式编写 +- 遵循API文档标准规范 + +### 4.2 Java API文档维护 +- 文档位置: `docs/design/api/[service].md` +- 使用Markdown格式编写 +- 遵循API文档标准规范 +- 响应格式需包含timestamp字段 + +## 5. 版本管理 + +### 5.1 版本号规则 +- 采用语义化版本号: `v主版本号.次版本号.修订号` +- 与对应服务版本保持一致 + +### 5.2 版本兼容性 +- **主版本号变更**: 不兼容的API修改 +- **次版本号变更**: 向下兼容的功能性新增 +- **修订号变更**: 向下兼容的问题修正 + +### 5.3 版本发布流程 +1. 确认API文档已更新 +2. 技术负责人审核 +3. 生成版本标签 +4. 发布到文档服务器 + +## 6. 审核机制 + +### 6.1 审核层级 +- **开发人员自检**: 文档完整性和准确性 +- **技术负责人审核**: 技术规范和一致性 +- **架构师审核**: 重大变更和架构影响 + +### 6.2 审核要点 +- API功能描述准确性 +- 请求参数完整性 +- 响应格式正确性 +- 错误码定义完整性 +- 示例代码有效性 + +## 7. 质量保证 + +### 7.1 文档检查清单 +- [ ] 接口概述完整 +- [ ] 请求参数描述准确 +- [ ] 响应示例完整 +- [ ] 错误码定义完整 +- [ ] 示例代码可运行 +- [ ] 版本信息正确 + +### 7.2 自动化检查 +- 使用文档校验工具检查格式 +- 定期运行示例代码验证 +- 自动生成API文档网站 + +## 8. 变更记录 + +### 8.1 记录要求 +每次文档更新需要记录: +- 更新日期 +- 更新内容 +- 更新人员 +- 影响范围 + +### 8.2 记录格式 +```markdown +## [版本号] - [日期] +### 新增 +- [新增内容] + +### 修改 +- [修改内容] + +### 删除 +- [删除内容] +``` + +## 9. 发布与分发 + +### 9.1 发布渠道 +- 内部文档服务器 +- Git仓库 +- API文档网站 + +### 9.2 访问控制 +- 开发团队: 完全访问权限 +- 测试团队: 查看权限 +- 外部合作伙伴: 按需授权 + +## 10. 培训与支持 + +### 10.1 培训计划 +- 新员工入职培训 +- 技术栈专项培训 +- 文档规范培训 + +### 10.2 支持机制 +- 技术负责人提供文档编写支持 +- 定期组织文档评审会议 +- 建立文档问题反馈渠道 \ No newline at end of file diff --git a/docs/API_DOCUMENTATION_STANDARD.md b/docs/API_DOCUMENTATION_STANDARD.md index 0cc54be..1829b4e 100644 --- a/docs/API_DOCUMENTATION_STANDARD.md +++ b/docs/API_DOCUMENTATION_STANDARD.md @@ -1,195 +1,174 @@ -# API 文档格式规范标准 +# API文档规范标准 -## 1. 文档结构规范 +## 1. 概述 -### 1.1 文档头部 -```markdown -# [系统名称] API 文档 (v[版本号]) +本文档定义了xlxumu项目中API文档的编写标准和规范,适用于Node.js和Java两种技术栈的后端服务。 -## 1. 接口概述 +## 2. 文档结构 -### 1.1 功能范围 -- [功能点1] -- [功能点2] -- [功能点3] +每个API文档应包含以下部分: -### 1.2 基础路径 -`/api/v[版本号]/[系统名称]` +1. 接口概述 +2. 技术栈说明 +3. 公共参数说明 +4. 接口列表 +5. 错误码定义 +6. 示例代码 -### 1.3 权限控制 -- 公开接口(无需认证):[接口描述] -- 管理接口(需要认证):[接口描述] +## 3. 技术栈规范 -### 1.4 全局错误码 -| 状态码 | 说明 | -|--------|--------------------| -| 400 | 请求参数无效 | -| 401 | 未授权 | -| 403 | 权限不足 | -| 404 | 资源不存在 | -| 500 | 服务器内部错误 | -``` +### 3.1 Node.js技术栈API规范 -## 2. 接口定义规范 +#### 3.1.1 基本信息 +- 协议:HTTP/HTTPS +- 数据格式:JSON +- 字符编码:UTF-8 +- 版本控制:通过URL路径实现(如/v1/) -### 2.1 接口格式 -```markdown -### [序号].[序号] [接口名称] -``` -[HTTP方法] [接口路径] +#### 3.1.2 请求规范 +- Content-Type: application/json +- Authorization: Bearer {token} +- 请求体采用JSON格式 -**请求参数**: -| 参数名 | 类型 | 必填 | 说明 | -|-------------|--------|------|--------------------| -| param1 | string | 是 | 参数说明 | -| param2 | number | 否 | 参数说明 | - -**响应示例**: +#### 3.1.3 响应规范 ```json { - "status": "success", + "code": 200, + "message": "success", + "data": {} +} +``` + +### 3.2 Java技术栈API规范 + +#### 3.2.1 基本信息 +- 协议:HTTP/HTTPS +- 数据格式:JSON +- 字符编码:UTF-8 +- 版本控制:通过URL路径实现(如/v1/) + +#### 3.2.2 请求规范 +- Content-Type: application/json +- Authorization: Bearer {token} +- 请求体采用JSON格式 + +#### 3.2.3 响应规范 +```json +{ + "code": 200, + "message": "success", + "data": {}, + "timestamp": "2024-01-20T10:00:00Z" +} +``` + +## 4. 公共参数说明 + +### 4.1 请求头 +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| Authorization | string | 是 | 认证令牌,格式为Bearer {token} | +| Content-Type | string | 是 | application/json | +| X-Request-ID | string | 否 | 请求唯一标识 | + +### 4.2 响应结构 +| 字段名 | 类型 | 说明 | +|--------|------|------| +| code | integer | 状态码 | +| message | string | 响应消息 | +| data | object/array | 响应数据 | +| timestamp | string | 响应时间戳(Java API特有) | + +## 5. 接口列表规范 + +每个接口文档应包含以下信息: + +### 5.1 接口基本信息 +- 接口名称 +- 请求方法 (GET/POST/PUT/DELETE) +- 请求路径 +- 接口描述 + +### 5.2 请求参数 +| 参数名 | 类型 | 必填 | 说明 | +|--------|------|------|------| +| 参数1 | string | 是 | 参数说明 | + +### 5.3 请求示例 +```bash +curl -X POST "http://api.example.com/v1/users" \ + -H "Authorization: Bearer token" \ + -H "Content-Type: application/json" \ + -d '{"name": "张三"}' +``` + +### 5.4 响应参数 +| 字段名 | 类型 | 说明 | +|--------|------|------| +| 字段1 | string | 字段说明 | + +### 5.5 响应示例 +```json +{ + "code": 200, + "message": "success", "data": { - "field1": "value1", - "field2": "value2" + "id": 1, + "name": "张三" } } ``` -### 2.2 错误响应格式 -```json -{ - "status": "error", - "code": "ERROR_CODE", - "message": "错误描述信息" -} -``` +## 6. 错误码定义 -## 3. 数据类型规范 +### 6.1 通用错误码 +| 错误码 | 说明 | +|--------|------| +| 200 | 请求成功 | +| 400 | 请求参数错误 | +| 401 | 未授权 | +| 403 | 禁止访问 | +| 404 | 资源不存在 | +| 500 | 服务器内部错误 | -### 3.1 基本数据类型 -- `string`: 字符串类型 -- `number`: 数字类型 -- `boolean`: 布尔类型 -- `array`: 数组类型 -- `object`: 对象类型 -- `file`: 文件类型 +### 6.2 业务错误码 +业务错误码从10000开始定义,每个服务有独立的错误码范围。 -### 3.2 日期时间格式 -- 日期: YYYY-MM-DD -- 时间: YYYY-MM-DDTHH:mm:ssZ (ISO 8601) +## 7. 示例代码 -## 4. 权限控制规范 - -### 4.1 权限级别 -- **公开**: 无需认证即可访问 -- **用户**: 需要用户登录认证 -- **管理员**: 需要管理员权限 -- **系统管理员**: 需要系统管理员权限 - -### 4.2 权限标识 -在接口定义中明确标注所需权限级别 - -## 5. 版本管理规范 - -### 5.1 版本号格式 -采用语义化版本号: `v主版本号.次版本号.修订号` - -### 5.2 版本兼容性 -- 主版本号变更: 不兼容的API修改 -- 次版本号变更: 向下兼容的功能性新增 -- 修订号变更: 向下兼容的问题修正 - -## 6. 安全规范 - -### 6.1 数据传输 -- 敏感数据必须使用HTTPS加密传输 -- 密码等敏感信息需要加密存储 - -### 6.2 身份认证 -- 使用JWT Token进行身份认证 -- Token有效期设置合理时间 - -## 7. 文档维护规范 - -### 7.1 更新记录 -每次文档更新需要记录: -- 更新日期 -- 更新内容 -- 更新人员 - -### 7.2 审核机制 -- 新增接口需要经过技术负责人审核 -- 重大变更需要经过架构师审核 - -## 8. 示例模板 - -```markdown -# 示例系统 API 文档 (v1.0.0) - -## 1. 接口概述 - -### 1.1 功能范围 -- 用户管理 -- 数据查询 -- 系统配置 - -### 1.2 基础路径 -`/api/v1/example` - -### 1.3 权限控制 -- 公开接口(无需认证):数据查询 -- 管理接口(需要认证):用户管理、系统配置 - -### 1.4 全局错误码 -| 状态码 | 说明 | -|--------|--------------------| -| 400 | 请求参数无效 | -| 401 | 未授权 | -| 403 | 权限不足 | -| 404 | 资源不存在 | -| 500 | 服务器内部错误 | - -## 2. 接口明细 - -### 2.1 获取用户列表 -``` -GET /users -``` - -**请求参数**: -| 参数名 | 类型 | 必填 | 说明 | -|-------------|--------|------|--------------------| -| page | number | 否 | 页码(默认1) | -| limit | number | 否 | 每页数量(默认10) | - -**响应示例**: -```json -{ - "status": "success", - "data": { - "items": [ - { - "id": 1, - "username": "user1", - "email": "user1@example.com" - } - ], - "total": 100, - "page": 1, - "limit": 10 +### 7.1 JavaScript示例 +```javascript +// 使用axios调用API +const response = await axios.post('/api/v1/users', { + name: '张三' +}, { + headers: { + 'Authorization': 'Bearer token' } -} -``` +}); ``` -## 9. 检查清单 +### 7.2 Java示例 +```java +// 使用RestTemplate调用API +HttpHeaders headers = new HttpHeaders(); +headers.set("Authorization", "Bearer token"); +HttpEntity entity = new HttpEntity<>(user, headers); +ResponseEntity response = restTemplate.postForEntity("/api/v1/users", entity, ApiResponse.class); +``` -- [ ] 文档头部格式符合规范 -- [ ] 接口定义格式统一 -- [ ] 数据类型标注准确 -- [ ] 权限控制明确标注 -- [ ] 错误响应格式规范 -- [ ] 版本号管理规范 -- [ ] 安全要求明确 -- [ ] 示例代码完整 -``` \ No newline at end of file +## 8. 文档维护 + +### 8.1 更新频率 +- API变更时必须同步更新文档 +- 每月定期检查文档准确性 + +### 8.2 版本控制 +- 文档版本与API版本保持一致 +- 重大变更需要更新版本号 + +### 8.3 审核流程 +1. 文档编写完成 +2. 技术负责人审核 +3. 团队评审 +4. 发布更新 \ No newline at end of file diff --git a/docs/PROJECT_STRUCTURE.md b/docs/PROJECT_STRUCTURE.md index 0c0a112..74ac6d4 100644 --- a/docs/PROJECT_STRUCTURE.md +++ b/docs/PROJECT_STRUCTURE.md @@ -1,193 +1,185 @@ -# 项目目录结构说明 +# 项目结构说明 -## 整体结构 +## 1. 项目总体结构 ``` xlxumu/ -├── backend-java/ # 后端服务目录 (Java微服务架构) -├── admin-system/ # 管理后台系统目录 -├── website/ # 官网项目目录 -├── mini_program/ # 微信小程序矩阵目录 -├── docs/ # 项目文档目录 -├── test/ # 测试文件目录 -├── deployment/ # 部署配置目录 -└── scripts/ # 工具脚本目录 +├── admin-system/ # 管理后台前端 +├── backend-java/ # Java后端服务 +├── backend/ # Node.js后端服务 +├── docs/ # 项目文档 +├── frontend/ # 用户端前端 +├── miniprogram/ # 微信小程序 +└── README.md # 项目说明 ``` -## 详细目录说明 +## 2. 前端项目结构 -### 1. 后端服务目录 (backend-java/) -``` -backend-java/ -├── api/ # API网关模块 -├── gateway/ # Spring Cloud Gateway网关服务 -├── registry/ # Eureka服务注册中心 -├── config-server/ # Spring Cloud配置中心 -├── services/ # 微服务模块 -│ ├── farming-service/ # 养殖管理服务 -│ ├── finance-service/ # 金融服务 -│ ├── government-service/ # 政府监管服务 -│ ├── trade-service/ # 交易管理服务 -│ ├── mall-service/ # 商城管理服务 -│ ├── data-platform-service/ # 数据中台服务 -│ ├── ai-service/ # AI能力服务 -│ └── user-center-service/ # 用户中心服务 -├── common/ # 公共模块 -├── docs/ # 后端文档 -├── scripts/ # 后端脚本 -└── pom.xml # Maven父项目配置文件 -``` - -#### 微服务模块结构 -每个微服务模块都遵循标准的Maven项目结构: -``` -{service-name}/ -├── src/ -│ ├── main/ -│ │ ├── java/com/xlxumu/{service}/ -│ │ └── resources/ -│ └── test/ -│ └── java/com/xlxumu/{service}/ -└── pom.xml -``` - -### 2. 管理后台系统目录 (admin-system/) +### 2.1 admin-system (管理后台) ``` admin-system/ -├── farming-management/ # 养殖管理系统 -├── bank-supervision/ # 银行监管系统 -├── insurance-supervision/ # 保险监管系统 -├── government-platform/ # 政府监管平台 -├── cattle-trading/ # 活牛交易系统 -├── mall-management/ # 商城管理系统 -└── dashboard/ # 大屏可视化系统 +├── public/ +├── src/ +│ ├── api/ # API接口 +│ ├── assets/ # 静态资源 +│ ├── components/ # 公共组件 +│ ├── layout/ # 布局组件 +│ ├── router/ # 路由配置 +│ ├── store/ # 状态管理 +│ ├── styles/ # 样式文件 +│ ├── utils/ # 工具函数 +│ ├── views/ # 页面组件 +│ └── App.vue +├── .env # 环境变量 +├── .eslintrc.js # ESLint配置 +├── package.json # 依赖配置 +└── vue.config.js # Vue配置 ``` -### 3. 官网项目目录 (website/) +### 2.2 frontend (用户端) ``` -website/ -├── index.html # 首页 -├── about.html # 关于页面 -├── data.html # 数据展示页面 -├── news.html # 新闻页面 -├── css/ # 样式文件 -├── js/ # JavaScript文件 -└── images/ # 图片资源 +frontend/ +├── public/ +├── src/ +│ ├── api/ # API接口 +│ ├── assets/ # 静态资源 +│ ├── components/ # 公共组件 +│ ├── composables/ # 组合式函数 +│ ├── layout/ # 布局组件 +│ ├── pages/ # 页面组件 +│ ├── router/ # 路由配置 +│ ├── stores/ # 状态管理 +│ ├── styles/ # 样式文件 +│ ├── utils/ # 工具函数 +│ └── App.vue +├── .env # 环境变量 +├── .eslintrc.js # ESLint配置 +├── nuxt.config.ts # Nuxt配置 +├── package.json # 依赖配置 +└── tsconfig.json # TypeScript配置 ``` -### 4. 微信小程序矩阵目录 (mini_program/) +### 2.3 miniprogram (微信小程序) ``` -mini_program/ -├── beef-mall/ # 牛肉商城小程序 -├── farming-manager/ # 养殖管理小程序 -├── bank-supervision/ # 银行监管小程序 -├── insurance-supervision/ # 保险监管小程序 -├── cattle-trading/ # 活牛交易小程序 -├── gov-supervision/ # 政府监管小程序 -├── data-platform/ # 数据中台小程序 -└── ai-capabilities/ # AI能力小程序 +miniprogram/ +├── components/ # 自定义组件 +├── images/ # 图片资源 +├── pages/ # 页面文件 +├── utils/ # 工具函数 +├── app.js # 小程序逻辑 +├── app.json # 小程序公共设置 +├── app.wxss # 公共样式 +├── package.json # 依赖配置 +└── project.config.json # 项目配置 ``` -### 5. 项目文档目录 (docs/) +## 3. 后端项目结构 + +### 3.1 Java后端 (backend-java) +``` +backend-java/ +├── README.md # 项目说明 +├── pom.xml # Maven配置 +├── common/ # 公共模块 +│ ├── pom.xml +│ └── src/ +├── config-server/ # 配置中心 +│ ├── pom.xml +│ └── src/ +├── gateway/ # 网关服务 +│ ├── pom.xml +│ └── src/ +├── registry/ # 注册中心 +│ ├── pom.xml +│ └── src/ +├── services/ # 业务服务 +│ ├── farming-service/ # 养殖管理服务 (端口: 8081) +│ │ ├── pom.xml +│ │ └── src/ +│ ├── user-center-service/ # 用户中心服务 (端口: 8082) +│ │ ├── pom.xml +│ │ └── src/ +│ ├── trade-service/ # 交易服务 (端口: 8083) +│ │ ├── pom.xml +│ │ └── src/ +│ ├── finance-service/ # 金融服务 (端口: 8084) +│ │ ├── pom.xml +│ │ └── src/ +│ ├── data-platform-service/ # 数据平台服务 (端口: 8085) +│ │ ├── pom.xml +│ │ └── src/ +│ ├── government-service/ # 政务服务 (端口: 8086) +│ │ ├── pom.xml +│ │ └── src/ +│ ├── dashboard-service/ # 大屏服务 (端口: 8087) +│ │ ├── pom.xml +│ │ └── src/ +│ └── mall-service/ # 商城服务 (端口: 8088) +│ ├── pom.xml +│ └── src/ +└── scripts/ # 部署脚本 +``` + +### 3.2 Node.js后端 (backend) +``` +backend/ +├── api/ # API接口 +├── config/ # 配置文件 +├── controllers/ # 控制器 +├── middleware/ # 中间件 +├── models/ # 数据模型 +├── routes/ # 路由配置 +├── services/ # 业务逻辑 +├── utils/ # 工具函数 +├── app.js # 应用入口 +├── package.json # 依赖配置 +└── server.js # 服务启动 +``` + +## 4. 文档结构 + ``` docs/ -├── design/ # 设计文档 -│ ├── ARCHITECTURE.md # 系统架构设计 -│ ├── DEVELOPMENT_PLAN.md # 开发计划 -│ ├── api/ # API设计文档 -│ ├── database/ # 数据库设计文档 -│ └── system_architecture.svg # 系统架构图 -├── requirements/ # 需求文档 -│ ├── SYSTEM_REQUIREMENTS.md # 系统需求 -│ ├── FARMING_MANAGEMENT_REQUIREMENTS.md # 养殖管理需求 -│ ├── FINANCIAL_SERVICES_REQUIREMENTS.md # 金融服务需求 -│ ├── GOVERNMENT_SUPERVISION_REQUIREMENTS.md # 政府监管需求 -│ ├── MALL_MANAGEMENT_REQUIREMENTS.md # 商城管理需求 -│ ├── MARKET_TRADING_REQUIREMENTS.md # 市场交易需求 -│ ├── DATA_PLATFORM_REQUIREMENTS.md # 数据中台需求 -│ ├── AI_CAPABILITIES_REQUIREMENTS.md # AI能力需求 -│ ├── SYSTEM_INTEGRATION_REQUIREMENTS.md # 系统集成需求 -│ └── WEBSITE_REQUIREMENTS.md # 官网需求 -├── development_plans/ # 开发计划文档 -│ ├── backend_api_development_plan.md # 后端API开发计划 -│ ├── farming_management_development_plan.md # 养殖管理开发计划 -│ ├── bank_supervision_development_plan.md # 银行监管开发计划 -│ ├── insurance_supervision_development_plan.md # 保险监管开发计划 -│ ├── government_platform_development_plan.md # 政府平台开发计划 -│ ├── cattle_trading_development_plan.md # 活牛交易开发计划 -│ ├── mall_management_development_plan.md # 商城管理开发计划 -│ ├── dashboard_development_plan.md # 大屏可视化开发计划 -│ └── website_development_plan.md # 官网开发计划 -├── API_DOCUMENTATION_STANDARD.md # API文档规范标准 -├── API_DOCUMENTATION_CHECKLIST.md # API文档检查清单 -├── DOCUMENTATION_MAINTENANCE_PROCESS.md # 文档维护流程 -└── PROJECT_STRUCTURE.md # 项目结构说明(本文档) +├── README.md # 文档目录说明 +├── API_DOCUMENTATION_STANDARD.md # API文档标准 +├── API_DOCUMENTATION_MAINTENANCE.md # API文档维护流程 +├── PROJECT_STRUCTURE.md # 项目结构说明 +├── design/ # 设计文档 +│ ├── ARCHITECTURE.md # 系统架构设计 +│ ├── DEVELOPMENT_PLAN.md # 开发计划 +│ ├── api/ # API设计 +│ └── database/ # 数据库设计 +├── development_plans/ # 开发计划 +└── requirements/ # 需求文档 ``` -### 6. 测试文件目录 (test/) -``` -test/ -├── unit/ # 单元测试 -├── integration/ # 集成测试 -├── e2e/ # 端到端测试 -└── performance/ # 性能测试 -``` +## 5. 部署配置 -### 7. 部署配置目录 (deployment/) -``` -deployment/ -├── docker/ # Docker配置 -├── kubernetes/ # Kubernetes配置 -├── nginx/ # Nginx配置 -├── scripts/ # 部署脚本 -└── README.md # 部署说明文档 -``` +### 5.1 环境配置 +- `.env`: 开发环境配置 +- `.env.staging`: 测试环境配置 +- `.env.production`: 生产环境配置 -### 8. 工具脚本目录 (scripts/) -``` -scripts/ -└── update_api_docs.py # API文档更新脚本 -``` +### 5.2 Docker配置 +- `docker-compose.yml`: Docker编排配置 +- `Dockerfile`: Docker镜像配置 -## 目录命名规范 +## 6. 技术栈说明 -1. **后端目录**: 使用英文单数形式,如 `backend-java/` -2. **前端目录**: 使用英文单数形式,如 `admin-system/` -3. **文档目录**: 使用英文复数形式,如 `docs/` -4. **子目录**: 使用英文连字符分隔,如 `farming-management/` -5. **API目录**: 使用英文单数形式,如 `api/farming/` +### 6.1 前端技术栈 +- Vue 3 + Element Plus (管理后台) +- Nuxt 3 (用户端) +- 微信小程序原生开发 -## 开发规范 +### 6.2 后端技术栈 +- Java Spring Boot (核心服务) +- Node.js Express (部分服务) +- MySQL (主数据库) +- Redis (缓存) +- RabbitMQ (消息队列) -1. **模块化开发**: 每个功能模块独立开发,便于维护和扩展 -2. **前后端分离**: 后端提供RESTful API,前端通过API调用数据 -3. **文档驱动**: 所有功能开发前必须先完成需求文档和设计文档 -4. **测试覆盖**: 每个模块都需要有相应的测试用例 -5. **代码规范**: 遵循统一的代码风格和命名规范 - -## 部署说明 - -1. **独立部署**: 每个子系统可以独立部署和运行 -2. **微服务架构**: 后端采用微服务架构,支持水平扩展 -3. **容器化**: 支持Docker容器化部署 -4. **自动化部署**: 提供自动化部署脚本和配置 - -## 维护说明 - -1. **文档更新**: 任何代码变更都需要同步更新相关文档 -2. **版本控制**: 使用Git进行版本控制,遵循语义化版本规范 -3. **代码审查**: 所有代码提交都需要经过代码审查 -4. **持续集成**: 配置CI/CD流水线,自动化测试和部署 - -## 相关文档 - -- [API文档规范标准](./API_DOCUMENTATION_STANDARD.md) -- [API文档检查清单](./API_DOCUMENTATION_CHECKLIST.md) -- [文档维护流程](./DOCUMENTATION_MAINTENANCE_PROCESS.md) -- [系统架构设计](./design/ARCHITECTURE.md) -- [开发计划](./design/DEVELOPMENT_PLAN.md) - ---- - -**最后更新**: 2024年1月20日 -**版本**: v1.0.0 \ No newline at end of file +### 6.3 DevOps工具 +- Git (版本控制) +- Jenkins (持续集成) +- Docker (容器化) +- Kubernetes (容器编排) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index a974392..22032b9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,91 +1,126 @@ -# 项目文档 +# xlxumu项目文档 -## 概述 +## 项目概述 -本文档目录包含了锡林郭勒盟智慧养殖数字化管理平台的所有相关文档。 +xlxumu是一个综合性的畜牧管理系统,旨在为畜牧业提供全面的数字化解决方案。该系统涵盖了从养殖管理、金融服务、政府监管到电商交易等各个环节,通过现代化的技术架构和用户友好的界面设计,提升畜牧业的管理效率和经济效益。 -## 文档列表 +## 文档结构 -### 1. 架构文档 -- [系统架构文档](./design/ARCHITECTURE.md) - 系统整体架构设计,包含技术栈、系统架构图、前端系统架构、后端系统架构、用户权限管理架构、大屏可视化系统架构、系统集成架构、性能优化策略和部署架构 -- [开发计划文档](./design/DEVELOPMENT_PLAN.md) - 项目开发计划和时间安排 +``` +docs/ +├── requirements/ # 需求文档 +├── design/ # 设计文档 +├── development_plans/ # 开发计划 +├── API_DOCUMENTATION_STANDARD.md # API文档标准 +├── API_DOCUMENTATION_CHECKLIST.md # API文档检查清单 +├── DOCUMENTATION_MAINTENANCE_PROCESS.md # 文档维护流程 +├── PROJECT_STRUCTURE.md # 项目结构说明 +└── README.md # 文档目录说明(当前文件) +``` -### 2. 需求文档 -- [系统需求文档](./requirements/SYSTEM_REQUIREMENTS.md) - 系统非功能性需求 -- [养殖管理系统需求文档](./requirements/FARMING_MANAGEMENT_REQUIREMENTS.md) - 养殖管理系统的功能性需求 -- [金融服务系统需求文档](./requirements/FINANCIAL_SERVICES_REQUIREMENTS.md) - 金融服务系统的功能性需求 -- [政府监管系统需求文档](./requirements/GOVERNMENT_SUPERVISION_REQUIREMENTS.md) - 政府监管系统的功能性需求 -- [市场交易系统需求文档](./requirements/MARKET_TRADING_REQUIREMENTS.md) - 市场交易系统的功能性需求 -- [商城管理系统需求文档](./requirements/MALL_MANAGEMENT_REQUIREMENTS.md) - 商城管理系统的功能性需求 -- [数据中台系统需求文档](./requirements/DATA_PLATFORM_REQUIREMENTS.md) - 数据中台系统的功能性需求 -- [AI能力系统需求文档](./requirements/AI_CAPABILITIES_REQUIREMENTS.md) - AI能力系统的功能性需求 -- [官网需求文档](./requirements/WEBSITE_REQUIREMENTS.md) - 官网的功能性需求 -- [大屏可视化系统需求文档](./requirements/dashboard_requirements.md) - 大屏可视化系统的功能性需求 -- [系统集成需求文档](./requirements/SYSTEM_INTEGRATION_REQUIREMENTS.md) - 系统集成需求 -- 微信小程序需求文档: - - [养殖户小程序需求文档](./requirements/farming_app_requirements.md) - 养殖户小程序的功能性需求 - - [金融服务小程序需求文档](./requirements/finance_app_requirements.md) - 金融服务小程序的功能性需求 - - [政府监管小程序需求文档](./requirements/gov_app_requirements.md) - 政府监管小程序的功能性需求 - - [市场交易小程序需求文档](./requirements/trading_app_requirements.md) - 市场交易小程序的功能性需求 - - [数据中台小程序需求文档](./requirements/data_platform_app_requirements.md) - 数据中台小程序的功能性需求 - - [AI能力小程序需求文档](./requirements/ai_app_requirements.md) - AI能力小程序的功能性需求 - - [牛肉商城小程序需求文档](./requirements/mall_app_requirements.md) - 牛肉商城小程序的功能性需求 +## 需求文档 (requirements/) -### 3. 设计文档 -- [养殖管理API](./design/api/farming.md) - 养殖管理相关接口 -- [金融服务API](./design/api/finance.md) - 金融服务相关接口 -- [政府监管API](./design/api/government.md) - 政府监管相关接口 -- [市场交易API](./design/api/trade.md) - 市场交易相关接口 -- [数据中台API](./design/api/data-platform.md) - 数据中台相关接口 -- [用户中心API](./design/api/user-center.md) - 用户中心相关接口 -- [官网API](./design/api/website.md) - 官网相关接口 -- [大屏可视化API](./design/api/dashboard.md) - 大屏可视化相关接口 -- 微信小程序API: - - [养殖户小程序API](./design/api/miniprograms/farming-app.md) - 养殖户小程序相关接口 - - [政务人员小程序API](./design/api/miniprograms/gov-app.md) - 政务人员小程序相关接口 - - [商户小程序API](./design/api/miniprograms/merchant-app.md) - 商户小程序相关接口 - - [普通用户小程序API](./design/api/miniprograms/user-app.md) - 普通用户小程序相关接口 +### 系统级需求 +- [SYSTEM_REQUIREMENTS.md](requirements/SYSTEM_REQUIREMENTS.md) - 系统整体需求 +- [SYSTEM_INTEGRATION_REQUIREMENTS.md](requirements/SYSTEM_INTEGRATION_REQUIREMENTS.md) - 系统集成需求 -### 4. 技术文档 -- 数据库设计文档 (位于[backend-java/services/farming-service/src/main/resources/sql](file:///Users/ainongkeji/code/vue/xlxumu/backend-java/services/farming-service/src/main/resources/sql)目录) -- 前端组件文档 (各前端项目中) -- 部署文档 ([deployment/README.md](file:///Users/ainongkeji/code/vue/xlxumu/deployment/README.md)) +### 业务模块需求 +- [FARMING_MANAGEMENT_REQUIREMENTS.md](requirements/FARMING_MANAGEMENT_REQUIREMENTS.md) - 养殖管理需求 +- [FINANCIAL_SERVICES_REQUIREMENTS.md](requirements/FINANCIAL_SERVICES_REQUIREMENTS.md) - 金融服务需求 +- [GOVERNMENT_SUPERVISION_REQUIREMENTS.md](requirements/GOVERNMENT_SUPERVISION_REQUIREMENTS.md) - 政府监管需求 +- [MARKET_TRADING_REQUIREMENTS.md](requirements/MARKET_TRADING_REQUIREMENTS.md) - 市场交易需求 +- [MALL_MANAGEMENT_REQUIREMENTS.md](requirements/MALL_MANAGEMENT_REQUIREMENTS.md) - 商城管理需求 +- [DATA_PLATFORM_REQUIREMENTS.md](requirements/DATA_PLATFORM_REQUIREMENTS.md) - 数据平台需求 +- [AI_CAPABILITIES_REQUIREMENTS.md](requirements/AI_CAPABILITIES_REQUIREMENTS.md) - AI能力需求 +- [WEBSITE_REQUIREMENTS.md](requirements/WEBSITE_REQUIREMENTS.md) - 官网需求 +- [RAISING_MANAGEMENT_REQUIREMENTS.md](requirements/RAISING_MANAGEMENT_REQUIREMENTS.md) - 养殖管理需求 -### 5. 各系统详细开发计划 -- [养殖管理系统开发计划](./development_plans/farming_management_development_plan.md) - 养殖管理系统的详细开发计划 -- [银行监管系统开发计划](./development_plans/bank_supervision_development_plan.md) - 银行监管系统的详细开发计划 -- [保险监管系统开发计划](./development_plans/insurance_supervision_development_plan.md) - 保险监管系统的详细开发计划 -- [政府监管平台开发计划](./development_plans/government_platform_development_plan.md) - 政府监管平台的详细开发计划 -- [活牛交易系统开发计划](./development_plans/cattle_trading_development_plan.md) - 活牛交易系统的详细开发计划 -- [商城管理系统开发计划](./development_plans/mall_management_development_plan.md) - 商城管理系统的详细开发计划 -- [官网开发计划](./development_plans/website_development_plan.md) - 官网的详细开发计划 -- [后端API服务开发计划](./development_plans/backend_api_development_plan.md) - 后端API服务的详细开发计划 -- [大屏可视化系统开发计划](./development_plans/dashboard_development_plan.md) - 大屏可视化系统的详细开发计划 +### 小程序需求 +- [farming_app_requirements.md](requirements/farming_app_requirements.md) - 养殖管理小程序需求 +- [finance_app_requirements.md](requirements/finance_app_requirements.md) - 金融小程序需求 +- [gov_app_requirements.md](requirements/gov_app_requirements.md) - 政府监管小程序需求 +- [trading_app_requirements.md](requirements/trading_app_requirements.md) - 交易小程序需求 +- [mall_app_requirements.md](requirements/mall_app_requirements.md) - 商城小程序需求 +- [data_platform_app_requirements.md](requirements/data_platform_app_requirements.md) - 数据平台小程序需求 +- [ai_app_requirements.md](requirements/ai_app_requirements.md) - AI能力小程序需求 +- [dashboard_requirements.md](requirements/dashboard_requirements.md) - 仪表板需求 -### 6. 微信小程序详细开发计划 -- [牛肉商城小程序开发计划](./development_plans/miniprograms/beef_mall_miniprogram_development_plan.md) - 牛肉商城小程序的详细开发计划 -- [养殖管理小程序开发计划](./development_plans/miniprograms/farming_management_miniprogram_development_plan.md) - 养殖管理小程序的详细开发计划 -- [银行监管小程序开发计划](./development_plans/miniprograms/bank_supervision_miniprogram_development_plan.md) - 银行监管小程序的详细开发计划 -- [保险监管小程序开发计划](./development_plans/miniprograms/insurance_supervision_miniprogram_development_plan.md) - 保险监管小程序的详细开发计划 -- [活牛交易小程序开发计划](./development_plans/miniprograms/cattle_trading_miniprogram_development_plan.md) - 活牛交易小程序的详细开发计划 +## 设计文档 (design/) -### 7. 用户文档 -- 用户手册 (待编写) -- 管理员手册 (待编写) -- 操作指南 (待编写) +### 系统架构设计 +- [ARCHITECTURE.md](design/ARCHITECTURE.md) - 系统架构设计 +- [system_architecture.svg](design/system_architecture.svg) - 系统架构图 -### 8. 其他文档 -- 测试报告 (待编写) -- 项目总结报告 (待编写) +### 数据库设计 +- [database/README.md](design/database/README.md) - 数据库设计说明 +- [database/DESIGN.md](design/database/DESIGN.md) - 数据库详细设计 + +### API设计 +- [api/farming.md](design/api/farming.md) - 养殖管理API设计 +- [api/finance.md](design/api/finance.md) - 金融服务API设计 +- [api/government.md](design/api/government.md) - 政府监管API设计 +- [api/trade.md](design/api/trade.md) - 交易管理API设计 +- [api/data-platform.md](design/api/data-platform.md) - 数据平台API设计 +- [api/user-center.md](design/api/user-center.md) - 用户中心API设计 +- [api/dashboard.md](design/api/dashboard.md) - 仪表板API设计 +- [api/website.md](design/api/website.md) - 官网API设计 + +### 小程序API设计 +- [api/miniprograms/](design/api/miniprograms/) - 小程序API设计目录 + +## 开发计划 (development_plans/) + +### 后端开发计划 +- [backend_api_development_plan.md](development_plans/backend_api_development_plan.md) - 后端API开发计划 + +### 前端开发计划 +- [dashboard_development_plan.md](development_plans/dashboard_development_plan.md) - 仪表板开发计划 +- [farming_management_development_plan.md](development_plans/farming_management_development_plan.md) - 养殖管理开发计划 +- [cattle_trading_development_plan.md](development_plans/cattle_trading_development_plan.md) - 牛只交易开发计划 +- [mall_management_development_plan.md](development_plans/mall_management_development_plan.md) - 商城管理开发计划 +- [bank_supervision_development_plan.md](development_plans/bank_supervision_development_plan.md) - 银行监管开发计划 +- [insurance_supervision_development_plan.md](development_plans/insurance_supervision_development_plan.md) - 保险监管开发计划 +- [government_platform_development_plan.md](development_plans/government_platform_development_plan.md) - 政府平台开发计划 +- [website_development_plan.md](development_plans/website_development_plan.md) - 官网开发计划 + +### 小程序开发计划 +- [farming_management_miniprogram_development_plan.md](development_plans/farming_management_miniprogram_development_plan.md) - 养殖管理小程序开发计划 +- [cattle_trading_miniprogram_development_plan.md](development_plans/cattle_trading_miniprogram_development_plan.md) - 牛只交易小程序开发计划 +- [beef_mall_miniprogram_development_plan.md](development_plans/beef_mall_miniprogram_development_plan.md) - 牛肉商城小程序开发计划 +- [bank_supervision_miniprogram_development_plan.md](development_plans/bank_supervision_miniprogram_development_plan.md) - 银行监管小程序开发计划 +- [insurance_supervision_miniprogram_development_plan.md](development_plans/insurance_supervision_miniprogram_development_plan.md) - 保险监管小程序开发计划 + +## 标准与规范 + +- [API_DOCUMENTATION_STANDARD.md](API_DOCUMENTATION_STANDARD.md) - API文档标准 +- [API_DOCUMENTATION_CHECKLIST.md](API_DOCUMENTATION_CHECKLIST.md) - API文档检查清单 +- [DOCUMENTATION_MAINTENANCE_PROCESS.md](DOCUMENTATION_MAINTENANCE_PROCESS.md) - 文档维护流程 +- [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md) - 项目结构说明 + +## 技术架构更新 + +随着项目的发展,我们新增了Java版本后端技术栈: + +### Java后端技术栈 +- Java 8+ + Spring Boot 2.7.x +- Spring Cloud 2021.x +- Maven 3.8.x +- MySQL 8.0 + +### 微服务架构 +项目现在采用微服务架构,包含以下服务: +- farming-service (养殖管理服务) +- user-center-service (用户中心服务) +- finance-service (金融服务) +- government-service (政府监管服务) +- trade-service (交易管理服务) +- mall-service (商城管理服务) +- data-platform-service (数据平台服务) +- ai-service (AI能力服务) +- gateway (网关服务) +- config-server (配置服务器) +- registry (服务注册中心) ## 文档维护 -所有文档应保持最新状态,与代码实现保持一致。当功能发生变化时,应及时更新相关文档。 - -## 贡献指南 - -如果您需要更新文档,请遵循以下步骤: -1. Fork项目仓库 -2. 创建新的文档分支 -3. 进行文档修改 -4. 提交Pull Request \ No newline at end of file +请参考 [DOCUMENTATION_MAINTENANCE_PROCESS.md](DOCUMENTATION_MAINTENANCE_PROCESS.md) 了解文档维护流程和规范。 \ No newline at end of file diff --git a/docs/design/ARCHITECTURE.md b/docs/design/ARCHITECTURE.md index ba217df..4856275 100644 --- a/docs/design/ARCHITECTURE.md +++ b/docs/design/ARCHITECTURE.md @@ -1,502 +1,363 @@ -# 系统架构文档 +# 系统架构设计文档 ## 1. 概述 -本项目是一个综合性的畜牧业数字化管理平台,主要面向锡林郭勒盟地区的养殖产业,包含官网展示、后台管理、移动端小程序、大屏可视化等多个子系统。平台集成了养殖管理、金融服务(银行监管、保险监管)、政府监管、牛只交易、牛肉商城、数据分析等功能模块,旨在通过数字化手段提升整个产业链的管理效率和透明度。 +本项目采用前后端分离的架构设计,后端基于双技术栈(Java Spring Boot + Node.js)的微服务架构,前端采用Vue.js和Nuxt.js技术栈,支持Web端和微信小程序等多种客户端。 ## 2. 技术栈 ### 2.1 前端技术栈 -- **官网首页**: HTML5 + CSS3 + JavaScript -- **后台管理系统**: Vue.js 3 + TypeScript + Ant Design Vue + Pinia -- **大屏可视化系统**: Vue.js 3 + ECharts + 自定义可视化组件 -- **微信小程序矩阵**: 微信小程序原生开发 + uni-app +- **管理后台**: Vue 3 + Element Plus +- **用户端**: Nuxt 3 (SSR) +- **微信小程序**: 微信小程序原生开发 +- **构建工具**: Vite, Webpack +- **状态管理**: Pinia, Vuex +- **HTTP客户端**: Axios ### 2.2 后端技术栈 -- **API服务**: Node.js + Express.js + TypeScript + RESTful API -- **数据库**: MySQL -- **缓存系统**: Redis -- **消息队列**: RabbitMQ(用于异步处理) -- **文件存储**: 腾讯云对象存储 -- **实时通信**: WebSocket(用于大屏数据推送和实时通知) -### 2.3 数据库配置 +#### 2.2.1 Java技术栈(主要) +- **核心框架**: Spring Boot 2.7.x, Spring Cloud 2021.x +- **服务注册与发现**: Eureka +- **配置中心**: Spring Cloud Config +- **API网关**: Spring Cloud Gateway +- **数据库**: MySQL 8.0, Spring Data JPA +- **缓存**: Redis +- **消息队列**: RabbitMQ +- **安全框架**: Spring Security + JWT +- **构建工具**: Maven 3.8.x -#### 2.3.1 测试环境 -- **主机**: `192.168.0.240` (MySQL主机地址) -- **端口**: `3306` (MySQL端口) -- **用户名**: `root` -- **密码**: `aiot$Aiot123` -- **数据库**: `xlxumudata` +#### 2.2.2 Node.js技术栈(辅助) +- **运行环境**: Node.js 16.x +- **Web框架**: Express.js +- **数据库**: MySQL 8.0 +- **ORM**: Sequelize +- **构建工具**: NPM/Yarn -#### 2.3.2 生产环境 -- **主机**: `129.211.213.226` -- **端口**: `9527`(端口号) -- **用户名**: `root` -- **密码**: `aiotAiot123!` -- **数据库**: `xlxumudata` - -### 2.4 安全架构 -- **身份认证**: JWT (JSON Web Tokens) -- **权限管理**: 基于角色的访问控制 (RBAC) -- **数据传输**: HTTPS 加密传输 -- **API防护**: 接口限流、参数校验、防SQL注入等 -- **密码安全**: BCrypt加密存储 -- **操作审计**: 用户操作日志记录和审计 - -### 2.5 数据架构 -- **实时数据采集**: IoT设备数据接入 -- **数据处理**: ETL数据处理流程 -- **数据存储**: 分层数据存储(操作数据、历史数据、统计数据) -- **大数据分析**: 数据分析引擎 -- **智能预警**: 基于规则的预警系统 -- **可视化展示**: 图表化数据展示平台 +### 2.3 基础设施 +- **容器化**: Docker +- **容器编排**: Kubernetes +- **反向代理**: Nginx +- **监控**: Prometheus + Grafana +- **日志**: ELK Stack (Elasticsearch, Logstash, Kibana) +- **CI/CD**: Jenkins ## 3. 系统架构图 -为了更直观地展示系统架构,我们提供了一个可视化的系统架构图: +```mermaid +graph TB + subgraph "客户端层" + A[Web浏览器] --> B[管理后台 admin-system] + C[Web浏览器] --> D[用户端 frontend] + E[微信客户端] --> F[微信小程序 miniprogram] + end -![系统架构图](./system_architecture.svg) + subgraph "网关层" + G[API网关 gateway] + end -图中展示了以下主要层次和组件: + subgraph "服务注册与配置中心" + H[Eureka注册中心 registry] + I[Config配置中心 config-server] + end -1. **用户接入层**:包括官网首页、专业管理系统和微信小程序矩阵 -2. **API服务层**:基于Node.js的各个业务模块API服务 -3. **数据处理与存储层**:包括关系数据库、缓存系统、消息队列、文件存储和日志存储 -4. **数据分析与展示层**:包含大数据分析引擎、智能预警系统、可视化平台和实时数据推送 -5. **监控与日志层**:应用性能监控、服务器资源监控、日志收集与分析以及异常告警 -6. **部署架构层**:容器化部署、负载均衡、自动化部署和容灾备份 + subgraph "核心业务服务层(Java)" + J[养殖管理服务
farming-service:8081] + K[用户中心服务
user-center-service:8082] + L[交易服务
trade-service:8083] + M[金融服务
finance-service:8084] + N[数据平台服务
data-platform-service:8085] + O[政务服务
government-service:8086] + P[大屏服务
dashboard-service:8087] + Q[商城服务
mall-service:8088] + end -此外,图中还展示了各组件之间的连接关系和数据流向。 + subgraph "辅助业务服务层(Node.js)" + R[AI能力服务
ai-service:3001] + S[部分遗留服务
legacy-service:3002] + end -## 4. 前端系统架构 + subgraph "数据存储层" + T[MySQL主数据库] + U[Redis缓存] + V[RabbitMQ消息队列] + end -### 4.1 官网首页系统 -- 纯HTML5、CSS3、JavaScript实现 -- 响应式设计,适配多种设备 -- 突出锡林郭勒盟地域元素和蒙古族文化特色 -- 绿色草原主题风格 -- 集成Chart.js实现数据可视化展示 -- 通过官网API获取新闻资讯和统计数据 + subgraph "基础设施层" + W[Docker容器] + X[Kubernetes集群] + Y[Nginx反向代理] + end -### 4.2 专业管理系统 + B --> G + D --> G + F --> G -#### 4.2.1 养殖管理系统 -- 基于Vue.js 3 Composition API -- 使用Ant Design Vue组件库 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 + G --> H + G --> J + G --> K + G --> L + G --> M + G --> N + G --> O + G --> P + G --> Q + G --> R + G --> S -##### 功能模块 -1. 牛只档案管理 -2. 饲养记录管理 -3. 繁殖管理 -4. 环境监测数据展示 -5. 健康监测管理 -6. 生产计划制定和执行跟踪 + J --> T + K --> T + L --> T + M --> T + N --> T + O --> T + P --> T + Q --> T + R --> T + S --> T -#### 4.2.2 银行监管系统 -- 基于Vue.js 3 Composition API -- 使用Ant Design Vue组件库 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 + J --> U + K --> U + L --> U + M --> U + N --> U + O --> U + P --> U + Q --> U + R --> U + S --> U -##### 功能模块 -1. 贷款申请和审批流程管理 -2. 质押物(牛只)状态监控 -3. 还款计划跟踪 -4. 风险评估数据展示 -5. 财务报表生成 -6. 风控管理 + J --> V + K --> V + L --> V + M --> V + N --> V + O --> V + P --> V + Q --> V + R --> V + S --> V -#### 4.2.3 保险监管系统 -- 基于Vue.js 3 Composition API -- 使用Ant Design Vue组件库 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 + H --> W + I --> W + J --> W + K --> W + L --> W + M --> W + N --> W + O --> W + P --> W + Q --> W + R --> W + S --> W + T --> W + U --> W + V --> W -##### 功能模块 -1. 保险投保管理 -2. 理赔申请和处理流程 -3. 风险评估和预警 -4. 保险记录查询 -5. 数据统计分析 - -#### 4.2.4 政府监管平台 -- 基于Vue.js 3 Composition API -- 使用Ant Design Vue组件库 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 - -##### 功能模块 -1. 产业数据总览 -2. 各类监管数据汇总 -3. 政策发布和通知 -4. 合规性检查 -5. 统计报表生成 -6. 用户管理(集中式用户权限管理) -7. 系统配置管理 - -#### 4.2.5 活牛交易系统 -- 基于Vue.js 3 Composition API -- 使用Ant Design Vue组件库 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 - -##### 功能模块 -1. 牛只信息发布和展示 -2. 在线交易撮合 -3. 合同管理 -4. 支付流程管理 -5. 交易记录查询 -6. 商户管理 -7. 行情管理 - -#### 4.2.6 商城管理系统 -- 基于Vue.js 3 Composition API -- 使用Ant Design Vue组件库 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 - -##### 功能模块 -1. 商品信息管理 -2. 库存管理 -3. 订单处理 -4. 物流跟踪 -5. 售后服务管理 -6. 营销管理 - -#### 4.2.7 大屏可视化系统 -- 基于Vue.js 3 Composition API -- 使用ECharts和自定义可视化组件 -- 状态管理采用Pinia -- TypeScript增强代码可维护性 -- WebSocket实现实时数据推送 - -##### 功能模块 -1. 产业概览 -2. 养殖监控 -3. 金融服务 -4. 交易统计 -5. 运输跟踪 -6. 风险预警 -7. 生态指标 -8. 政府监管 - -### 4.3 微信小程序矩阵 -- 使用微信小程序原生开发框架 -- 跨平台支持采用uni-app -- 包含8个专门的小程序应用 - -#### 4.3.1 牛肉商城小程序(消费者端) -- 商品浏览和搜索 -- 在线下单和支付 -- 订单查询和跟踪 -- 售后服务申请 -- **认养功能**:用户可以认养特定牛只,跟踪其成长过程 - -#### 4.3.2 养殖管理小程序(牧民端) -- 移动端牛只档案查看 -- 饲养记录录入 -- 健康状况上报 -- 通知消息接收 -- 数据统计查看 - -#### 4.3.3 银行监管小程序(银行端) -- 移动端贷款审批 -- 质押物状态查看 -- 风险数据监控 -- 移动办公支持 - -#### 4.3.4 保险监管小程序(保险端) -- 移动端保险处理 -- 理赔流程管理 -- 风险评估查看 -- 移动查勘支持 - -#### 4.3.5 活牛交易小程序(交易员端) -- 活牛信息发布 -- 在线交易撮合 -- 合同查看和管理 -- 交易记录查询 -- 支付状态跟踪 - -#### 4.3.6 政府监管小程序(监管人员端) -- 防疫任务执行 -- 补贴申请审核 -- 政策信息查看 -- 监管数据上报 - -#### 4.3.7 数据中台小程序(数据人员端) -- 数据查询和导出 -- 统计报表查看 -- 数据服务申请 - -#### 4.3.8 AI能力小程序(养殖户/兽医端) -- 牛只体况评估 -- 饲料配方推荐 -- 智能诊断辅助 - -## 5. 后端系统架构 - -### 5.1 API服务层 -- 基于Node.js和Express.js构建 -- 使用TypeScript增强代码健壮性 -- RESTful API设计风格 -- JWT身份认证机制 -- 微服务架构设计(按业务模块划分) - -#### 5.1.1 养殖管理API (`/api/v1/farming`) -- 牛只档案管理 -- 饲喂记录 -- 防疫管理 -- 繁殖管理 - -#### 5.1.2 金融服务API (`/api/v1/finance`) -- 贷款申请 -- 保险购买 -- 理赔处理 -- 贷款审批 - -#### 5.1.3 政府监管API (`/api/v1/gov`) -- 防疫任务下发 -- 补贴发放 -- 检疫监管 -- 任务状态跟踪 - -#### 5.1.4 交易管理API (`/api/v1/trades`) -- 商品发布/下架 -- 订单创建/支付 -- 物流跟踪 -- 订单状态查询 - -#### 5.1.5 商城管理API (`/api/v1/mall`) -- 商品管理 -- 订单处理 -- 库存管理 -- 用户评价 - -#### 5.1.6 数据中台API (`/api/v1/data`) -- 数据血缘追踪 -- 接口调用分析 -- 数据质量监控 - -#### 5.1.7 AI能力API (`/api/v1/ai`) -- 牛只体况评估 -- 饲料配方推荐 -- 智能诊断辅助 - -#### 5.1.8 用户中心API (`/api/v1/users`) -- 用户注册/登录/注销 -- 个人信息管理 -- 权限控制 - -#### 5.1.9 官网API (`/api/v1/website`) -- 新闻资讯管理 -- 平台数据展示 -- 用户留言处理 -- 平台信息配置 - -#### 5.1.10 大屏可视化API (`/api/v1/dashboard`) -- 实时数据展示(支持 WebSocket) -- 历史数据查询(支持分页和排序) -- 数据可视化配置(增删改查) -- 告警信息推送(订阅/取消订阅) -- 数据导出(CSV/JSON 格式) - -### 5.2 数据存储层 -- 主数据库:MySQL关系型数据库 -- 缓存系统:Redis(用于会话缓存、数据缓存) -- 消息队列:RabbitMQ(用于异步任务处理) -- 文件存储:腾讯云对象存储服务 -- 日志存储:Elasticsearch(用于日志分析) - -### 5.3 安全架构 -- 基于JWT的无状态认证 -- RBAC角色权限管理系统(集中式用户管理) -- HTTPS加密传输 -- API接口安全防护(限流、防注入等) -- 数据加密存储(BCrypt等) -- 操作日志审计 - -### 5.4 数据分析层 -- 实时数据采集系统(IoT设备数据、用户行为数据) -- 大数据分析引擎 -- 智能预警系统 -- 数据可视化展示平台 - -## 6. 项目结构 - -``` -. -├── admin-system/ # 管理系统 -│ ├── dashboard/ # 数据大屏 -│ ├── official-website/ # 官网 -│ ├── farming-management/ # 养殖管理系统 -│ ├── bank-supervision/ # 银行监管系统 -│ ├── insurance-supervision/ # 保险监管系统 -│ ├── government-platform/ # 政府监管平台 -│ ├── cattle-trading/ # 活牛交易系统 -│ └── mall-management/ # 商城管理系统 -├── mini_program/ # 小程序集合 -│ ├── farming-manager/ # 养殖管理小程序 -│ ├── beef-mall/ # 牛肉商城小程序 -│ ├── bank-supervision/ # 银行监管小程序 -│ ├── insurance-supervision/ # 保险监管小程序 -│ ├── cattle-trading/ # 活牛交易小程序 -│ └── government-supervision/ # 政府监管小程序 -├── website/ # 官方网站 -├── backend-java/ # 后端项目 (Java微服务架构) -│ ├── api/ # API网关模块 -│ ├── gateway/ # Spring Cloud Gateway网关服务 -│ ├── registry/ # Eureka服务注册中心 -│ ├── config-server/ # Spring Cloud配置中心 -│ ├── services/ # 微服务模块 -│ │ ├── farming-service/ # 养殖管理服务 -│ │ ├── finance-service/ # 金融服务 -│ │ ├── government-service/ # 政府监管服务 -│ │ ├── trade-service/ # 交易管理服务 -│ │ ├── mall-service/ # 商城管理服务 -│ │ ├── data-platform-service/ # 数据中台服务 -│ │ ├── ai-service/ # AI能力服务 -│ │ └── user-center-service/ # 用户中心服务 -│ ├── common/ # 公共模块 -│ ├── docs/ # 后端文档 -│ ├── scripts/ # 后端脚本 -│ └── pom.xml # Maven父项目配置文件 -├── docs/ # 文档 -└── deployment/ # 部署相关配置 + W --> X + X --> Y ``` -## 7. 用户权限管理架构 +## 4. 前端架构 -### 7.1 集中式用户管理 -- 所有用户信息统一在政府监管平台进行管理 -- 各子系统仅负责登录验证和部分权限校验 -- 实现统一的RBAC权限模型 -- 通过用户中心API进行统一认证和授权 +### 4.1 管理后台 (admin-system) +- 基于Vue 3和Element Plus构建 +- 采用组件化开发模式 +- 使用Vue Router管理路由 +- 使用Pinia进行状态管理 +- 通过Axios与后端API通信 -### 7.2 权限体系 -- 基于角色的访问控制(RBAC) -- 支持多角色分配 -- 细粒度权限控制(菜单权限、操作权限、数据权限) -- 权限继承机制 +### 4.2 用户端 (frontend) +- 基于Nuxt 3构建,支持SSR +- 采用模块化架构设计 +- 使用Vue Router管理路由 +- 使用Vuex进行状态管理 +- 通过Axios与后端API通信 -### 7.3 用户角色 -1. 超级管理员 -2. 政府监管员 -3. 银行信贷员 -4. 保险专员 -5. 交易管理员 -6. 商城管理员 -7. 养殖户 -8. 普通用户 -9. 数据分析师 -10. 系统审计员 +### 4.3 微信小程序 (miniprogram) +- 基于微信小程序原生开发 +- 采用页面+组件的结构 +- 使用微信提供的API和组件 +- 通过wx.request与后端API通信 -## 8. 大屏可视化系统架构 +## 5. 后端架构 -### 8.1 系统概述 -大屏可视化系统是本项目的重要组成部分,主要用于展示锡林郭勒盟智慧养殖产业的整体数据、实时监控信息和分析结果。通过直观的图表和数据可视化方式,为管理者提供全面的产业洞察。 +### 5.1 微服务架构 +系统采用微服务架构设计,将业务功能拆分为独立的服务: -### 8.2 技术实现 -- **前端框架**: Vue.js 3 + ECharts + 自定义可视化组件 -- **可视化库**: Apache ECharts + D3.js -- **响应式设计**: 支持多种大屏比例(16:9, 4:3等) -- **实时数据**: WebSocket实时数据推送 -- **性能优化**: 虚拟滚动、数据分页等技术 +#### 5.1.1 Java微服务(主要) +1. **养殖管理服务 (farming-service:8081)** + - 功能:养殖场管理、牲畜档案、饲养记录等 + - 技术:Spring Boot, Spring Data JPA -### 8.3 功能模块 -1. **产业概览**: 展示整体产业规模、产值、增长率等关键指标 -2. **养殖监控**: 实时展示各牧场的养殖情况、环境数据 -3. **金融服务**: 展示贷款、保险等金融服务数据 -4. **交易统计**: 牛只交易量、价格趋势、区域分布等数据 -5. **运输跟踪**: 牛只运输实时状态和路径展示 -6. **风险预警**: 风险事件展示和预警信息推送 -7. **生态指标**: 环保数据、可持续发展指标展示 -8. **政府监管**: 展示政府监管相关数据和政策执行效果 +2. **用户中心服务 (user-center-service:8082)** + - 功能:用户管理、权限控制、认证授权等 + - 技术:Spring Boot, Spring Security, JWT -### 8.4 设计特色 -- 融入锡林郭勒盟草原绿色主题 -- 采用蒙古族文化元素的UI设计 -- 支持多维度数据钻取和交互 -- 通过大屏可视化API获取实时和历史数据 +3. **交易服务 (trade-service:8083)** + - 功能:活牛交易、订单管理、支付处理等 + - 技术:Spring Boot, Spring Data JPA -## 9. 系统集成架构 +4. **金融服务 (finance-service:8084)** + - 功能:贷款申请、保险购买、金融产品等 + - 技术:Spring Boot, Spring Data JPA -### 9.1 外部系统集成 -1. 银行系统对接 -2. 政府监管平台对接 -3. 第三方系统集成(LDAP/AD、OAuth2.0等) -4. 物联网设备集成(MQTT/CoAP协议) -5. 云服务集成(腾讯云COS、短信服务等) +5. **数据平台服务 (data-platform-service:8085)** + - 功能:数据统计、报表生成、数据分析等 + - 技术:Spring Boot, Spring Data JPA -### 9.2 数据交换机制 -- RESTful API接口 -- 消息队列异步处理 -- 文件传输 -- 数据库同步 +6. **政务服务 (government-service:8086)** + - 功能:政策发布、监管上报、审批流程等 + - 技术:Spring Boot, Spring Data JPA -## 10. 性能优化策略 +7. **大屏服务 (dashboard-service:8087)** + - 功能:数据可视化、实时监控、大屏展示等 + - 技术:Spring Boot, Spring Data JPA -### 10.1 前端优化 -- 代码分割和按需加载 -- 图片懒加载和压缩 -- CDN加速静态资源 -- 浏览器缓存策略 -- 虚拟滚动处理大数据量展示 -- CDN加速静态资源 -- 浏览器缓存策略 -- 虚拟滚动处理大数据量展示 +8. **商城服务 (mall-service:8088)** + - 功能:商品管理、购物车、订单处理等 + - 技术:Spring Boot, Spring Data JPA -### 10.2 后端优化 -- 数据库索引优化 -- API响应缓存(Redis) -- 数据库连接池 -- 负载均衡部署 -- 异步任务处理(RabbitMQ) +#### 5.1.2 Node.js服务(辅助) +1. **AI能力服务 (ai-service:3001)** + - 功能:图像识别、智能分析等AI相关功能 + - 技术:Node.js, Express.js -## 11. 系统监控与日志 +2. **遗留服务 (legacy-service:3002)** + - 功能:部分原有系统功能的兼容 + - 技术:Node.js, Express.js -### 11.1 监控系统 -- 应用性能监控(APM) -- 服务器资源监控(CPU、内存、磁盘等) -- 数据库性能监控 -- 网络监控 -- 业务指标监控 +### 5.2 核心组件 -### 11.2 日志系统 -- 统一日志格式 -- 日志分级管理(DEBUG、INFO、WARN、ERROR) -- 日志收集与分析(ELK Stack) -- 日志存储策略 -- 异常日志告警 +#### 5.2.1 API网关 (gateway) +- 技术:Spring Cloud Gateway +- 功能: + - 请求路由转发 + - 负载均衡 + - 认证鉴权 + - 限流熔断 + - 日志记录 -## 12. 部署架构 +#### 5.2.2 服务注册中心 (registry) +- 技术:Eureka Server +- 功能: + - 服务注册与发现 + - 服务健康检查 + - 服务状态监控 -### 12.1 开发环境 -- 本地开发服务器 -- 热重载功能 -- 代理配置解决跨域问题 +#### 5.2.3 配置中心 (config-server) +- 技术:Spring Cloud Config +- 功能: + - 集中化配置管理 + - 配置动态刷新 + - 环境隔离配置 -### 12.2 生产环境 -- Nginx反向代理服务器 -- 负载均衡配置 -- SSL证书配置 -- 日志收集和监控系统 -- 容器化部署(Docker) -- 自动化部署(CI/CD) +## 6. 数据架构 -## 13. 容灾与备份策略 +### 6.1 数据库设计 +- **主数据库**: MySQL 8.0 +- **读写分离**: 主从复制 +- **分库分表**: 根据业务模块分库 +- **索引优化**: 合理设计索引提升查询性能 -### 13.1 数据备份 -- 定时全量备份 -- 增量备份机制 -- 备份数据异地存储 -- 备份恢复演练 +### 6.2 缓存设计 +- **缓存技术**: Redis +- **缓存策略**: + - 热点数据缓存 + - 会话缓存 + - 分布式锁 +- **缓存更新**: 通过消息队列实现缓存同步 -### 13.2 系统容灾 -- 多节点部署 -- 故障自动切换 -- 数据同步机制 -- 灾难恢复预案 \ No newline at end of file +### 6.3 消息队列 +- **消息中间件**: RabbitMQ +- **应用场景**: + - 异步处理 + - 服务解耦 + - 流量削峰 + - 日志收集 + +## 7. 安全架构 + +### 7.1 认证授权 +- **认证方式**: JWT Token +- **授权机制**: RBAC权限模型 +- **安全传输**: HTTPS加密 +- **密码安全**: BCrypt加密存储 + +### 7.2 数据安全 +- **数据传输**: SSL/TLS加密 +- **数据存储**: 敏感信息加密 +- **访问控制**: 基于角色的访问控制 +- **审计日志**: 关键操作日志记录 + +## 8. 部署架构 + +### 8.1 容器化部署 +- **容器技术**: Docker +- **镜像管理**: Harbor私有镜像仓库 +- **容器编排**: Kubernetes +- **服务发现**: Kubernetes Service + +### 8.2 负载均衡 +- **反向代理**: Nginx +- **负载策略**: 轮询、权重、IP哈希 +- **健康检查**: 定期检查服务状态 +- **SSL终止**: Nginx处理SSL加密解密 + +### 8.3 监控告警 +- **指标监控**: Prometheus +- **可视化**: Grafana +- **日志收集**: ELK Stack +- **告警机制**: 邮件、短信、微信通知 + +## 9. 性能优化策略 + +### 9.1 前端优化 +- **资源压缩**: JS/CSS压缩合并 +- **图片优化**: WebP格式、懒加载 +- **缓存策略**: HTTP缓存、浏览器缓存 +- **代码分割**: 路由懒加载、组件懒加载 + +### 9.2 后端优化 +- **数据库优化**: 索引优化、查询优化 +- **缓存优化**: 多级缓存、缓存预热 +- **接口优化**: 接口合并、数据批量处理 +- **异步处理**: 消息队列异步处理耗时操作 + +### 9.3 网络优化 +- **CDN加速**: 静态资源CDN分发 +- **压缩传输**: Gzip压缩 +- **连接复用**: HTTP/2协议 +- **边缘计算**: 靠近用户的边缘节点处理 + +## 10. 扩展性设计 + +### 10.1 水平扩展 +- **服务拆分**: 微服务架构支持独立扩展 +- **数据库扩展**: 读写分离、分库分表 +- **缓存扩展**: Redis集群 +- **消息队列扩展**: RabbitMQ集群 + +### 10.2 弹性伸缩 +- **自动扩缩容**: Kubernetes HPA +- **资源监控**: 实时监控资源使用情况 +- **负载均衡**: 动态调整流量分配 +- **故障自愈**: 自动重启失败服务 + +## 11. 高可用设计 + +### 11.1 服务高可用 +- **多实例部署**: 关键服务多实例运行 +- **故障转移**: 服务故障自动切换 +- **健康检查**: 定期检查服务状态 +- **超时重试**: 网络异常自动重试 + +### 11.2 数据高可用 +- **数据备份**: 定期备份重要数据 +- **主从复制**: 数据库主从同步 +- **灾难恢复**: 制定数据恢复预案 +- **一致性保证**: 分布式事务处理 + +## 12. 总结 + +本系统采用现代化的微服务架构设计,通过合理的技术选型和架构规划,能够满足畜牧管理系统的业务需求,具备良好的可扩展性、可维护性和高可用性。Java技术栈作为主要后端技术,Node.js作为辅助技术,能够充分发挥各自优势,构建一个稳定、高效的畜牧管理系统。 \ No newline at end of file diff --git a/docs/design/DEVELOPMENT_PLAN.md b/docs/design/DEVELOPMENT_PLAN.md index a460050..92e5703 100644 --- a/docs/design/DEVELOPMENT_PLAN.md +++ b/docs/design/DEVELOPMENT_PLAN.md @@ -13,7 +13,8 @@ - **微信小程序矩阵**: 微信小程序原生开发 + uni-app ### 2.2 后端技术栈 -- **API服务**: Node.js + Express.js + RESTful API +- **主要后端技术栈**: Java 8+ + Spring Boot + Spring Cloud +- **辅助后端技术栈**: Node.js + Express.js + RESTful API - **数据库**: MySQL - **缓存**: Redis(用于会话管理和高频数据缓存) - **消息队列**: RabbitMQ(用于异步任务处理) @@ -21,52 +22,88 @@ - **安全**: JWT认证 + 数据加密 - **文件存储**: 腾讯云存储 -### 2.3 开发优先级 +### 2.3 微服务架构规划 + +#### 核心业务服务(Java) +| 服务名称 | 端口 | 功能描述 | +|---------|------|----------| +| farming-service | 8081 | 养殖管理服务 | +| user-center-service | 8082 | 用户中心服务 | +| finance-service | 8083 | 金融服务服务 | +| government-service | 8084 | 政府监管服务 | +| trade-service | 8085 | 交易服务 | +| mall-service | 8086 | 商城服务 | +| data-platform-service | 8087 | 数据平台服务 | +| ai-service | 8088 | AI能力服务 | + +#### 基础设施服务(Java) +| 服务名称 | 端口 | 功能描述 | +|---------|------|----------| +| gateway | 8000 | 网关服务 | +| registry | 8761 | 服务注册中心 | +| config-server | 8888 | 配置服务器 | + +#### 辅助服务(Node.js) +| 服务名称 | 端口 | 功能描述 | +|---------|------|----------| +| dashboard-service | 3001 | 大屏可视化服务 | +| website-service | 3002 | 官网服务 | + +### 2.4 开发优先级 1. **第一阶段(2025-09-01至2025-10-31)**: 核心功能(养殖管理、银行监管) 2. **第二阶段(2025-11-01至2025-12-31)**: 扩展功能(保险监管、政府监管) 3. **第三阶段(2026-01-01至2026-02-28)**: 交易和商城功能 -### 2.4 技术风险与应对 -- **风险1**: 高并发场景下的数据库性能瓶颈 +### 2.5 技术风险与应对 +- **风险1**: 微服务间通信复杂性 + - **应对**: 使用Spring Cloud Gateway统一管理服务间通信,实施服务熔断和降级机制 +- **风险2**: 数据一致性问题 + - **应对**: 引入分布式事务解决方案(如Seata) +- **风险3**: 高并发场景下的数据库性能瓶颈 - **应对**: 引入读写分离和分库分表策略 -- **风险2**: 第三方服务(如微信支付)的集成稳定性 +- **风险4**: 第三方服务(如微信支付)的集成稳定性 - **应对**: 设计降级方案和本地Mock服务 -### 2.5 开发工具 +### 2.6 开发工具 - VS Code (推荐IDE) +- IntelliJ IDEA (Java开发推荐IDE) - Git (版本控制) -- ESLint + Prettier (代码规范) -- Jest/Vitest (单元测试) +- ESLint + Prettier (前端代码规范) +- Checkstyle (Java代码规范) +- JUnit/TestNG (Java单元测试) +- Jest/Vitest (前端单元测试) ## 3. 开发阶段规划 -### 阶段一:项目初始化与基础架构搭建 (2周) +### 阶段一:项目初始化与基础架构搭建 (3周) -#### 3.1 环境配置 (2天) -- 搭建开发环境 +#### 3.1 环境配置 (3天) +- 搭建Java开发环境(JDK、Maven) +- 搭建Node.js开发环境 - 配置代码编辑器 - 初始化Git仓库 -- 配置ESLint和Prettier +- 配置代码规范工具 -#### 3.2 项目脚手架搭建 (3天) -- 官网首页静态页面搭建 -- 6个专业管理系统Vue项目初始化(养殖管理、银行监管、保险监管、政府监管、活牛交易、商城管理) -- 大屏可视化系统初始化 -- 微信小程序项目初始化(5个小程序) -- 后端API服务搭建 +#### 3.2 微服务架构搭建 (5天) +- 创建微服务基础项目结构 +- 配置服务注册中心 +- 配置配置服务器 +- 配置网关服务 +- 实现服务间通信机制 -#### 3.3 基础设施集成 (3天) +#### 3.3 基础设施集成 (4天) - 数据库设计和初始化 +- Redis缓存配置 - 腾讯云存储服务集成 - JWT身份认证实现 - 基础权限管理框架 #### 3.4 开发规范制定 (2天) -- 制定代码规范 +- 制定前后端代码规范 - 确定目录结构 - 编写开发文档 -### 阶段二:核心功能开发 (8周) +### 阶段二:核心功能开发 (10周) #### 3.5 用户认证和权限系统 (1周) - 用户注册/登录功能 @@ -110,77 +147,82 @@ - 合同管理 - 支付流程管理 -### 阶段三:商城和小程序开发 (4周) - #### 3.12 商城管理系统 (1周) - 商品信息管理 - 库存管理 - 订单处理 - 物流跟踪 -#### 3.13 牛肉商城小程序(含认养功能) (1周) +#### 3.13 数据平台服务 (1周) +- 数据采集接口 +- 数据处理和分析 +- 报表生成 + +### 阶段三:小程序开发 (4周) + +#### 3.14 牛肉商城小程序(含认养功能) (1周) - 商品浏览和搜索 - 在线下单和支付 - 订单查询和跟踪 - 认养功能实现 - 售后服务申请 -#### 3.14 养殖管理小程序 (1周) +#### 3.15 养殖管理小程序 (1周) - 移动端牛只档案查看 - 饲养记录录入 - 健康状况上报 - 通知消息接收 -#### 3.15 银行和保险监管小程序 (1周) +#### 3.16 银行和保险监管小程序 (1周) - 银行监管小程序功能开发 - 保险监管小程序功能开发 -#### 3.16 活牛交易小程序 (1周) +#### 3.17 活牛交易小程序 (1周) - 活牛信息发布 - 在线交易撮合 - 合同查看和管理 -### 阶段四:数据系统和特色功能 (3周) - -#### 3.17 数据分析系统 (1周) -- 实时数据采集(IoT设备数据接入、用户行为数据采集) -- 大数据分析引擎(数据清洗和预处理、统计分析模型) -- 智能预警系统(异常数据检测、风险预警机制) +### 阶段四:特色功能和大屏可视化 (3周) #### 3.18 大屏可视化系统 (1周) - 数据图表展示 - 仪表盘设计 - 报表生成和导出 -#### 3.19 特色功能实现 (1周) +#### 3.19 AI能力服务 (1周) +- 图像识别(牛只识别、健康状况识别) +- 预测分析(市场价格预测、产犊预测) +- 智能推荐 + +#### 3.20 特色功能实现 (1周) - 锡林郭勒盟地域元素融入 - 蒙古族文化特色设计 - 安格斯牛品牌突出展示 -### 阶段五:系统集成与测试 (2周) +### 阶段五:系统集成与测试 (3周) -#### 3.20 系统集成 (3天) +#### 3.21 系统集成 (4天) - 内蒙古畜牧云对接(数据同步、接口规范) - 金融机构API对接(银行接口、保险接口) - 第三方服务集成 -#### 3.21 测试用例编写 (3天) +#### 3.22 测试用例编写 (4天) - 单元测试编写(核心功能模块单元测试覆盖率不低于80%) - 集成测试实现 - E2E测试配置 -#### 3.22 Bug修复与优化 (3天) +#### 3.23 Bug修复与优化 (4天) - 功能测试与Bug修复 - 性能调优(关键操作响应时间<2秒) - 用户体验优化 -#### 3.23 部署准备 (3天) +#### 3.24 部署准备 (3天) - 生产环境配置 - 构建脚本优化 - 部署文档编写 - Docker配置 -#### 3.24 项目验收与交付 (1天) +#### 3.25 项目验收与交付 (1天) - 用户验收测试 - 项目文档完善 - 代码交接 @@ -198,13 +240,14 @@ ### 4.2 后端开发团队 - 后端架构师(1名):负责后端架构设计和技术选型 -- API开发工程师(3名):负责后端API服务开发 +- Java微服务开发工程师(5名):负责Java微服务开发 +- Node.js开发工程师(2名):负责Node.js服务开发 - 数据库工程师(1名):负责数据库设计和优化 - 运维工程师(1名):负责部署和运维工作 ### 4.3 数据分析团队 - 数据分析师(1名):负责数据分析和可视化 -- 算法工程师(1名):负责智能预警系统开发 +- 算法工程师(1名):负责AI能力服务开发 ### 4.4 测试团队 - 测试工程师(2名):负责测试用例编写和执行 @@ -212,9 +255,10 @@ ## 5. 质量保障 ### 5.1 代码质量控制 -- 使用ESLint和Prettier统一代码风格 +- 使用ESLint和Prettier统一前端代码风格 +- 使用Checkstyle统一Java代码风格 - 通过Code Review确保代码质量 -- 使用TypeScript增强代码可维护性 +- 使用TypeScript增强前端代码可维护性 ### 5.2 测试策略 - 单元测试:核心功能模块单元测试覆盖率不低于80% @@ -235,6 +279,7 @@ - 支持Docker容器化部署 - 支持云平台部署(腾讯云) - 支持负载均衡部署 +- 微服务独立部署和扩缩容 ### 6.2 监控体系 - 系统运行状态监控 diff --git a/docs/design/api/farming.md b/docs/design/api/farming.md index ccd3bd9..025c059 100644 --- a/docs/design/api/farming.md +++ b/docs/design/api/farming.md @@ -12,12 +12,18 @@ ### 1.2 基础路径 `/api/v1/farming` -### 1.3 权限控制 +### 1.3 技术栈 +- **后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081) +- **数据库**: MySQL +- **缓存**: Redis +- **API文档**: Swagger + +### 1.4 权限控制 - 公开接口(无需认证):数据查询 - 管理接口(需要认证):数据录入和管理 - 系统接口(高级权限):批量操作和配置 -### 1.4 全局错误码 +### 1.5 全局错误码 | 状态码 | 说明 | |--------|--------------------| | 400 | 请求参数无效 | @@ -50,7 +56,8 @@ POST /cattles "id": "CATTLE001", "ear_tag": "NM000001", "created_at": "2024-01-20T10:00:00Z" - } + }, + "timestamp": "2024-01-20T10:00:00Z" } ``` @@ -77,7 +84,8 @@ POST /cattles/batch "error": "耳标号格式错误" } ] - } + }, + "timestamp": "2024-01-20T10:00:00Z" } ``` @@ -104,7 +112,8 @@ POST /vaccinations "cattle_id": "CATTLE001", "vaccine_type": "口蹄疫", "created_at": "2024-01-20T10:30:00Z" - } + }, + "timestamp": "2024-01-20T10:30:00Z" } ``` @@ -121,7 +130,8 @@ POST /vaccinations - 新增: 按照API文档规范标准统一格式 - 优化: 统一响应格式和错误处理 - 功能: 完善养殖管理接口定义 -## 3. 版本历史 +- 新增: Java后端技术栈说明 +- 新增: timestamp字段 ### v1.0.0 (2024-01-20) - 新增: 按照API文档规范标准统一格式 diff --git a/docs/design/api/miniprograms/farming-app.md b/docs/design/api/miniprograms/farming-app.md index 0062300..3027101 100644 --- a/docs/design/api/miniprograms/farming-app.md +++ b/docs/design/api/miniprograms/farming-app.md @@ -1,4 +1,4 @@ -# 养殖助手小程序 API 文档 +# 养殖助手小程序 API 文档 (v1.1.0) ## 1. 接口概述 @@ -10,6 +10,12 @@ ### 1.2 基础路径 `/api/mini/farming` +### 1.3 后端技术栈 +- **主要后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081) +- **辅助后端**: Node.js + Express.js +- **数据库**: MySQL +- **缓存**: Redis + ## 2. 接口明细 ### 2.1 添加饲喂记录 @@ -30,4 +36,13 @@ POST /vaccinations ## 3. 数据规范 - 时间字段格式: YYYY-MM-DD HH:mm:ss -- 数量单位统一使用kg \ No newline at end of file +- 数量单位统一使用kg + +## 4. 版本历史 + +### v1.1.0 (2024-01-20) +- 新增: Java后端技术栈说明 +- 优化: 接口规范说明 + +### v1.0.0 (2024-01-20) +- 新增: 基础接口定义 \ No newline at end of file diff --git a/docs/design/api/user-center.md b/docs/design/api/user-center.md index 505fb1c..f79f44a 100644 --- a/docs/design/api/user-center.md +++ b/docs/design/api/user-center.md @@ -1,4 +1,4 @@ -# 用户中心系统 API 文档 (v1.0.0) +# 用户中心系统 API 文档 (v1.1.0) ## 1. 接口概述 @@ -8,14 +8,20 @@ - 权限控制 ### 1.2 基础路径 -`/api/v1/[系统名称]` +`/api/v1/users` -### 1.3 权限控制 +### 1.3 技术栈 +- **后端**: Java Spring Boot + Spring Cloud (user-center-service, 端口: 8082) +- **数据库**: MySQL +- **缓存**: Redis +- **API文档**: Swagger + +### 1.4 权限控制 - 公开接口(无需认证):数据查询 - 管理接口(需要认证):数据管理 - 系统接口(高级权限):配置管理 -### 1.4 全局错误码 +### 1.5 全局错误码 | 状态码 | 说明 | |--------|--------------------| | 400 | 请求参数无效 | @@ -23,7 +29,6 @@ | 403 | 权限不足 | | 404 | 资源不存在 | | 500 | 服务器内部错误 | -`/api/v1/users` ## 2. 接口明细 @@ -48,7 +53,8 @@ POST /register "username": "testuser", "phone": "13800138000", "created_at": "2024-01-20T10:00:00Z" - } + }, + "timestamp": "2024-01-20T10:00:00Z" } ``` @@ -75,7 +81,8 @@ POST /login "roles": ["user"] }, "expires_in": 86400 - } + }, + "timestamp": "2024-01-20T10:00:00Z" } ``` @@ -85,7 +92,15 @@ POST /login | 200 | 成功 | | 400 | 参数校验失败 | | 401 | 认证失败 | -## 3. 版本历史 + +## 4. 版本历史 + +### v1.1.0 (2024-01-20) +- 新增: 按照API文档规范标准统一格式 +- 优化: 统一响应格式和错误处理 +- 功能: 完善用户中心接口定义 +- 新增: Java后端技术栈说明 +- 新增: timestamp字段 ### v1.0.0 (2024-01-20) - 新增: 按照API文档规范标准统一格式 diff --git a/docs/development_plans/backend_api_development_plan.md b/docs/development_plans/backend_api_development_plan.md index 2aa9e2b..78466a0 100644 --- a/docs/development_plans/backend_api_development_plan.md +++ b/docs/development_plans/backend_api_development_plan.md @@ -1,157 +1,214 @@ -# 后端API服务开发计划 +# 后端API开发计划 -## 1. 系统概述 +## 1. 概述 -后端API服务是整个平台的数据中枢,基于Node.js和Express.js构建,提供RESTful API接口,负责处理所有业务逻辑、数据存储和第三方服务集成。 +本项目采用双技术栈架构,后端服务基于Java Spring Boot和Node.js两种技术栈构建。Java技术栈作为主要后端技术,采用微服务架构设计;Node.js技术栈作为辅助技术,用于特定业务场景。 -## 2. 技术架构 +## 2. 技术栈架构 -- **运行环境**: Node.js +### 2.1 Java技术栈(主要) +- **核心框架**: Spring Boot 2.7.x, Spring Cloud 2021.x +- **服务注册与发现**: Eureka +- **配置中心**: Spring Cloud Config +- **API网关**: Spring Cloud Gateway +- **数据库**: MySQL 8.0, Spring Data JPA +- **缓存**: Redis +- **消息队列**: RabbitMQ +- **安全框架**: Spring Security + JWT +- **构建工具**: Maven 3.8.x + +### 2.2 Node.js技术栈(辅助) +- **运行环境**: Node.js 16.x - **Web框架**: Express.js -- **API风格**: RESTful API -- **数据库**: MySQL -- **ORM**: Sequelize / TypeORM -- **认证机制**: JWT -- **安全防护**: Helmet, CORS, Rate Limiting -- **日志管理**: Winston -- **测试框架**: Jest -- **API文档**: Swagger +- **数据库**: MySQL 8.0 +- **ORM**: Sequelize +- **构建工具**: NPM/Yarn -## 3. 功能模块详细计划 +## 3. Java后端开发计划 -### 3.1 用户认证和权限模块 (3天) -- 第1天: - - 用户注册/登录接口实现 - - JWT Token生成和验证机制 -- 第2天: - - 角色权限管理接口 - - RBAC权限控制实现 -- 第3天: - - 用户信息管理接口 - - 密码重置和安全机制 +### 3.1 已完成模块 +1. **养殖管理服务 (farming-service:8081)** + - 功能:养殖场管理、牲畜档案、饲养记录等 + - 状态:已完成开发和部署 + - 负责人:Java开发团队 -### 3.2 牛只档案管理模块 (2天) -- 第1天: - - 牛只档案增删改查接口 - - 耳标二维码管理接口 -- 第2天: - - 牛只生命周期记录接口 - - 牛只档案查询和筛选接口 +2. **用户中心服务 (user-center-service:8082)** + - 功能:用户管理、权限控制、认证授权等 + - 状态:已完成开发和部署 + - 负责人:Java开发团队 -### 3.3 饲养记录管理模块 (1天) -- 第1天: - - 饲料库存管理接口 - - 每日投喂量记录接口 - - 饲料库存预警接口 +### 3.2 开发中模块 +1. **交易服务 (trade-service:8083)** + - 功能:活牛交易、订单管理、支付处理等 + - 状态:开发中 + - 进度:60% + - 预计完成时间:2024年2月15日 + - 负责人:Java开发团队 -### 3.4 繁殖管理模块 (1天) -- 第1天: - - 繁殖记录管理接口 - - 基因谱系分析接口 - - 产犊预测接口 +2. **金融服务 (finance-service:8084)** + - 功能:贷款申请、保险购买、金融产品等 + - 状态:开发中 + - 进度:40% + - 预计完成时间:2024年2月28日 + - 负责人:Java开发团队 -### 3.5 环境监测模块 (1天) -- 第1天: - - 物联网设备数据接入接口 - - 环境数据存储和查询接口 - - 异常环境告警接口 +### 3.3 待开发模块 +1. **数据平台服务 (data-platform-service:8085)** + - 功能:数据统计、报表生成、数据分析等 + - 状态:待开发 + - 预计开始时间:2024年2月10日 + - 预计完成时间:2024年3月15日 + - 负责人:Java开发团队 -### 3.6 贷款管理模块 (2天) -- 第1天: - - 贷款申请和审批接口 - - 质押物状态监控接口 -- 第2天: - - 还款计划跟踪接口 - - 风险评估数据接口 +2. **政务服务 (government-service:8086)** + - 功能:政策发布、监管上报、审批流程等 + - 状态:待开发 + - 预计开始时间:2024年2月20日 + - 预计完成时间:2024年3月30日 + - 负责人:Java开发团队 -### 3.7 保险管理模块 (2天) -- 第1天: - - 保险投保管理接口 - - 保单状态跟踪接口 -- 第2天: - - 理赔申请和处理接口 - - 风险评估和预警接口 +3. **大屏服务 (dashboard-service:8087)** + - 功能:数据可视化、实时监控、大屏展示等 + - 状态:待开发 + - 预计开始时间:2024年3月1日 + - 预计完成时间:2024年4月10日 + - 负责人:Java开发团队 -### 3.8 政府监管模块 (1天) -- 第1天: - - 产业数据总览接口 - - 监管数据汇总接口 - - 政策发布接口 +4. **商城服务 (mall-service:8088)** + - 功能:商品管理、购物车、订单处理等 + - 状态:待开发 + - 预计开始时间:2024年3月5日 + - 预计完成时间:2024年4月20日 + - 负责人:Java开发团队 -### 3.9 交易管理模块 (2天) -- 第1天: - - 牛只信息发布接口 - - 在线交易撮合接口 -- 第2天: - - 合同管理接口 - - 支付流程管理接口 +## 4. Node.js后端开发计划 -### 3.10 商城管理模块 (2天) -- 第1天: - - 商品信息管理接口 - - 库存管理接口 -- 第2天: - - 订单处理接口 - - 物流跟踪接口 +### 4.1 已完成模块 +1. **AI能力服务 (ai-service:3001)** + - 功能:图像识别、智能分析等AI相关功能 + - 状态:已完成基础框架搭建 + - 负责人:Node.js开发团队 -### 3.11 数据分析模块 (2天) -- 第1天: - - 实时数据采集接口 - - 大数据分析引擎接口 -- 第2天: - - 智能预警系统接口 - - 数据可视化接口 +### 4.2 开发中模块 +1. **部分遗留服务 (legacy-service:3002)** + - 功能:部分原有系统功能的兼容 + - 状态:重构中 + - 进度:30% + - 预计完成时间:2024年2月20日 + - 负责人:Node.js开发团队 -## 4. 技术实现要点 +### 4.3 待开发模块 +1. **其他辅助服务** + - 功能:根据业务需求开发的辅助功能 + - 状态:待规划 + - 预计开始时间:2024年3月1日 + - 预计完成时间:根据需求确定 + - 负责人:Node.js开发团队 -- 实现基于JWT的无状态认证 -- 使用RBAC角色权限管理系统 -- HTTPS加密传输 -- API接口安全防护(限流、防注入等) -- 数据库连接池管理 -- 缓存机制优化性能(Redis) -- 异步任务处理(RabbitMQ) -- 文件存储服务集成(腾讯云) +## 5. 微服务架构规划 -## 5. 开发阶段规划 +### 5.1 核心服务端口分配 +| 服务名称 | 端口号 | 技术栈 | 状态 | +|---------|--------|--------|------| +| farming-service | 8081 | Java | 已完成 | +| user-center-service | 8082 | Java | 已完成 | +| trade-service | 8083 | Java | 开发中 | +| finance-service | 8084 | Java | 开发中 | +| data-platform-service | 8085 | Java | 待开发 | +| government-service | 8086 | Java | 待开发 | +| dashboard-service | 8087 | Java | 待开发 | +| mall-service | 8088 | Java | 待开发 | -### 5.1 阶段一:基础框架搭建 (3天) -- 项目初始化和环境配置 -- Express.js框架搭建 -- 数据库连接配置 -- JWT认证机制实现 -- 基础中间件集成(日志、安全、错误处理等) +### 5.2 基础设施服务端口分配 +| 服务名称 | 端口号 | 技术栈 | 状态 | +|---------|--------|--------|------| +| gateway | 8080 | Java | 待开发 | +| registry | 8761 | Java | 待开发 | +| config-server | 8888 | Java | 待开发 | -### 5.2 阶段二:核心功能开发 (15天) -- 用户认证和权限模块开发 -- 养殖管理相关模块开发 -- 金融服务相关模块开发 -- 政府监管模块开发 -- 交易管理模块开发 -- 商城管理模块开发 -- 数据分析模块开发 +### 5.3 Node.js服务端口分配 +| 服务名称 | 端口号 | 技术栈 | 状态 | +|---------|--------|--------|------| +| ai-service | 3001 | Node.js | 已完成基础框架 | +| legacy-service | 3002 | Node.js | 重构中 | -### 5.3 阶段三:系统集成与测试 (4天) -- 第三方服务集成(银行、保险、腾讯云等) -- API接口测试和优化 -- 性能测试和调优 -- 安全测试和漏洞修复 -- API文档完善 +## 6. 技术迁移策略 -## 6. 质量保障措施 +### 6.1 迁移原则 +1. **渐进式迁移**: 逐步将Node.js服务迁移到Java微服务架构 +2. **业务优先**: 优先迁移核心业务服务 +3. **兼容性保证**: 确保迁移过程中不影响现有业务 +4. **数据一致性**: 保证数据迁移的完整性和一致性 -- 单元测试覆盖率达到80%以上 -- 接口测试确保API稳定性 -- 性能测试确保支持500+并发用户 -- 安全测试防止SQL注入、XSS等攻击 -- 代码审查机制确保代码质量 +### 6.2 迁移步骤 +1. **评估阶段**: 评估现有Node.js服务的复杂度和迁移难度 +2. **设计阶段**: 设计Java微服务架构和接口规范 +3. **开发阶段**: 开发新的Java微服务 +4. **测试阶段**: 进行全面的功能测试和性能测试 +5. **部署阶段**: 逐步替换现有Node.js服务 +6. **监控阶段**: 监控新服务的运行状态和性能表现 -## 7. 部署与运维 +## 7. 开发规范 -- 支持Docker容器化部署 -- 支持云平台部署(腾讯云) -- 支持负载均衡部署 -- 系统运行状态监控 -- 性能监控指标 -- 异常告警功能 -- 日志收集和分析 \ No newline at end of file +### 7.1 代码规范 +1. **Java代码规范**: 遵循阿里巴巴Java开发手册 +2. **Node.js代码规范**: 遵循JavaScript Standard Style +3. **API设计规范**: 遵循RESTful API设计原则 +4. **数据库设计规范**: 遵循数据库设计范式 + +### 7.2 文档规范 +1. **API文档**: 每个接口必须提供详细的API文档 +2. **设计文档**: 每个服务必须提供架构设计文档 +3. **部署文档**: 每个服务必须提供部署说明文档 + +### 7.3 测试规范 +1. **单元测试**: 每个模块必须提供单元测试 +2. **集成测试**: 服务间接口必须提供集成测试 +3. **性能测试**: 关键服务必须提供性能测试报告 + +## 8. 测试策略 + +### 8.1 测试类型 +1. **单元测试**: 验证每个模块的功能正确性 +2. **集成测试**: 验证服务间的接口调用 +3. **性能测试**: 验证系统的性能表现 +4. **安全测试**: 验证系统的安全性 + +### 8.2 测试工具 +1. **Java测试**: JUnit, Mockito +2. **Node.js测试**: Jest, Mocha +3. **API测试**: Postman, JMeter +4. **性能测试**: JMeter, Gatling + +## 9. 部署策略 + +### 9.1 部署环境 +1. **开发环境**: 本地开发环境 +2. **测试环境**: 内部测试环境 +3. **预生产环境**: 预生产验证环境 +4. **生产环境**: 正式生产环境 + +### 9.2 部署方式 +1. **容器化部署**: 使用Docker容器化部署 +2. **自动化部署**: 使用Jenkins实现CI/CD +3. **蓝绿部署**: 关键服务采用蓝绿部署策略 +4. **滚动更新**: 普通服务采用滚动更新策略 + +## 10. 风险控制 + +### 10.1 技术风险 +1. **技术栈切换风险**: 开发团队需要适应新的技术栈 +2. **性能风险**: 微服务架构可能带来性能损耗 +3. **数据一致性风险**: 分布式系统中的数据一致性问题 + +### 10.2 管理风险 +1. **进度风险**: 多个服务并行开发可能影响整体进度 +2. **沟通风险**: 不同技术团队间的沟通协调问题 +3. **质量风险**: 快速开发可能影响代码质量 + +### 10.3 应对措施 +1. **技术培训**: 组织技术培训帮助团队适应新技术 +2. **性能优化**: 通过缓存、异步等手段优化性能 +3. **监控告警**: 建立完善的监控告警机制 +4. **代码审查**: 严格执行代码审查制度 +5. **定期评审**: 定期进行项目进度评审 \ No newline at end of file