# Snack Warehouse **Repository Path**: liquanzhe/snack-warehouse ## Basic Information - **Project Name**: Snack Warehouse - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-01 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AAA公司零食仓储配送管理系统 企业级仓储配送管理平台,基于 Spring Boot 3.x + Vue 3 + TypeScript 前后端分离架构。 ## 技术栈 | 层级 | 技术 | |------|------| | 后端框架 | Spring Boot 3.4.1 | | ORM | MyBatis Plus 3.5.7 | | 数据库 | MySQL 8.0 | | 缓存 | Redis | | 安全 | Spring Security + JWT | | 接口文档 | Knife4j | | 前端框架 | Vue 3 + TypeScript | | 构建工具 | Vite 6 | | UI 组件 | Element Plus | | 图表 | ECharts | | 状态管理 | Pinia | ## 功能模块 1. **登录认证** — JWT 认证、验证码、记住密码 2. **首页驾驶舱** — 数据大屏、库存统计、趋势图、排行榜 3. **品牌管理** — 品牌 CRUD、分页搜索 4. **零食管理** — 商品 CRUD、图片上传、分类筛选 5. **门店客户管理** — 门店 CRUD、区域/等级筛选 6. **库存中心** — 库存查询、预警、调整 7. **采购入库** — 入库单创建/审批/取消、自动增加库存 8. **销售出库** — 出库单创建/审批/完成/取消、库存校验 9. **库存流水** — 变动记录查询、Excel 导出 10. **库存预警** — 自动预警、Redis 缓存 11. **数据统计** — ECharts 可视化分析 12. **系统管理** — 用户/角色/菜单、操作日志、个人中心 ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - Redis - Node.js 18+ ### 1. 初始化数据库 ```bash mysql -u root -p < sql/init.sql ``` ### 2. 启动后端 ```bash # 确保 application.yml 中的数据库和 Redis 配置正确 mvn spring-boot:run ``` 启动后访问: - API 接口:http://localhost:8080/api - Knife4j 文档:http://localhost:8080/api/doc.html - Druid 监控:http://localhost:8080/api/druid ### 3. 启动前端 ```bash cd snack-warehouse-web npm install npm run dev ``` 启动后访问:http://localhost:3000 ### 默认账号 | 用户名 | 密码 | 角色 | |--------|------|------| | admin | admin123 | 超级管理员 | | operator | operator123 | 仓库管理员 | | viewer | viewer123 | 数据查看员 | ## 项目结构 ### 后端 ``` src/main/java/com/heima/snackwarehouse/ ├── config/ # 配置类 (Security, WebMvc, MyBatisPlus, Redis, Knife4j) ├── security/ # JWT 认证 (TokenProvider, AuthFilter, EntryPoint) ├── common/ # 公共类 (Result, PageResult, BusinessException, GlobalExceptionHandler) ├── annotation/ # 自定义注解 (@Log, @RequiresPermission) ├── aop/ # AOP 切面 (操作日志) ├── entity/ # 数据库实体 (14个) ├── dto/ # 数据传输对象 ├── vo/ # 视图对象 ├── mapper/ # MyBatis Plus Mapper ├── service/ # 业务接口 + 实现 └── controller/ # REST 控制器 (17个) ``` ### 前端 ``` snack-warehouse-web/src/ ├── api/ # API 请求模块 ├── components/ # 通用组件 (Layout, SideMenu, TopNav) ├── views/ # 页面视图 (26个) ├── stores/ # Pinia 状态管理 ├── router/ # Vue Router 配置 + 权限守卫 ├── styles/ # SCSS 样式 (变量/主题/全局) ├── hooks/ # 组合式函数 ├── types/ # TypeScript 类型定义 └── utils/ # 工具函数 ``` ## API 接口 主要 RESTful 接口: | 前缀 | 模块 | |------|------| | `/auth` | 认证管理 | | `/captcha` | 验证码 | | `/brand` | 品牌管理 | | `/snack` | 零食管理 | | `/store` | 门店管理 | | `/inventory` | 库存中心 | | `/inventory-records` | 库存记录 | | `/purchase-orders` | 采购入库 | | `/outbound-orders` | 销售出库 | | `/stock-warnings` | 库存预警 | | `/statistics` | 数据统计 | | `/system/user` | 用户管理 | | `/system/role` | 角色管理 | | `/system/menu` | 菜单管理 | | `/system/operation-log` | 操作日志 | | `/system/profile` | 个人中心 | ## 核心业务流程 ### 入库流程 ``` 供应商送货 → 创建入库单 → 审批入库 → 自动增加库存 → 生成库存流水 ``` ### 出库流程 ``` 门店补货 → 创建出库单 → 审批锁定库存 → 完成出库 → 扣减库存 → 生成库存流水 ``` ### 预警流程 ``` 库存变更 → 校验安全库存 → 低于阈值 → 写入 Redis + 数据库 → 首页展示 ``` ## License Copyright © 2026 AAA公司