first commit
This commit is contained in:
commit
bb2eb010f7
|
|
@ -0,0 +1,288 @@
|
||||||
|
# 🌾 农业股票数据分析系统
|
||||||
|
|
||||||
|
基于Spark大数据处理、Spring Boot后端API和Vue.js前端的农业股票市场监控与分析平台
|
||||||
|
|
||||||
|
## 📋 系统概述
|
||||||
|
|
||||||
|
本系统是一个完整的农业股票数据分析解决方案,通过大数据技术对农业相关上市公司的股票数据进行实时处理、技术分析和市场预测。
|
||||||
|
|
||||||
|
### 🏗️ 系统架构
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||||
|
│ Frontend │ │ Backend │ │ Spark Processor │
|
||||||
|
│ (Vue.js) │────│ (Spring Boot) │────│ (Analytics) │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
│ • 数据可视化 │ │ • API接口 │ │ • 数据处理 │
|
||||||
|
│ • 用户界面 │ │ • 业务逻辑 │ │ • 技术分析 │
|
||||||
|
│ • 图表展示 │ │ • 数据库操作 │ │ • 市场分析 │
|
||||||
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||||
|
│ │ │
|
||||||
|
└───────────────────────┼───────────────────────┘
|
||||||
|
│
|
||||||
|
┌─────────────────┐
|
||||||
|
│ MySQL Database │
|
||||||
|
│ │
|
||||||
|
│ • stock_data │
|
||||||
|
│ • market_analysis│
|
||||||
|
│ • technical_data │
|
||||||
|
└─────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📁 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
agricultural-stock-platform/
|
||||||
|
├── spark-processor/ # Spark数据处理模块
|
||||||
|
│ ├── src/main/java/
|
||||||
|
│ │ └── com/agricultural/spark/
|
||||||
|
│ │ ├── StockDataProcessor.java
|
||||||
|
│ │ ├── services/
|
||||||
|
│ │ └── utils/
|
||||||
|
│ ├── database_tables.sql
|
||||||
|
│ ├── logback.xml
|
||||||
|
│ └── pom.xml
|
||||||
|
├── backend/ # Spring Boot后端API
|
||||||
|
│ ├── src/main/java/
|
||||||
|
│ │ └── com/agricultural/stock/
|
||||||
|
│ │ ├── controller/
|
||||||
|
│ │ ├── service/
|
||||||
|
│ │ ├── entity/
|
||||||
|
│ │ ├── mapper/
|
||||||
|
│ │ └── vo/
|
||||||
|
│ ├── src/main/resources/
|
||||||
|
│ │ └── application.yml
|
||||||
|
│ └── pom.xml
|
||||||
|
├── frontend/ # Vue.js前端界面
|
||||||
|
│ ├── src/
|
||||||
|
│ │ ├── views/
|
||||||
|
│ │ ├── components/
|
||||||
|
│ │ ├── api/
|
||||||
|
│ │ ├── utils/
|
||||||
|
│ │ └── styles/
|
||||||
|
│ ├── package.json
|
||||||
|
│ └── vite.config.js
|
||||||
|
├── start-system.sh # 系统启动脚本
|
||||||
|
├── stop-system.sh # 系统停止脚本
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🚀 快速开始
|
||||||
|
|
||||||
|
### 📋 系统要求
|
||||||
|
|
||||||
|
- **Java**: JDK 8 或更高版本
|
||||||
|
- **Maven**: 3.6 或更高版本
|
||||||
|
- **Node.js**: 16.0 或更高版本
|
||||||
|
- **MySQL**: 8.0 或更高版本
|
||||||
|
- **操作系统**: Linux/macOS/Windows
|
||||||
|
|
||||||
|
### 🔧 环境准备
|
||||||
|
|
||||||
|
1. **数据库配置**
|
||||||
|
```sql
|
||||||
|
# 创建数据库
|
||||||
|
CREATE DATABASE agricultural_stock CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
|
|
||||||
|
# 导入表结构
|
||||||
|
mysql -u root -p agricultural_stock < spark-processor/database_tables.sql
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **配置数据库连接**
|
||||||
|
```yaml
|
||||||
|
# backend/src/main/resources/application.yml
|
||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
url: jdbc:mysql://localhost:3306/agricultural_stock
|
||||||
|
username: root
|
||||||
|
password: your_password
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🎯 一键启动
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 给脚本执行权限
|
||||||
|
chmod +x start-system.sh stop-system.sh
|
||||||
|
|
||||||
|
# 启动整个系统
|
||||||
|
./start-system.sh
|
||||||
|
|
||||||
|
# 停止整个系统
|
||||||
|
./stop-system.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📱 访问系统
|
||||||
|
|
||||||
|
- **前端界面**: http://localhost:3000
|
||||||
|
- **后端API**: http://localhost:8080
|
||||||
|
- **API文档**: http://localhost:8080/swagger-ui/index.html
|
||||||
|
|
||||||
|
## 🔧 功能模块
|
||||||
|
|
||||||
|
### 💎 核心功能
|
||||||
|
|
||||||
|
1. **数据处理引擎** (Spark Processor)
|
||||||
|
- 股票数据清洗与标准化
|
||||||
|
- 技术指标计算 (MA、RSI、MACD、布林带)
|
||||||
|
- 市场趋势分析
|
||||||
|
- 行业板块统计
|
||||||
|
|
||||||
|
2. **API服务** (Backend)
|
||||||
|
- RESTful API接口
|
||||||
|
- 数据库CRUD操作
|
||||||
|
- 业务逻辑处理
|
||||||
|
- 数据缓存优化
|
||||||
|
|
||||||
|
3. **可视化界面** (Frontend)
|
||||||
|
- 实时市场总览
|
||||||
|
- 交互式图表展示
|
||||||
|
- 数据趋势分析
|
||||||
|
- 响应式设计
|
||||||
|
|
||||||
|
### 📊 数据指标
|
||||||
|
|
||||||
|
- **技术指标**: MA5/MA10/MA20/MA30、RSI、MACD、布林带
|
||||||
|
- **市场指标**: 涨跌统计、成交量、市值、平均涨跌幅
|
||||||
|
- **行业分析**: 板块表现、行业对比
|
||||||
|
- **趋势预测**: 历史数据分析、走势预判
|
||||||
|
|
||||||
|
## 🗄️ 数据库表结构
|
||||||
|
|
||||||
|
### 主要数据表
|
||||||
|
|
||||||
|
| 表名 | 描述 | 主要字段 |
|
||||||
|
|------|------|----------|
|
||||||
|
| `stock_data` | 股票基础数据 | 股票代码、价格、成交量、市值等 |
|
||||||
|
| `market_analysis` | 市场分析数据 | 涨跌统计、总成交量、平均涨跌幅 |
|
||||||
|
| `stock_technical_indicators` | 技术指标数据 | MA、RSI、MACD、布林带等 |
|
||||||
|
| `industry_analysis` | 行业分析数据 | 行业名称、股票数量、涨跌情况 |
|
||||||
|
| `market_trends` | 市场趋势数据 | 历史趋势、预测数据 |
|
||||||
|
|
||||||
|
## 🔌 API接口
|
||||||
|
|
||||||
|
### 市场分析接口
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 获取最新市场分析
|
||||||
|
GET /api/market/latest
|
||||||
|
|
||||||
|
# 获取历史数据
|
||||||
|
GET /api/market/recent/{days}
|
||||||
|
|
||||||
|
# 获取日期范围数据
|
||||||
|
GET /api/market/range?startDate=2024-01-01&endDate=2024-01-31
|
||||||
|
```
|
||||||
|
|
||||||
|
### 响应格式
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 200,
|
||||||
|
"message": "成功",
|
||||||
|
"data": {
|
||||||
|
"id": 1,
|
||||||
|
"analysisDate": "2024-01-15",
|
||||||
|
"upCount": 7,
|
||||||
|
"downCount": 2,
|
||||||
|
"flatCount": 1,
|
||||||
|
"totalCount": 10,
|
||||||
|
"totalMarketCap": 38147.05,
|
||||||
|
"totalVolume": 1878844,
|
||||||
|
"avgChangePercent": 0.33
|
||||||
|
},
|
||||||
|
"timestamp": 1705123456789
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📈 系统监控
|
||||||
|
|
||||||
|
### 日志查看
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Spark处理日志
|
||||||
|
tail -f logs/spark.log
|
||||||
|
|
||||||
|
# 后端服务日志
|
||||||
|
tail -f logs/backend.log
|
||||||
|
|
||||||
|
# 前端服务日志
|
||||||
|
tail -f logs/frontend.log
|
||||||
|
```
|
||||||
|
|
||||||
|
### 性能监控
|
||||||
|
|
||||||
|
- **Spark作业**: 监控数据处理性能
|
||||||
|
- **API响应**: 监控接口响应时间
|
||||||
|
- **数据库**: 监控查询性能
|
||||||
|
|
||||||
|
## 🛠️ 开发指南
|
||||||
|
|
||||||
|
### 本地开发
|
||||||
|
|
||||||
|
1. **后端开发**
|
||||||
|
```bash
|
||||||
|
cd backend
|
||||||
|
mvn spring-boot:run
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **前端开发**
|
||||||
|
```bash
|
||||||
|
cd frontend
|
||||||
|
npm install
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Spark开发**
|
||||||
|
```bash
|
||||||
|
cd spark-processor
|
||||||
|
mvn compile exec:java
|
||||||
|
```
|
||||||
|
|
||||||
|
### 代码规范
|
||||||
|
|
||||||
|
- **Java**: 遵循阿里巴巴Java开发规范
|
||||||
|
- **JavaScript**: 使用ESLint + Prettier
|
||||||
|
- **数据库**: 驼峰命名,合理索引
|
||||||
|
|
||||||
|
## 🔒 安全措施
|
||||||
|
|
||||||
|
- **数据验证**: 前后端双重验证
|
||||||
|
- **SQL注入防护**: 使用参数化查询
|
||||||
|
- **CORS配置**: 跨域请求安全控制
|
||||||
|
- **日志脱敏**: 敏感信息不记录日志
|
||||||
|
|
||||||
|
## 📋 部署方案
|
||||||
|
|
||||||
|
### 生产环境部署
|
||||||
|
|
||||||
|
1. **容器化部署**
|
||||||
|
```bash
|
||||||
|
# 使用Docker Compose
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **集群部署**
|
||||||
|
- Spark集群:多节点分布式处理
|
||||||
|
- 后端集群:负载均衡 + 高可用
|
||||||
|
- 数据库集群:主从复制 + 读写分离
|
||||||
|
|
||||||
|
## 🤝 贡献指南
|
||||||
|
|
||||||
|
1. Fork本项目
|
||||||
|
2. 创建特性分支
|
||||||
|
3. 提交代码更改
|
||||||
|
4. 发起Pull Request
|
||||||
|
|
||||||
|
## 📄 许可证
|
||||||
|
|
||||||
|
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件
|
||||||
|
|
||||||
|
## 📞 联系我们
|
||||||
|
|
||||||
|
- **项目负责人**: 农业股票分析团队
|
||||||
|
- **技术支持**: support@agricultural-stock.com
|
||||||
|
- **问题反馈**: GitHub Issues
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
🌾 **让大数据技术助力农业金融发展!**
|
||||||
Loading…
Reference in New Issue