agricultural-sock-amalysis/README.md

288 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🌾 农业股票数据分析系统
基于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)
- 股票数据清洗与标准化
- 技术指标计算 (MARSIMACD布林带)
- 市场趋势分析
- 行业板块统计
2. **API服务** (Backend)
- RESTful API接口
- 数据库CRUD操作
- 业务逻辑处理
- 数据缓存优化
3. **可视化界面** (Frontend)
- 实时市场总览
- 交互式图表展示
- 数据趋势分析
- 响应式设计
### 📊 数据指标
- **技术指标**: MA5/MA10/MA20/MA30RSIMACD布林带
- **市场指标**: 涨跌统计成交量市值平均涨跌幅
- **行业分析**: 板块表现行业对比
- **趋势预测**: 历史数据分析走势预判
## 🗄️ 数据库表结构
### 主要数据表
| 表名 | 描述 | 主要字段 |
|------|------|----------|
| `stock_data` | 股票基础数据 | 股票代码价格成交量市值等 |
| `market_analysis` | 市场分析数据 | 涨跌统计总成交量平均涨跌幅 |
| `stock_technical_indicators` | 技术指标数据 | MARSIMACD布林带等 |
| `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
---
🌾 **让大数据技术助力农业金融发展!**