# 大数据分析与智能决策支持系统 **Repository Path**: RicheFactory/EBI-DSS ## Basic Information - **Project Name**: 大数据分析与智能决策支持系统 - **Description**: 基于超市销售场景的全栈大数据可视化分析平台,集成机器学习智能决策模块,提供从数据采集、分析到智能推荐的一站式解决方案。本项目旨在将现有的"基于ECharts的超市门店销售数据可视化系统"升级改造为面向2026年中国大学生计算机设计大赛(赛题2)的"电子商务大数据分析与智能决策支持系统"。系统需基于真实阿里巴巴电商数据集(天猫推荐数据集Rec-Tmall、阿里妈妈搜索广告转化预测数据集、重复购买预 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🛒 智链商擎智能供应链商业决策引擎 基于智链商擎智能供应链商业决策引擎,集成机器学习智能决策模块,提供从数据采集、分析到智能推荐的一站式解决方案。 ## 📸 系统架构 ``` ┌─────────────┐ ┌──────────────────┐ ┌──────────────┐ │ Frontend │────▶│ Backend (API) │────▶│ MySQL │ │ Vue 3 + UI │ │ Spring Boot 2.7 │ │ supermarket │ │ Port: 3000 │ │ Port: 8080 │ │ _db │ └─────────────┘ └────────┬─────────┘ └──────────────┘ │ ▲ ▼ │ ┌──────────────────┐ │ │ ML Service │──────────────┘ │ FastAPI + sklearn│ │ Port: 8000 │ └──────────────────┘ ``` ## 🛠 技术栈 | 层级 | 技术 | |------|------| | 前端 | Vue 3.3 + Vue Router 4 + Element Plus 2.4 + ECharts 5.4 | | 后端 | Java 8 + Spring Boot 2.7.18 + MyBatis-Plus 3.5 | | ML服务 | Python 3 + FastAPI + scikit-learn + XGBoost + LightGBM | | 数据库 | MySQL 8.0 | | 认证 | JWT (jjwt 0.9) + BCrypt 密码加密 | | 构建工具 | Maven (后端) + Vite 4 (前端) + pip (ML) | ## 📁 项目结构 ``` ├── backend/ # Java 后端服务 │ └── src/main/java/com/supermarket/ │ ├── controller/ # REST API 控制器 │ ├── entity/ # 数据实体类 │ ├── mapper/ # MyBatis-Plus Mapper │ ├── service/ # 业务逻辑层 │ ├── security/ # JWT 认证 & RBAC 权限 │ ├── config/ # 配置类 (CORS, MVC, MyBatis) │ └── common/ # 统一响应 & 全局异常处理 ├── frontend/ # Vue 3 前端 │ └── src/ │ ├── views/ │ │ ├── admin/ # 管理端页面 (11个) │ │ ├── user/ # 用户端页面 + 可视化分析 │ │ ├── login/ # 登录页面 │ │ └── register/ # 注册页面 │ ├── router/ # 路由配置 │ └── api/ # Axios 请求封装 (JWT 自动附加) ├── ml-service/ # Python ML 微服务 │ ├── models/ # ML 模型 (推荐/预测/营销/供应链/定价/情感) │ ├── routers/ # FastAPI 路由 │ ├── data_pipeline/ # ETL 数据管道 │ └── utils/ # 数据库连接工具 └── sql/ # 数据库建表脚本 ``` ## ✨ 功能模块 ### 管理端 (Admin) | 模块 | 说明 | |------|------| | 控制台 | 系统概览、用户统计、CPU/内存监控、近期日志 | | 用户管理 | 用户 CRUD、角色分配 | | 产品管理 | 商品上下架、分类、条形码管理 | | 销售管理 | 销售数据查看与管理 | | 库存管理 | 库存列表、补货审核 | | 数据管理 | 数据导入导出 | | 系统配置 | 系统参数配置 | | 数据字典 | 字典项维护 | | 操作日志 | 全局操作审计日志 | | 公告管理 | 系统公告发布 | ### 用户端 (User) | 模块 | 说明 | |------|------| | 驾驶舱首页 | 核心指标看板、销售趋势图表 | | 销售趋势分析 | 多维度销售趋势可视化 | | 品类占比分析 | 品类销售占比饼图/环形图 | | 门店业绩对比 | 多门店业绩横向对比 | | 客流与会员分析 | 客流量、会员消费行为分析 | | 销售预测 🤖 | 基于 ML 的销售额预测 | | 库存关联分析 | 库存与销售关联分析 | | 智能推荐 🤖 | 协同过滤商品推荐 | | 营销分析 🤖 | 营销活动效果分析与建议 | | 供应链监控 🤖 | 供应链健康度监控 | | 价格优化 🤖 | 智能定价建议 | | 客户服务分析 🤖 | 评价情感分析 | | 补货申请 | 门店补货申请提交 | | 商品查询 | 商品信息检索 | | 个人中心 | 用户信息管理 | > 🤖 标记的模块依赖 ML 服务,未启动时会优雅降级 ### 权限体系 (RBAC) | 角色 | 权限范围 | |------|---------| | admin | 全部接口 | | user | 用户端接口 + ML 接口 + 商品查询(只读) + 数据导出 | | analyst | 用户端接口 + ML 接口 + 数据导出 + 管理端控制台(只读) | | viewer | 用户分析接口(只读) | ## 🚀 快速开始 ### 环境要求 - JDK 8+ - Node.js 16+ - Python 3.8+ - MySQL 8.0 - Maven 3.6+ ### 1. 数据库初始化 ```bash # 创建数据库 mysql -u root -p -e "CREATE DATABASE supermarket_db DEFAULT CHARSET utf8mb4;" # 导入补充表结构 mysql -u root -p supermarket_db < sql/create_missing_tables.sql ``` ### 2. 启动后端服务 ```bash cd backend mvn spring-boot:run # 服务启动在 http://localhost:8080 ``` ### 3. 启动前端 ```bash cd frontend npm install npm run dev # 访问 http://localhost:3000 ``` ### 4. 启动 ML 服务 (可选) ```bash cd ml-service pip install -r requirements.txt uvicorn main:app --host 0.0.0.0 --port 8000 # 健康检查: http://localhost:8000/api/ml/health ``` > ML 服务为可选组件,未启动时前端智能分析模块会优雅降级,不影响其他功能使用。 ## ⚙️ 配置说明 ### 后端配置 (`backend/src/main/resources/application.yml`) ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/supermarket_db username: root password: 123456 jwt: secret: your-secret-key expiration: 86400000 # 24小时 ml-service: url: http://localhost:8000 ``` ### 前端代理 (`frontend/vite.config.js`) 前端开发服务器自动将 `/api` 请求代理到后端 `http://localhost:8080`。 ### ML 服务配置 (`ml-service/config.py`) 数据库连接、模型版本、速率限制等参数均在此文件配置。 ## 📊 数据库表结构 | 表名 | 说明 | |------|------| | user | 用户表 | | product | 商品表 | | sales_data | 销售数据表 | | inventory | 库存表 | | restock_request | 补货申请表 | | sys_config | 系统配置表 | | sys_dict | 数据字典表 | | sys_log | 操作日志表 | | announcement | 公告表 | | item_feature | 商品特征表 (推荐系统) | | marketing_campaign | 营销活动表 | | order_logistics | 订单物流表 | | user_behavior | 用户行为表 (推荐系统) | | user_review | 用户评价表 (情感分析) | ## 🔐 安全机制 - JWT Token 认证,请求拦截器自动附加 Bearer Token - BCrypt 密码加密存储 - RBAC 角色权限控制 (JwtFilter 拦截器) - CORS 跨域配置 - ML 服务速率限制 (100 req/min) - 前端 401 自动跳转登录、403 权限提示 ## 📦 构建部署 ```bash # 前端构建 cd frontend npm run build # 产物在 frontend/dist/ # 后端打包 cd backend mvn clean package -DskipTests # 产物在 backend/target/supermarket-backend-0.0.1-SNAPSHOT.jar # 运行 JAR java -jar target/supermarket-backend-0.0.1-SNAPSHOT.jar ```