Go to file
shenjianZ 236364a10f feat: fix frontend 2025-06-22 12:10:12 +08:00
backend feat: fix frontend 2025-06-21 16:55:45 +08:00
data-collector feat: fix frontend 2025-06-21 16:55:45 +08:00
docs data-collector fixed 2025-06-21 08:46:45 +08:00
frontend feat: fix frontend 2025-06-22 12:10:12 +08:00
logs feat: fix frontend 2025-06-21 16:55:45 +08:00
spark-processor first commit 2025-06-12 19:37:54 +08:00
.gitignore first commit 2025-06-12 19:37:54 +08:00
README.md first commit 2025-06-12 19:34:51 +08:00
agricultural_stock.sql first commit 2025-06-12 19:37:54 +08:00
docker-compose.yml first commit 2025-06-12 19:37:54 +08:00
start-system.sh first commit 2025-06-12 19:37:54 +08:00
start.sh first commit 2025-06-12 19:37:54 +08:00
stop-system.sh first commit 2025-06-12 19:37:54 +08:00

README.md

🌾 农业股票数据分析系统

基于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. 数据库配置

    # 创建数据库
    CREATE DATABASE agricultural_stock CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
    # 导入表结构
    mysql -u root -p agricultural_stock < spark-processor/database_tables.sql
    
  2. 配置数据库连接

    # backend/src/main/resources/application.yml
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/agricultural_stock
        username: root
        password: your_password
    

🎯 一键启动

# 给脚本执行权限
chmod +x start-system.sh stop-system.sh

# 启动整个系统
./start-system.sh

# 停止整个系统
./stop-system.sh

📱 访问系统

🔧 功能模块

💎 核心功能

  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接口

市场分析接口

# 获取最新市场分析
GET /api/market/latest

# 获取历史数据
GET /api/market/recent/{days}

# 获取日期范围数据
GET /api/market/range?startDate=2024-01-01&endDate=2024-01-31

响应格式

{
  "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
}

📈 系统监控

日志查看

# Spark处理日志
tail -f logs/spark.log

# 后端服务日志
tail -f logs/backend.log

# 前端服务日志
tail -f logs/frontend.log

性能监控

  • Spark作业: 监控数据处理性能
  • API响应: 监控接口响应时间
  • 数据库: 监控查询性能

🛠️ 开发指南

本地开发

  1. 后端开发

    cd backend
    mvn spring-boot:run
    
  2. 前端开发

    cd frontend
    npm install
    npm run dev
    
  3. Spark开发

    cd spark-processor
    mvn compile exec:java
    

代码规范

  • Java: 遵循阿里巴巴Java开发规范
  • JavaScript: 使用ESLint + Prettier
  • 数据库: 驼峰命名,合理索引

🔒 安全措施

  • 数据验证: 前后端双重验证
  • SQL注入防护: 使用参数化查询
  • CORS配置: 跨域请求安全控制
  • 日志脱敏: 敏感信息不记录日志

📋 部署方案

生产环境部署

  1. 容器化部署

    # 使用Docker Compose
    docker-compose up -d
    
  2. 集群部署

    • Spark集群多节点分布式处理
    • 后端集群:负载均衡 + 高可用
    • 数据库集群:主从复制 + 读写分离

🤝 贡献指南

  1. Fork本项目
  2. 创建特性分支
  3. 提交代码更改
  4. 发起Pull Request

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

📞 联系我们


🌾 让大数据技术助力农业金融发展!