commit bb2eb010f788aea981d064a04f62ad71ba6dee62 Author: shenjianZ Date: Thu Jun 12 19:34:51 2025 +0800 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..da90681 --- /dev/null +++ b/README.md @@ -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 + +--- + +🌾 **让大数据技术助力农业金融发展!** \ No newline at end of file