# 工程实践2 **Repository Path**: vcpfshi/engineering-practice-2 ## Basic Information - **Project Name**: 工程实践2 - **Description**: Vcpf和他的组员DismButterfly、Ya0yan、渐近线、kl 的工程实践2的仓库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-17 - **Last Updated**: 2026-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工程实践 2 — 统一身份认证系统 & 电商管理系统 ## 📖 项目简介 本仓库是**工程实践 2** 课程的团队协作项目,包含两套独立的后端系统及其前端管理面板: | 系统 | 说明 | 端口 | 数据库 | |------|------|------|--------| | **统一身份认证系统** | 认证授权 + 系统管理 + 统一认证,10 个子模块,63 个接口 | `8080` | `ruoyi_auth` | | **电商管理系统** | 商品、订单、购物车、会员、评价联动,34+ 个接口 | `8081` | `mall_db` | 两套系统共享同一技术栈,由 6 人小组按 5 个分组并行开发,采用**按组分包**的代码架构。 --- ## 👥 团队成员 ### 统一身份认证系统 | 分组 | 成员 | 负责模块 | 接口数 | |------|------|----------|:------:| | **第一组** | **Vcpf** | 用户管理 + 菜单管理 + 部门树 | 14 | | **第二组** | **Ya0yan** / **萤火** | 角色管理 + 审核管理 | 10 | | **第三组** | **kl** | 自然人用户 + 统计管理 | 13 | | **第四组** | **渐近线** | 日志管理 + 法人用户 | 13 | | **第五组** | **DismButterfly** | 应用管理 + 登录注册 | 14 | ### 电商管理系统 | 成员 | 负责模块 | |------|----------| | **Vcpf** | 商品管理 + 订单管理 + 系统框架搭建 | | **kl** | 购物车 + 会员管理 + 会员地址 | | **渐近线** | 框架搭建 + 商品评价 + 电商认证 | --- ## 🛠️ 技术栈 ### 后端 | 技术 | 版本 | 说明 | |------|:----:|------| | **JDK** | **17** (LTS) | Spring Boot 3.x 最低要求 | | **Spring Boot** | **3.5.14** | 核心框架 | | **MyBatis Plus** | **3.5.16** | ORM 框架(boot3-starter 变体) | | **MySQL** | **8.0+** | 关系型数据库(Connector 9.7.0) | | **Spring Security** | 6.x | 认证授权(BCrypt 加密) | | **JJWT** | **0.12.3 / 0.12.6** | JWT Token 生成与验证 | | **EasyExcel** | **4.0.3** | Excel 导入导出 | | **Hutool** | **5.8.44** | 通用工具集(Bean、集合、加密) | | **Fastjson2** | **2.0.57** | JSON 序列化 | | **Springdoc / Swagger** | **2.7.0** | API 文档(Knife4j 增强) | | **Lombok** | **1.18.38** | 代码简化 | | **H2** | 2.x | 单元测试内存数据库 | ### 前端 | 项目 | 框架 | 版本 | 构建 | 端口 | |------|------|:----:|:----:|:----:| | **UAS 管理面板** | Vue 3 + Element Plus | Vue 3.5.34 + EP 2.14.2 | Vite 8 | `5173` → `8080` | | **电商管理面板** | Vue 3 + Element Plus | Vue 3.5.13 + EP 2.9.1 | Vite 6 | `5174` → `8081` | **通用前端依赖**:Vue Router、Axios、ECharts(仅 UAS)、`@element-plus/icons-vue` --- ## 📁 项目结构 ``` engineering-practice-2/ │ ├── project2/ # 后端 Java 代码 │ ├── management-system/ # 统一身份认证系统(端口 8080) │ │ ├── pom.xml │ │ └── src/main/java/com/vcpf/managementsystem/ │ │ ├── ManagementSystemApplication.java │ │ ├── common/ # 公共基础设施(配置、工具、异常处理) │ │ ├── group1/ # ├── 用户管理 + 菜单管理 + 部门 │ │ ├── group2/ # ├── 角色管理 + 审核管理 │ │ ├── group3/ # ├── 自然人用户 + 统计管理 │ │ ├── group4/ # ├── 日志管理 + 法人用户 │ │ └── group5/ # └── 应用管理 + 登录注册 │ │ │ └── mall-system/ # 电商管理系统(端口 8081) │ ├── pom.xml │ └── src/main/java/com/vcpf/mall/ │ ├── MallSystemApplication.java │ ├── auth/ # 电商认证 │ ├── common/ # 公共基础设施 │ ├── group1/ # 商品 + 订单 │ ├── group2/ # 购物车 + 会员 │ └── group3/ # 商品评价 │ ├── frontend/ # UAS 管理前端(Vue 3 + Vite 8) │ ├── package.json │ ├── vite.config.js │ └── src/ │ ├── api/ # 12 个 API 模块(auth/user/role/menu/…) │ └── views/ # 14 个视图页面 │ ├── mall-frontend/ # 电商管理前端(Vue 3 + Vite 6) │ ├── package.json │ ├── vite.config.js │ └── src/ │ ├── api/ # 5 个 API 模块 │ └── views/ # 9 个视图页面 │ ├── sql/ # 统一身份认证系统 SQL 脚本(10 个) │ ├── 01-用户管理接口.sql │ ├── 02-角色管理接口.sql │ ├── 03-菜单管理接口.sql │ ├── 04-日志管理接口.sql │ ├── 05-自然人用户接口.sql │ ├── 06-法人用户接口.sql │ ├── 07-审核管理接口.sql │ ├── 08-应用管理接口.sql │ ├── 09-统计管理接口.sql │ ├── 10-登录注册接口.sql │ └── README.md │ ├── sql-电商/ # 电商系统 SQL 脚本(5 个) │ ├── 01-电商商品接口.sql │ ├── 02-电商订单接口.sql │ ├── 03-电商购物车接口.sql │ ├── 04-电商会员联动接口.sql │ ├── 05-电商登录注册接口.sql │ └── README.md │ ├── Doc/ # 项目文档 │ ├── 项目整体架构设计.md # 架构说明 │ ├── 项目知识总结.md # 开发知识汇总 │ ├── 任务分组与工作量评估.md # 分工方案 │ ├── 需求分析文档/ # 需求分析 │ ├── 接口文档/ # 10 份接口文档 │ ├── 电商接口文档/ # 电商系统接口文档 │ ├── 开发文档/ # 开发计划、Swagger 规范 │ ├── 审计报告/ # 代码审计报告(6 个版本) │ ├── 测试文档/ # 单元测试报告 │ ├── 开发日志/ # 各组开发日志 │ └── 分层开发分析/ # 代码分层指南(10 篇) │ ├── .gitignore ├── LICENSE # MIT 许可证 └── README.md ``` > **项目规模统计**:后端 Java 源文件 **143 个**(UAS 89 + Mall 54),前端 Vue 组件 **28+ 个**,SQL 脚本 **15 个**,文档 **40+ 篇**。 --- ## 🚀 快速开始 ### 环境要求 | 工具 | 最低版本 | 说明 | |------|:--------:|------| | JDK | **17** (推荐 17.0.14+) | Spring Boot 3.x 要求 | | Maven | **3.9+** | 项目使用 Maven Wrapper | | Node.js | **20.19+** | 前端构建 | | MySQL | **8.0+** | 关系型数据库 | ### 统一身份认证系统(UAS)启动 ```bash # 1. 初始化数据库 mysql -u root -p < sql/01-用户管理接口.sql mysql -u root -p < sql/02-角色管理接口.sql # ...依次执行 10 个 SQL 脚本 # 2. 配置数据库连接 # 编辑 project2/management-system/src/main/resources/application.properties # 修改 spring.datasource.url / username / password # 3. 启动后端 cd project2/management-system ./mvnw spring-boot:run # 访问 API 文档:http://localhost:8080/swagger-ui.html # 4. 启动前端(新终端窗口) cd frontend npm install npm run dev # 访问管理面板:http://localhost:5173 ``` ### 电商管理系统启动 ```bash # 1. 初始化数据库 mysql -u root -p < sql-电商/01-电商商品接口.sql mysql -u root -p < sql-电商/02-电商订单接口.sql # ...依次执行 5 个 SQL 脚本 # 2. 启动后端 cd project2/mall-system ./mvnw spring-boot:run # 访问 API 文档:http://localhost:8081/swagger-ui.html # 3. 启动前端(新终端窗口) cd mall-frontend npm install npm run dev # 访问管理面板:http://localhost:5174 ``` ### 默认测试账号 | 用户名 | 密码 | 角色 | |--------|------|------| | `dism` | `123456` | 管理员 | --- ## 📊 系统模块 ### 统一身份认证系统(63 个接口) ``` 统一身份认证系统 │ ├── 认证授权模块 (Auth) — 8 个接口 │ └── 登录注册、图形验证码、找回密码、Token 刷新 │ ├── 系统管理模块 (System) — 27 个接口 │ ├── 01-用户管理(8 个)— CRUD、导入导出、角色分配、状态管理 │ ├── 02-角色管理(6 个)— CRUD、菜单权限配置、导出 │ ├── 03-菜单管理(5 个)— 树形 CRUD、权限标识管理 │ └── 04-日志管理(8 个)— 操作日志/登录日志查询、删除、清空、解锁 │ └── 统一认证模块 (UAS) — 28 个接口 ├── 05-自然人用户(9 个)— CRUD、批量启用/禁用、导入导出 ├── 06-法人用户(5 个)— CRUD、多维度查询 ├── 07-审核管理(4 个)— 审核查询、通过、拒绝 ├── 08-应用管理(6 个)— CRUD、密钥重置、导出 └── 09-统计管理(4 个)— 账户/登录/接口/消息四维统计 ``` ### 电商管理系统(34+ 个接口) ``` 电商管理系统 │ ├── 商品管理 — 商品 CRUD、分类管理、商品上下架 ├── 订单管理 — 订单 CRUD、订单项管理、状态流转 ├── 购物车 — 购物车 CRUD、批量操作 ├── 会员管理 — 会员 CRUD、会员等级、收货地址 ├── 商品评价 — 评价 CRUD、评价审核 └── 认证授权 — 登录注册、Token 管理 ``` --- ## 📋 分组任务分工 ### 代码包结构 项目采用 **按组分包** 的架构,每组代码完全隔离: ``` com.vcpf.managementsystem ├── common.* ← 公共基础设施(禁止修改) ├── group1.* ← 第一组(用户管理 + 菜单管理 + 部门) ├── group2.* ← 第二组(角色管理 + 审核管理) ├── group3.* ← 第三组(自然人用户 + 统计管理) ├── group4.* ← 第四组(日志管理 + 法人用户) └── group5.* ← 第五组(应用管理 + 登录注册) ``` 每层内部按职责分包:`controller/`, `entity/`, `mapper/`, `service/`, `service/impl/`, `dto/` ### 各组核心类 | 分组 | Controller | Entity | Service | |------|-----------|--------|---------| | **第一组** | `SysUserController`, `SysMenuController`, `SysDeptController` | `SysUser`, `SysMenu`, `SysDept` | 用户 CRUD、菜单树、部门树 | | **第二组** | `SysRoleController`, `UasAuditController` | `SysRole`, `UasAudit` | 角色权限、审核流程 | | **第三组** | `UasPersonController`, `UasStatController` | `UasPerson` | 自然人管理、四维统计 | | **第四组** | `SysLogController`, `UasCorpController` | `SysOperLog`, `SysLogininfor`, `UasCorp` | 双日志、法人管理 | | **第五组** | `AuthController`, `AppController` | `UasApp`, `SysCaptcha` | JWT 认证、应用密钥 | ### 电商分组 | 分组 | Controller | 说明 | |------|-----------|------| | **group1** | `ProductController`, `OrderController` | 商品 + 订单管理(Vcpf) | | **group2** | `MemberController`, `CartController` | 会员 + 购物车(kl) | | **group3** | `ReviewController` | 商品评价(渐近线) | | **auth** | `AuthController` | 电商登录注册(渐近线) | --- ## 📈 开发进度 ### 后端开发状态 | 系统 | 模块 | 状态 | 接口 | 单元测试 | |------|------|:----:|:----:|:--------:| | UAS | 01-用户管理 | ✅ 完成 | 8/8 | ✅ 3 组 | | UAS | 02-角色管理 | ✅ 完成 | 6/6 | ✅ 1 组 | | UAS | 03-菜单管理 | ✅ 完成 | 5/5 | ✅ 2 组 | | UAS | 04-日志管理 | ✅ 完成 | 8/8 | — | | UAS | 05-自然人用户 | ✅ 完成 | 9/9 | ✅ 4 组 | | UAS | 06-法人用户 | ✅ 完成 | 5/5 | — | | UAS | 07-审核管理 | ✅ 完成 | 4/4 | — | | UAS | 08-应用管理 | ✅ 完成 | 6/6 | ✅ 1 组 | | UAS | 09-统计管理 | ✅ 完成 | 4/4 | ✅ 2 组 | | UAS | 10-登录注册 | ✅ 完成 | 8/8 | ✅ 1 组 | | 电商 | 商品管理 | ✅ 完成 | — | — | | 电商 | 订单管理 | ✅ 完成 | — | — | | 电商 | 购物车 | ✅ 完成 | — | ✅ 2 组 | | 电商 | 会员管理 | ✅ 完成 | — | ✅ 1 组 | | 电商 | 商品评价 | ✅ 完成 | — | — | ### 前端开发状态 | 系统 | 页面 | 状态 | |------|------|:----:| | UAS | 登录 / 注册 / 重置密码 | ✅ 完成 | | UAS | 工作台 Dashboard | ✅ 完成 | | UAS | 用户管理 / 角色管理 / 菜单管理 / 部门管理 | ✅ 完成 | | UAS | 自然人管理 / 法人管理 | ✅ 完成 | | UAS | 审核管理 / 应用管理 | ✅ 完成 | | UAS | 日志管理 / 统计管理 | ✅ 完成 | | 电商 | 登录 | ✅ 完成 | | 电商 | 商品列表 / 添加 / 编辑 / 审核 | ✅ 完成 | | 电商 | 订单列表 / 详情 | ✅ 完成 | | 电商 | 会员列表 / 地址管理 | ✅ 完成 | ### 代码审计 已完成 **6 轮全量代码审计**(v1.0.1 → v1.1.2),覆盖 UAS 系统全部 63 个接口的前后端一致性校验,审计报告存档于 `Doc/审计报告/`。 --- ## 📂 文档速览 | 类别 | 路径 | 说明 | |------|------|------| | 架构设计 | `Doc/项目整体架构设计.md` | 系统架构、模块划分、技术选型 | | 任务分工 | `Doc/任务分组与工作量评估.md` | 5 组工作量评估与分配 | | 接口文档 | `Doc/接口文档/00-接口文档总览.md` | UAS 10 个模块接口详情 | | 电商接口 | `Doc/电商会员接口文档/00-电商接口文档总览.md` | 电商 5 个模块接口详情 | | 代码分层 | `Doc/分层开发分析/` | Entity → Controller 全链路指南 | | 审计报告 | `Doc/审计报告/` | 6 轮代码审计(v1.0.1 → v1.1.2) | | 测试报告 | `Doc/测试文档/` | 单元测试覆盖率与结果 | | 开发日志 | `Doc/开发日志/` | 各组每日开发记录 | | Swagger 规范 | `Doc/开发文档/Swagger多分组与包结构规范.md` | 多分组 API 文档配置 | | 电商架构 | `Doc/电商系统整体架构设计.md` | 电商系统架构说明 | --- ## 🧪 运行测试 ```bash # UAS 系统测试 cd project2/management-system ./mvnw test # 电商系统测试 cd project2/mall-system ./mvnw test ``` 目前总计 **19 个测试类**:UAS 14 个 + 电商 5 个,覆盖 Service 层和 Mapper 层。 --- ## 📜 许可证 本项目基于 **MIT 许可证** 开源 — 详见 [LICENSE](./LICENSE) 文件。 --- ## 📌 参考资料 - [Spring Boot 3.5 官方文档](https://docs.spring.io/spring-boot/docs/3.5.x/reference/html/) - [MyBatis Plus 官方文档](https://baomidou.com/) - [Springdoc OpenAPI](https://springdoc.org/) - [Vue 3 官方文档](https://vuejs.org/) - [Element Plus 组件库](https://element-plus.org/) - [Knife4j 文档](https://doc.xiaominfo.com/) --- **文档版本**:v2.0 | **最后更新**:2026-06-30