first commit

This commit is contained in:
shenjianZ 2025-06-12 19:34:51 +08:00
commit bb2eb010f7
1 changed files with 288 additions and 0 deletions

288
README.md Normal file
View File

@ -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
---
🌾 **让大数据技术助力农业金融发展!**