refactor: 重构数据库配置为SQLite开发环境并移除冗余文档

This commit is contained in:
2025-09-21 15:16:48 +08:00
parent d207610009
commit 3c8648a635
259 changed files with 88239 additions and 8379 deletions

View File

@@ -1,363 +0,0 @@
# 系统架构设计文档
## 1. 概述
本项目采用前后端分离的架构设计后端基于双技术栈Java Spring Boot + Node.js的微服务架构前端采用Vue.js和Nuxt.js技术栈支持Web端和微信小程序等多种客户端。
## 2. 技术栈
### 2.1 前端技术栈
- **管理后台**: Vue 3 + Element Plus
- **用户端**: Nuxt 3 (SSR)
- **微信小程序**: 微信小程序原生开发
- **构建工具**: Vite, Webpack
- **状态管理**: Pinia, Vuex
- **HTTP客户端**: Axios
### 2.2 后端技术栈
#### 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.2.2 Node.js技术栈辅助
- **运行环境**: Node.js 16.x
- **Web框架**: Express.js
- **数据库**: MySQL 8.0
- **ORM**: Sequelize
- **构建工具**: NPM/Yarn
### 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
subgraph "网关层"
G[API网关 gateway]
end
subgraph "服务注册与配置中心"
H[Eureka注册中心 registry]
I[Config配置中心 config-server]
end
subgraph "核心业务服务层(Java)"
J[养殖管理服务<br/>farming-service:8081]
K[用户中心服务<br/>user-center-service:8082]
L[交易服务<br/>trade-service:8083]
M[金融服务<br/>finance-service:8084]
N[数据平台服务<br/>data-platform-service:8085]
O[政务服务<br/>government-service:8086]
P[大屏服务<br/>dashboard-service:8087]
Q[商城服务<br/>mall-service:8088]
end
subgraph "辅助业务服务层(Node.js)"
R[AI能力服务<br/>ai-service:3001]
S[部分遗留服务<br/>legacy-service:3002]
end
subgraph "数据存储层"
T[MySQL主数据库]
U[Redis缓存]
V[RabbitMQ消息队列]
end
subgraph "基础设施层"
W[Docker容器]
X[Kubernetes集群]
Y[Nginx反向代理]
end
B --> G
D --> G
F --> G
G --> H
G --> J
G --> K
G --> L
G --> M
G --> N
G --> O
G --> P
G --> Q
G --> R
G --> S
J --> T
K --> T
L --> T
M --> T
N --> T
O --> T
P --> T
Q --> T
R --> T
S --> T
J --> U
K --> U
L --> U
M --> U
N --> U
O --> U
P --> U
Q --> U
R --> U
S --> U
J --> V
K --> V
L --> V
M --> V
N --> V
O --> V
P --> V
Q --> V
R --> V
S --> V
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
W --> X
X --> Y
```
## 4. 前端架构
### 4.1 管理后台 (admin-system)
- 基于Vue 3和Element Plus构建
- 采用组件化开发模式
- 使用Vue Router管理路由
- 使用Pinia进行状态管理
- 通过Axios与后端API通信
### 4.2 用户端 (frontend)
- 基于Nuxt 3构建支持SSR
- 采用模块化架构设计
- 使用Vue Router管理路由
- 使用Vuex进行状态管理
- 通过Axios与后端API通信
### 4.3 微信小程序 (miniprogram)
- 基于微信小程序原生开发
- 采用页面+组件的结构
- 使用微信提供的API和组件
- 通过wx.request与后端API通信
## 5. 后端架构
### 5.1 微服务架构
系统采用微服务架构设计,将业务功能拆分为独立的服务:
#### 5.1.1 Java微服务主要
1. **养殖管理服务 (farming-service:8081)**
- 功能:养殖场管理、牲畜档案、饲养记录等
- 技术Spring Boot, Spring Data JPA
2. **用户中心服务 (user-center-service:8082)**
- 功能:用户管理、权限控制、认证授权等
- 技术Spring Boot, Spring Security, JWT
3. **交易服务 (trade-service:8083)**
- 功能:活牛交易、订单管理、支付处理等
- 技术Spring Boot, Spring Data JPA
4. **金融服务 (finance-service:8084)**
- 功能:贷款申请、保险购买、金融产品等
- 技术Spring Boot, Spring Data JPA
5. **数据平台服务 (data-platform-service:8085)**
- 功能:数据统计、报表生成、数据分析等
- 技术Spring Boot, Spring Data JPA
6. **政务服务 (government-service:8086)**
- 功能:政策发布、监管上报、审批流程等
- 技术Spring Boot, Spring Data JPA
7. **大屏服务 (dashboard-service:8087)**
- 功能:数据可视化、实时监控、大屏展示等
- 技术Spring Boot, Spring Data JPA
8. **商城服务 (mall-service:8088)**
- 功能:商品管理、购物车、订单处理等
- 技术Spring Boot, Spring Data JPA
#### 5.1.2 Node.js服务辅助
1. **AI能力服务 (ai-service:3001)**
- 功能图像识别、智能分析等AI相关功能
- 技术Node.js, Express.js
2. **遗留服务 (legacy-service:3002)**
- 功能:部分原有系统功能的兼容
- 技术Node.js, Express.js
### 5.2 核心组件
#### 5.2.1 API网关 (gateway)
- 技术Spring Cloud Gateway
- 功能:
- 请求路由转发
- 负载均衡
- 认证鉴权
- 限流熔断
- 日志记录
#### 5.2.2 服务注册中心 (registry)
- 技术Eureka Server
- 功能:
- 服务注册与发现
- 服务健康检查
- 服务状态监控
#### 5.2.3 配置中心 (config-server)
- 技术Spring Cloud Config
- 功能:
- 集中化配置管理
- 配置动态刷新
- 环境隔离配置
## 6. 数据架构
### 6.1 数据库设计
- **主数据库**: MySQL 8.0
- **读写分离**: 主从复制
- **分库分表**: 根据业务模块分库
- **索引优化**: 合理设计索引提升查询性能
### 6.2 缓存设计
- **缓存技术**: Redis
- **缓存策略**:
- 热点数据缓存
- 会话缓存
- 分布式锁
- **缓存更新**: 通过消息队列实现缓存同步
### 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作为辅助技术能够充分发挥各自优势构建一个稳定、高效的畜牧管理系统。

View File

@@ -1,293 +0,0 @@
# 开发计划
## 1. 项目概述
本项目是面向锡林郭勒盟地区养殖产业的综合性数字化管理平台,包含官网展示、多个专业管理系统(养殖管理、银行监管、保险监管、政府监管、活牛交易、商城管理)、大屏可视化系统、移动端小程序等多个子系统。平台旨在通过数字化手段提升整个产业链的管理效率和透明度。
## 2. 技术选型
### 2.1 前端技术栈
- **官网首页**: HTML5 + CSS3 + JavaScript
- **专业管理系统**: Vue.js 3 + TypeScript + Ant Design Vue + Pinia
- **大屏可视化系统**: Vue.js 3 + ECharts/DataV
- **微信小程序矩阵**: 微信小程序原生开发 + uni-app
### 2.2 后端技术栈
- **主要后端技术栈**: Java 8+ + Spring Boot + Spring Cloud
- **辅助后端技术栈**: Node.js + Express.js + RESTful API
- **数据库**: MySQL
- **缓存**: Redis用于会话管理和高频数据缓存
- **消息队列**: RabbitMQ用于异步任务处理
- **API文档**: Swagger
- **安全**: JWT认证 + 数据加密
- **文件存储**: 腾讯云存储
### 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.5 技术风险与应对
- **风险1**: 微服务间通信复杂性
- **应对**: 使用Spring Cloud Gateway统一管理服务间通信实施服务熔断和降级机制
- **风险2**: 数据一致性问题
- **应对**: 引入分布式事务解决方案如Seata
- **风险3**: 高并发场景下的数据库性能瓶颈
- **应对**: 引入读写分离和分库分表策略
- **风险4**: 第三方服务(如微信支付)的集成稳定性
- **应对**: 设计降级方案和本地Mock服务
### 2.6 开发工具
- VS Code (推荐IDE)
- IntelliJ IDEA (Java开发推荐IDE)
- Git (版本控制)
- ESLint + Prettier (前端代码规范)
- Checkstyle (Java代码规范)
- JUnit/TestNG (Java单元测试)
- Jest/Vitest (前端单元测试)
## 3. 开发阶段规划
### 阶段一:项目初始化与基础架构搭建 (3周)
#### 3.1 环境配置 (3天)
- 搭建Java开发环境JDK、Maven
- 搭建Node.js开发环境
- 配置代码编辑器
- 初始化Git仓库
- 配置代码规范工具
#### 3.2 微服务架构搭建 (5天)
- 创建微服务基础项目结构
- 配置服务注册中心
- 配置配置服务器
- 配置网关服务
- 实现服务间通信机制
#### 3.3 基础设施集成 (4天)
- 数据库设计和初始化
- Redis缓存配置
- 腾讯云存储服务集成
- JWT身份认证实现
- 基础权限管理框架
#### 3.4 开发规范制定 (2天)
- 制定前后端代码规范
- 确定目录结构
- 编写开发文档
### 阶段二:核心功能开发 (10周)
#### 3.5 用户认证和权限系统 (1周)
- 用户注册/登录功能
- JWT Token管理
- 角色权限管理
- RBAC权限控制实现
#### 3.6 官网首页和基础框架 (1周)
- 官网首页设计和实现
- 6个专业管理系统基础布局
- 导航菜单实现
- 响应式设计适配
#### 3.7 养殖管理系统 (2周)
- 牛只档案管理(耳标二维码管理、全生命周期记录)
- 饲养记录管理(饲料库存预警、每日投喂量记录)
- 繁殖管理(基因谱系分析、产犊预测模型)
- 环境监测数据展示(物联网设备接入、异常环境自动告警)
#### 3.8 银行监管系统 (1周)
- 贷款申请和审批流程管理
- 质押物(牛只)状态监控
- 还款计划跟踪
- 风险评估和预警
#### 3.9 保险监管系统 (1周)
- 保险投保管理
- 理赔申请和处理流程
- 风险评估和预警
- 保险记录查询
#### 3.10 政府监管平台 (1周)
- 产业数据总览
- 各类监管数据汇总
- 政策发布和通知
- 合规性检查
#### 3.11 活牛交易系统 (1周)
- 牛只信息发布和展示
- 在线交易撮合
- 合同管理
- 支付流程管理
#### 3.12 商城管理系统 (1周)
- 商品信息管理
- 库存管理
- 订单处理
- 物流跟踪
#### 3.13 数据平台服务 (1周)
- 数据采集接口
- 数据处理和分析
- 报表生成
### 阶段三:小程序开发 (4周)
#### 3.14 牛肉商城小程序(含认养功能) (1周)
- 商品浏览和搜索
- 在线下单和支付
- 订单查询和跟踪
- 认养功能实现
- 售后服务申请
#### 3.15 养殖管理小程序 (1周)
- 移动端牛只档案查看
- 饲养记录录入
- 健康状况上报
- 通知消息接收
#### 3.16 银行和保险监管小程序 (1周)
- 银行监管小程序功能开发
- 保险监管小程序功能开发
#### 3.17 活牛交易小程序 (1周)
- 活牛信息发布
- 在线交易撮合
- 合同查看和管理
### 阶段四:特色功能和大屏可视化 (3周)
#### 3.18 大屏可视化系统 (1周)
- 数据图表展示
- 仪表盘设计
- 报表生成和导出
#### 3.19 AI能力服务 (1周)
- 图像识别(牛只识别、健康状况识别)
- 预测分析(市场价格预测、产犊预测)
- 智能推荐
#### 3.20 特色功能实现 (1周)
- 锡林郭勒盟地域元素融入
- 蒙古族文化特色设计
- 安格斯牛品牌突出展示
### 阶段五:系统集成与测试 (3周)
#### 3.21 系统集成 (4天)
- 内蒙古畜牧云对接(数据同步、接口规范)
- 金融机构API对接银行接口、保险接口
- 第三方服务集成
#### 3.22 测试用例编写 (4天)
- 单元测试编写核心功能模块单元测试覆盖率不低于80%
- 集成测试实现
- E2E测试配置
#### 3.23 Bug修复与优化 (4天)
- 功能测试与Bug修复
- 性能调优(关键操作响应时间<2秒
- 用户体验优化
#### 3.24 部署准备 (3天)
- 生产环境配置
- 构建脚本优化
- 部署文档编写
- Docker配置
#### 3.25 项目验收与交付 (1天)
- 用户验收测试
- 项目文档完善
- 代码交接
- 项目总结
## 4. 团队分工
### 4.1 前端开发团队
- 前端架构师(1名)负责前端架构设计和技术选型
- 官网首页开发工程师(1名)负责官网首页开发
- 专业管理系统开发工程师(4名)负责6个专业管理系统开发
- 大屏可视化开发工程师(1名)负责大屏可视化系统开发
- 小程序开发工程师(3名)负责5个微信小程序开发
- UI设计师(1名)负责界面设计和用户体验优化
### 4.2 后端开发团队
- 后端架构师(1名)负责后端架构设计和技术选型
- Java微服务开发工程师(5名)负责Java微服务开发
- Node.js开发工程师(2名)负责Node.js服务开发
- 数据库工程师(1名)负责数据库设计和优化
- 运维工程师(1名)负责部署和运维工作
### 4.3 数据分析团队
- 数据分析师(1名)负责数据分析和可视化
- 算法工程师(1名)负责AI能力服务开发
### 4.4 测试团队
- 测试工程师(2名)负责测试用例编写和执行
## 5. 质量保障
### 5.1 代码质量控制
- 使用ESLint和Prettier统一前端代码风格
- 使用Checkstyle统一Java代码风格
- 通过Code Review确保代码质量
- 使用TypeScript增强前端代码可维护性
### 5.2 测试策略
- 单元测试核心功能模块单元测试覆盖率不低于80%
- 集成测试实现主要业务流程的集成测试
- E2E测试关键用户路径的端到端测试
- 性能测试确保系统支持500+并发用户
### 5.3 安全保障
- 数据传输加密HTTPS
- 敏感数据脱敏存储
- 防止SQL注入和XSS攻击
- CSRF防护机制
- API接口限流和防护
## 6. 部署与运维
### 6.1 部署方案
- 支持Docker容器化部署
- 支持云平台部署腾讯云
- 支持负载均衡部署
- 微服务独立部署和扩缩容
### 6.2 监控体系
- 系统运行状态监控
- 性能监控指标
- 异常告警功能
- 日志收集和分析
### 6.3 故障处理
- 提供故障诊断工具
- 实现自动故障恢复机制
- 提供故障处理文档

View File

@@ -1,325 +0,0 @@
# 大屏可视化系统 API 文档 (v1.0.0)
## 1. 接口概述
### 1.1 功能范围
- 产业数据概览展示
- 实时监控数据推送
- 历史数据查询分析
- 地图区域数据展示
### 1.2 基础路径
`/api/v1/dashboard`
### 1.3 权限控制
- 公开接口(无需认证):数据查询和展示
- 管理接口(需要认证):数据配置和管理
### 1.4 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 2. 接口明细
### 2.1 获取实时数据
```
GET /realtime
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| 无参数 | | | |
**响应示例**:
```json
{
"status": "success",
"data": {
"timestamp": "2023-08-19T10:30:00Z",
"total_cattle": 128456,
"total_farms": 1245,
"annual_output_value": 2860000000,
"total_transaction": 1520000000
}
}
```
### 2.2 WebSocket实时数据推送
```
WebSocket /ws
```
**推送数据格式**:
```json
{
"type": "realtime_update",
"data": {
"timestamp": "2023-08-19T10:30:00Z",
"total_cattle": 128456,
"total_farms": 1245,
"annual_output_value": 2860000000,
"total_transaction": 1520000000
}
}
```
### 2.3 获取历史数据
```
GET /history
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| start_date | string | 否 | 开始日期(YYYY-MM-DD)|
| end_date | string | 否 | 结束日期(YYYY-MM-DD)|
| type | string | 是 | 数据类型 |
**响应示例**:
```json
{
"status": "success",
"data": {
"items": [
{
"date": "2023-01",
"value": 8200
},
{
"date": "2023-02",
"value": 9100
}
],
"total": 12,
"start_date": "2023-01-01",
"end_date": "2023-12-31"
}
}
```
### 2.4 获取区域地图数据
```
GET /map/regions
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| 无参数 | | | |
**响应示例**:
```json
{
"status": "success",
"data": {
"regions": [
{
"id": "xlg",
"name": "锡林浩特市",
"coordinates": [116.093, 43.946],
"cattle_count": 25600,
"farm_count": 120,
"output_value": 650000000
},
{
"id": "dwq",
"name": "东乌旗",
"coordinates": [116.980, 45.514],
"cattle_count": 18500,
"farm_count": 95,
"output_value": 480000000
}
],
"total": 12
}
}
```
### 2.5 获取指定区域详细数据
```
GET /map/region/{regionId}
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| regionId | string | 是 | 区域ID |
**响应示例**:
```json
{
"status": "success",
"data": {
"region": {
"id": "xlg",
"name": "锡林浩特市",
"coordinates": [116.093, 43.946],
"cattle_count": 25600,
"farm_count": 120,
"output_value": 650000000,
"trend": "up"
},
"farms": [
{
"id": "FARM001",
"name": "锡林浩特市第一牧场",
"coordinates": [116.120, 43.950],
"cattle_count": 2450,
"output_value": 62000000
}
]
}
}
```
## 3. 版本历史
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完成基础接口定义
### 2.6 获取大屏配置
```
GET /config
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| 无参数 | | | |
**响应示例**:
```json
{
"status": "success",
"data": {
"layout": "grid",
"theme": "dark",
"refresh_interval": 30,
"charts": [
{
"id": "cattle_count",
"type": "line",
"title": "牛只数量趋势",
"position": "top-left"
},
{
"id": "transaction_volume",
"type": "bar",
"title": "交易量统计",
"position": "top-right"
}
]
}
}
```
### 2.7 更新大屏配置
```
PUT /config
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-----------------|--------|------|--------------------|
| layout | string | 是 | 布局方式 |
| theme | string | 是 | 主题 |
| refresh_interval| number | 是 | 刷新间隔(秒) |
| charts | array | 是 | 图表配置 |
**响应示例**:
```json
{
"status": "success",
"data": {
"message": "配置更新成功"
}
}
```
## 5. 数据格式
### 5.1 产业概览数据
```json
{
"total_cattle": 128456,
"total_farms": 1245,
"annual_output_value": 2860000000,
"total_transaction": 1520000000,
"growth_rate": 5.2
}
```
### 5.2 养殖监控数据
```json
{
"farm_id": "FARM001",
"temperature": 22.5,
"humidity": 65,
"cattle_count": 245,
"feed_consumption": 1200
}
```
### 5.3 金融服务数据
```json
{
"loan_amount": 8600000,
"insurance_policies": 12450,
"claim_amount": 245000,
"approval_rate": 92.5
}
```
### 5.4 交易统计数据
```json
{
"daily_transactions": 125,
"average_price": 18500,
"regional_distribution": [
{
"region": "东乌旗",
"count": 1200
}
]
}
```
## 6. 错误处理
### 6.1 错误响应格式
```json
{
"error": {
"code": "DASHBOARD_001",
"message": "获取数据失败",
"details": "数据库连接异常"
}
}
```
### 6.2 常见错误码
- `DASHBOARD_001`: 数据获取失败
- `DASHBOARD_002`: 参数错误
- `DASHBOARD_003`: 权限不足
- `DASHBOARD_004`: 系统内部错误
## 7. 权限说明
大屏可视化系统接口需要以下权限:
- `dashboard:view`: 查看大屏数据权限
- `dashboard:config`: 配置大屏权限
## 8. 注意事项
1. 大屏可视化系统主要面向内部管理使用,需要相应权限才能访问
2. 实时数据推送通过WebSocket实现需要保持长连接
3. 历史数据支持分页查询,避免一次性加载大量数据
4. 所有接口均采用HTTPS加密传输

View File

@@ -1,139 +0,0 @@
# 养殖管理系统 API 文档 (v1.1.0)
## 1. 接口概述
### 1.1 功能范围
- 牛只档案管理
- 饲喂记录管理
- 防疫管理
- 繁殖管理
- 环境监测
### 1.2 基础路径
`/api/v1/farming`
### 1.3 技术栈
- **后端**: Java Spring Boot + Spring Cloud (farming-service, 端口: 8081)
- **数据库**: MySQL
- **缓存**: Redis
- **API文档**: Swagger
### 1.4 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据录入和管理
- 系统接口(高级权限):批量操作和配置
### 1.5 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 2. 接口明细
### 2.1 添加牛只
```
POST /cattles
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|--------------|--------|------|--------------------|
| ear_tag | string | 是 | 耳标号(唯一) |
| breed | string | 是 | 品种 |
| birth_date | string | 是 | 出生日期(YYYY-MM-DD)|
| gender | string | 是 | 性别(公/母) |
| weight | number | 否 | 体重(kg) |
**响应示例**:
```json
{
"status": "success",
"data": {
"id": "CATTLE001",
"ear_tag": "NM000001",
"created_at": "2024-01-20T10:00:00Z"
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
### 2.2 批量导入牛只
```
POST /cattles/batch
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|--------------|--------|------|--------------------|
| file | file | 是 | Excel文件 |
**响应示例**:
```json
{
"status": "success",
"data": {
"imported_count": 50,
"failed_count": 2,
"failed_items": [
{
"row": 25,
"error": "耳标号格式错误"
}
]
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
### 2.3 添加防疫记录
```
POST /vaccinations
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|--------------|--------|------|--------------------|
| cattle_id | string | 是 | 牛只ID |
| vaccine_type | string | 是 | 疫苗类型 |
| date | string | 是 | 接种日期(YYYY-MM-DD)|
| dosage | number | 否 | 剂量(ml) |
| veterinarian | string | 否 | 兽医姓名 |
**响应示例**:
```json
{
"status": "success",
"data": {
"id": "VACC001",
"cattle_id": "CATTLE001",
"vaccine_type": "口蹄疫",
"created_at": "2024-01-20T10:30:00Z"
},
"timestamp": "2024-01-20T10:30:00Z"
}
```
## 3. 数据规范
- 耳标号格式:省简称+6位数字(如NM000001)
- 疫苗记录保留至少5年
- 敏感数据需RSA加密传输
- 日期格式YYYY-MM-DD
- 时间格式YYYY-MM-DDTHH:mm:ssZ
## 4. 版本历史
### v1.1.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完善养殖管理接口定义
- 新增: Java后端技术栈说明
- 新增: timestamp字段
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完成基础接口定义

View File

@@ -1,133 +0,0 @@
# 金融业务系统 API 文档 (v1.1.0)
## 1. 接口概述
### 1.1 功能范围
- 贷款申请
- 保险购买
- 理赔处理
- 贷款审批
### 1.2 基础路径
`/api/v1/[系统名称]`
### 1.3 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据管理
- 系统接口(高级权限):配置管理
### 1.4 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
`/api/v1/finance`
## 2. 接口明细
### 2.1 贷款申请
```
POST /loans
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|-----------------|---------|------|--------------------|
| farmer_id | number | 是 | 牧户ID |
| amount | number | 是 | 申请金额(元) |
| collateral_type | string | 是 | 抵押物类型 |
| term | number | 是 | 贷款期限(月) |
| interest_rate | number | 是 | 年利率(%) |
**响应示例**:
```json
{
"status": "success",
"data": {
"loan_id": "loan_001",
"farmer_id": 1001,
"amount": 50000,
"collateral_type": "牛只",
"term": 12,
"interest_rate": 4.35,
"monthly_payment": 4260.25,
"application_date": "2024-01-20T10:00:00Z",
"status": "审批中"
}
}
```
### 2.2 贷款审批状态查询
```
GET /loans/:id/status
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| id | string | 是 | 贷款ID |
**响应示例**:
```json
{
"status": "success",
"data": {
"loan_id": "loan_001",
"status": "已批准",
"approval_date": "2024-01-21T10:00:00Z",
"approved_amount": 50000,
"approver": "审批员001",
"next_payment_date": "2024-02-20T10:00:00Z"
}
}
```
### 2.3 保险购买
```
POST /insurances
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|-----------------|---------|------|--------------------|
| farmer_id | number | 是 | 牧户ID |
| cattle_id | string | 是 | 牛只ID |
| insurance_type | string | 是 | 保险类型 |
| premium | number | 是 | 保费(元) |
**响应示例**:
```json
{
"status": "success",
"data": {
"insurance_id": "ins_001",
"farmer_id": 1001,
"cattle_id": "cattle_123",
"insurance_type": "疾病保险",
"premium": 500,
"coverage_amount": 10000,
"effective_date": "2024-01-20T10:00:00Z",
"expiry_date": "2025-01-20T10:00:00Z",
"policy_number": "POL-20240120-001"
}
}
```
## 3. 风控规则
- 单笔贷款金额 ≤ 牧户资产总额的50%
- 理赔申请需在灾害发生后30天内提交
- 敏感数据需RSA加密传输
## 4. 权限控制
- 贷款申请:牧户
- 贷款审批:银行管理员
- 保险购买:牧户
## 3. 版本历史
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完成基础接口定义

View File

@@ -1,126 +0,0 @@
# 政府监管系统 API 文档 (v1.1.0)
## 1. 接口概述
### 1.1 功能范围
- 防疫任务下发
- 补贴发放
- 检疫监管
- 任务状态跟踪
### 1.2 基础路径
`/api/v1/[系统名称]`
### 1.3 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据管理
- 系统接口(高级权限):配置管理
### 1.4 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
`/api/v1/gov`
## 2. 接口明细
### 2.1 创建防疫任务
```
POST /quarantines
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|---------------|--------|------|--------------------|
| location | string | 是 | GPS坐标(纬度,经度)|
| inspector_id | number | 是 | 检疫员ID |
| deadline | string | 是 | 截止日期(YYYY-MM-DD)|
| task_type | string | 是 | 任务类型(常规/紧急)|
| priority | number | 否 | 优先级(1-5) |
**响应示例**:
```json
{
"status": "success",
"data": {
"task_id": "task_001",
"location": "39.9042,116.4074",
"inspector_id": 1001,
"deadline": "2024-01-25",
"task_type": "紧急",
"priority": 1,
"created_at": "2024-01-20T10:00:00Z"
}
}
```
### 2.2 防疫任务状态查询
```
GET /quarantines/:id/status
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| id | string | 是 | 任务ID |
**响应示例**:
```json
{
"status": "success",
"data": {
"task_id": "task_001",
"status": "进行中",
"progress": 50,
"inspector": "张三",
"start_time": "2024-01-20T10:00:00Z",
"estimated_completion": "2024-01-22T10:00:00Z"
}
}
```
### 2.3 检疫监管
```
POST /inspections
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|---------------|--------|------|--------------------|
| cattle_id | string | 是 | 牛只ID |
| inspector_id | number | 是 | 检疫员ID |
| result | string | 是 | 检疫结果(合格/不合格)|
**响应示例**:
```json
{
"status": "success",
"data": {
"inspection_id": "insp_001",
"cattle_id": "cattle_123",
"inspector_id": 1001,
"result": "合格",
"inspection_time": "2024-01-20T10:00:00Z",
"certificate_number": "CERT-20240120-001"
}
}
```
## 3. 审计要求
- 所有操作记录操作人IP和时间
- 敏感数据需RSA加密传输
## 4. 权限控制
- 防疫任务下发:政府管理员
- 检疫监管:检疫员
- 补贴发放:财务人员
## 3. 版本历史
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完成基础接口定义

View File

@@ -1,156 +0,0 @@
# 交易系统 API 文档 (v1.1.0)
## 1. 接口概述
### 1.1 功能范围
- 商品发布/下架
- 订单创建/支付
- 物流跟踪
- 订单状态查询
### 1.2 基础路径
`/api/v1/[系统名称]`
### 1.3 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据管理
- 系统接口(高级权限):配置管理
### 1.4 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
`/api/v1/trades`
## 2. 接口明细
### 2.1 商品发布
```
POST /products
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|--------------|--------|------|--------------------|
| name | string | 是 | 商品名称 |
| price | number | 是 | 价格(元) |
| stock | number | 是 | 库存数量 |
| category | string | 是 | 商品分类 |
**响应示例**:
```json
{
"status": "success",
"data": {
"product_id": "prod_001",
"name": "优质牛肉",
"price": 98.5,
"stock": 100,
"category": "生鲜",
"seller_id": "seller_001",
"created_at": "2024-01-20T10:00:00Z",
"status": "上架中"
}
}
```
### 2.2 创建订单
```
POST /orders
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|--------------|--------|------|--------------------|
| product_id | number | 是 | 商品ID |
| quantity | number | 是 | 购买数量 |
| address_id | number | 是 | 收货地址ID |
| payment_method | string | 是 | 支付方式(微信/支付宝)|
| coupon_code | string | 否 | 优惠券码 |
**响应示例**:
```json
{
"status": "success",
"data": {
"order_id": "order_001",
"product_id": "prod_001",
"quantity": 2,
"total_amount": 197.0,
"discount_amount": 0.0,
"final_amount": 197.0,
"payment_method": "微信支付",
"order_status": "待支付",
"created_at": "2024-01-20T10:00:00Z",
"payment_expiry": "2024-01-20T10:30:00Z"
}
}
```
### 2.3 物流跟踪
```
GET /logistics/:order_id
```
**请求参数**:
| 参数 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| order_id | string | 是 | 订单ID |
**响应示例**:
```json
{
"status": "success",
"data": {
"order_id": "order_001",
"logistics": [
{
"tracking_number": "SF1234567890",
"status": "已发货",
"current_location": "北京市朝阳区",
"estimated_delivery": "2024-01-22T10:00:00Z",
"history": [
{
"time": "2024-01-20T10:00:00Z",
"status": "商家已接单",
"location": "北京市朝阳区"
},
{
"time": "2024-01-20T12:00:00Z",
"status": "已发货",
"location": "北京市朝阳区"
}
]
}
]
}
}
```
## 3. 状态流转
```mermaid
stateDiagram
[*] --> 待支付
待支付 --> 已支付: 支付成功
已支付 --> 配送中: 商家发货
配送中 --> 已完成: 确认收货
```
## 4. 安全要求
- 支付接口需HTTPS加密
- 敏感数据需RSA加密传输
## 5. 权限控制
- 商品发布:商户
- 订单创建:用户
- 物流跟踪:用户/商户
## 3. 版本历史
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完成基础接口定义

View File

@@ -1,108 +0,0 @@
# 用户中心系统 API 文档 (v1.1.0)
## 1. 接口概述
### 1.1 功能范围
- 用户注册/登录/注销
- 个人信息管理
- 权限控制
### 1.2 基础路径
`/api/v1/users`
### 1.3 技术栈
- **后端**: Java Spring Boot + Spring Cloud (user-center-service, 端口: 8082)
- **数据库**: MySQL
- **缓存**: Redis
- **API文档**: Swagger
### 1.4 权限控制
- 公开接口(无需认证):数据查询
- 管理接口(需要认证):数据管理
- 系统接口(高级权限):配置管理
### 1.5 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 2. 接口明细
### 2.1 用户注册
```
POST /register
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|------------|--------|------|----------------|
| username | string | 是 | 4-20位字母数字 |
| password | string | 是 | 6-20位含大小写 |
| phone | string | 是 | 11位手机号 |
**响应示例**:
```json
{
"status": "success",
"data": {
"user_id": "user_001",
"username": "testuser",
"phone": "13800138000",
"created_at": "2024-01-20T10:00:00Z"
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
### 2.2 用户登录
```
POST /login
```
**请求参数**:
| 字段 | 类型 | 必填 | 说明 |
|------------|--------|------|----------------|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
**响应示例**:
```json
{
"status": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"user_info": {
"user_id": "user_001",
"username": "testuser",
"roles": ["user"]
},
"expires_in": 86400
},
"timestamp": "2024-01-20T10:00:00Z"
}
```
## 3. 状态码规范
| 代码 | 说明 |
|------|----------------|
| 200 | 成功 |
| 400 | 参数校验失败 |
| 401 | 认证失败 |
## 4. 版本历史
### v1.1.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完善用户中心接口定义
- 新增: Java后端技术栈说明
- 新增: timestamp字段
### v1.0.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完成基础接口定义

View File

@@ -1,203 +0,0 @@
# 官网 API 文档 (v1.1.0)
## 1. 接口概述
### 1.1 功能范围
- 新闻资讯管理
- 平台数据展示
- 用户留言处理
- 平台信息配置
- 管理员认证
### 1.2 基础路径
`/api/v1/website`
### 1.3 权限控制
- 公开接口(无需认证):新闻列表、数据展示、留言提交
- 管理接口(需要认证):新闻管理、留言处理、配置管理
- 认证接口:管理员登录
### 1.4 全局错误码
| 状态码 | 说明 |
|--------|--------------------|
| 400 | 请求参数无效 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 2. 接口明细
### 2.1 获取新闻列表
```
GET /news
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| page | number | 否 | 页码(默认1) |
| limit | number | 否 | 每页数量(默认10) |
| category | string | 否 | 分类筛选 |
**响应示例**:
```json
{
"status": "success",
"data": {
"items": [
{
"id": 1,
"title": "锡林郭勒盟出台畜牧业数字化发展三年规划",
"summary": "规划提出到2027年实现全盟畜牧业数字化覆盖率90%以上",
"category": "政策解读",
"publish_time": "2025-08-15T10:00:00Z",
"image_url": "/images/news-1.jpg"
}
],
"total": 100,
"page": 1,
"limit": 10
}
}
```
### 2.2 获取新闻详情
```
GET /news/{id}
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| id | number | 是 | 新闻ID |
**响应示例**:
```json
{
"status": "success",
"data": {
"id": 1,
"title": "锡林郭勒盟出台畜牧业数字化发展三年规划",
"content": "详细新闻内容...",
"category": "政策解读",
"publish_time": "2025-08-15T10:00:00Z",
"author": "管理员",
"views": 1250
}
}
```
### 2.3 获取统计数据
```
GET /statistics
```
**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| 无参数 | | | |
**响应示例**:
```json
{
"status": "success",
"data": {
"livestock_count": {
"cattle": 1200000,
"sheep": 850000,
"horse": 320000,
"camel": 80000
},
"forage_data": {
"production": [12, 19, 15, 22, 28, 35],
"price": [1800, 1750, 1850, 1900, 1950, 2000]
}
}
}
```
### 2.4 提交留言
```
POST /messages
```
**请求参数**:
| 字段名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| name | string | 是 | 姓名 |
| email | string | 是 | 邮箱 |
| phone | string | 否 | 电话 |
| content | string | 是 | 留言内容 |
**响应示例**:
```json
{
"status": "success",
"data": {
"message": "留言提交成功,我们会尽快回复您",
"message_id": "MSG001"
}
}
```
### 2.5 管理员登录
```
POST /auth/login
```
**请求参数**:
| 字段名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
**响应示例**:
```json
{
"status": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600,
"user_info": {
"username": "admin",
"role": "administrator"
}
}
}
```
### 2.6 创建新闻(管理员)
```
POST /news
```
**请求参数**:
| 字段名 | 类型 | 必填 | 说明 |
|-------------|--------|------|--------------------|
| title | string | 是 | 标题 |
| content | string | 是 | 内容 |
| summary | string | 否 | 摘要 |
| category | string | 是 | 分类 |
| author | string | 否 | 作者 |
| image_url | string | 否 | 图片URL |
**响应示例**:
```json
{
"status": "success",
"data": {
"id": 101,
"title": "新发布的新闻",
"created_at": "2025-08-19T10:00:00Z",
"publish_time": "2025-08-19T10:00:00Z"
}
}
```
## 3. 版本历史
### v1.1.0 (2024-01-20)
- 新增: 按照API文档规范标准统一格式
- 优化: 统一响应格式和错误处理
- 功能: 完善官网接口定义

View File

@@ -1,58 +0,0 @@
# 数据库设计
## 概述
本项目使用MySQL作为主要的关系型数据库存储用户信息、牛只档案、交易记录、监管数据等核心业务数据。
## 数据库设计规范
1. 使用InnoDB存储引擎
2. 字符集使用utf8mb4
3. 所有表都有创建时间和更新时间字段
4. 主键使用自增ID
5. 外键约束用于保证数据一致性
## 备份与恢复策略
- **每日全量备份**: 通过`mysqldump`导出数据
- **Binlog增量备份**: 实时同步到备份服务器
- **恢复测试**: 每月验证备份文件可用性
## 数据迁移工具
- 使用Flyway管理数据库版本变更
- 迁移脚本存放在`/migrations`目录
## 核心数据表
### 1. 用户表 (users)
存储系统用户信息,包括牧民、银行职员、保险员、政府监管人员等。
### 2. 角色表 (roles)
存储系统角色信息,如管理员、牧民、银行职员等。
### 3. 权限表 (permissions)
存储系统权限信息。
### 4. 牛只档案表 (cattle)
存储牛只基本信息,包括品种、年龄、健康状况等。
### 5. 饲养记录表 (feeding_records)
存储牛只饲养记录,包括饲料、疫苗、治疗等信息。
### 6. 繁殖记录表 (breeding_records)
存储牛只繁殖相关信息。
### 7. 交易记录表 (transactions)
存储活牛交易记录。
### 8. 合同表 (contracts)
存储交易合同信息。
### 9. 商品表 (products)
存储牛肉商城商品信息。
### 10. 订单表 (orders)
存储用户订单信息。
## 数据库脚本
数据库初始化脚本和迁移脚本将存放在此目录中。

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff