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