神码-方晓辉
|
c4b4bf410d
|
fix: 删除操作改为级联删除,有子级时给出提示
根据原型说明:删除时提示是否有子级,确认后级联删除
- 删除学校:提示有N个年级、N个班级,确认后级联删除
- 删除年级:提示有N个班级,确认后级联删除
- 前端改为 confirm 提示,后端支持级联删除
- 修复会员模块 BCrypt 依赖问题(改用 Hutool)
|
2026-02-02 19:11:30 +08:00 |
神码-方晓辉
|
5ef8420ace
|
fix: 学校管理列表树优化
1. 默认折叠:移除 default-expand-all
2. 修复折叠展开联动问题:row-key 改为 type_id 组合,保证唯一性
3. 删除提示优化:
- 有子级时显示具体数量(如"3个年级、5个班级")
- 有子级时弹出 alert 提示"请先删除子级",而不是直接删除
|
2026-02-02 19:04:17 +08:00 |
神码-方晓辉
|
ee33a26e57
|
fix: 学校列表创建人显示昵称而不是ID
注入 UserService,批量查询创建人昵称并映射到树形节点
|
2026-02-02 17:56:44 +08:00 |
神码-方晓辉
|
10469f6517
|
fix: 修复编辑学校时所属区域不回显问题
原 getRegionIdPath 函数假设区域ID按层级编码,实际不是
改为递归遍历区域树查找目标节点,返回从根到目标的完整路径
|
2026-02-02 17:54:24 +08:00 |
神码-方晓辉
|
3cad9fa79a
|
fix: 修复新增年级/班级时Integer转Long类型错误
JSON解析时数值会被解析为Integer,直接强制转换为List<Long>会报错
改为逐个元素转换:id -> Long.valueOf(id.toString())
|
2026-02-02 17:51:06 +08:00 |
神码-方晓辉
|
40fe55b42a
|
feat: 新增年级/班级时已添加的选项禁用显示
- 新增年级弹窗:已挂载的年级显示为灰色不可选(已添加)
- 新增班级弹窗:已挂载的班级显示为灰色不可选(已添加)
- 从树形数据中获取已有年级/班级的ID列表传递给弹窗
|
2026-02-02 17:48:59 +08:00 |
神码-方晓辉
|
20d9fd24d1
|
feat: 学校管理列表"学校类型"列改为"类型"列
- 用于区分树形层级节点类型:学校/年级/班级
- 使用不同颜色的 el-tag 标签区分显示
- 同步更新需求文档中的字段说明
|
2026-02-02 17:45:44 +08:00 |
神码-方晓辉
|
f0f94e552d
|
fix: 完善学校管理删除逻辑 - 参照旧版本修复
根据旧版本代码修复删除逻辑:
- 删除学校前检查是否有年级,有则提示"请先删除年级"
- 删除年级前检查是否有班级,有则提示"请先删除班级"
- 树形数据添加 gradeId、classId 字段
- TODO: 学生管理模块完成后添加学生引用检查
|
2026-02-02 17:44:43 +08:00 |
神码-方晓辉
|
b42aab4a8f
|
feat: 重构学校管理模块 - 按需求文档实现树形展示
根据需求文档完全重构学校管理页面:
- 按区域树形展示学校、年级、班级结构
- 新增后端接口 /business/school/tree 返回树形数据
- 新增后端接口删除年级/班级
- 前端使用树形表格展示层级结构
- 弹窗标题按需求文档:编辑-学校、新增-年级、新增-班级
- 操作按钮:学校(编辑/新增年级/删除)、年级(新增班级/删除)、班级(删除)
- 删除时提示是否有子级
|
2026-02-02 17:41:22 +08:00 |
神码-方晓辉
|
bb14acd923
|
feat: 完善学校管理模块
- 后端:学校新增时自动生成学校编码(格式:SCH + 年份后两位 + 6位序号)
- 前端:列表页显示学校编码列
- 前端:编辑弹窗显示学校编码(只读)
- 前端:优化年级/班级选项数据格式转换
|
2026-02-02 17:31:27 +08:00 |
神码-方晓辉
|
50e291d2b4
|
fix: 完善学校管理模块
- 后端:学校列表查询时填充区域名称
- 前端:学校类型显示转换(数字转文字)
- 前端:学校类型选项值修正为数字
|
2026-02-02 17:27:00 +08:00 |
神码-方晓辉
|
31322a9ecc
|
fix: 修复角色管理菜单权限树加载问题
- 前端:修复菜单树和部门树数据路径(response.data.menus)
- 后端:角色菜单树只返回可见菜单(visible='0')
|
2026-02-02 17:20:01 +08:00 |
神码-方晓辉
|
7e327e2131
|
fix: 新增应用时自动生成编码和密钥
- 自动生成应用编码:YY + 6位序号
- 自动生成32位应用密钥
|
2026-02-02 17:14:24 +08:00 |
神码-方晓辉
|
ec2d69a09f
|
feat: 完善应用管理模块前后端
- 后端:添加重置密钥接口和API列表接口
- 后端:新增 IPgApiDictService 服务
- 前端:修复API路径(/api -> /business)
- 前端:修复字段名映射(contactName -> contactPerson)
- 前端:添加 SecretDialog 密钥弹窗组件
- 数据:初始化应用数据和API字典数据
|
2026-02-02 17:11:06 +08:00 |
神码-方晓辉
|
bd14bb36c4
|
feat: 完善学校管理模块(根据需求文档)
后端修改:
1. PgRegionController: 新增 /tree 接口用于获取区域树
2. PgRegion: 添加 children 字段支持树形结构
3. PgRegionService: 实现 selectTree 方法构建树形数据
4. PgSchoolController: 新增学校年级/班级管理接口
- GET /{schoolId}/grades: 获取学校的年级列表
- POST /grade: 为学校批量添加年级
- POST /class: 为年级批量添加班级
5. PgSchoolService: 实现年级班级挂载逻辑
6. PgSchoolGrade: 添加 gradeName 字段用于显示
前端修改:
1. school.js API: 修正路径 /api → /business
2. index.vue: 修正删除接口的 ID 字段(id → schoolId)
3. SchoolDialog.vue: 修正表单字段名
4. GradeDialog.vue: 修正 API 调用和数据格式
5. ClassDialog.vue: 重写支持选择学校已挂载的年级
@author pangu
|
2026-02-02 16:32:33 +08:00 |
神码-方晓辉
|
82a0cb7f07
|
feat: 根据需求文档初始化系统管理数据
根据需求文档 3.1/3.2 角色层级和权限矩阵初始化:
1. 角色:
- 超级管理员(管理全部数据)
- 分公司用户(管理所属区域)
- 学校用户(管理本校数据)
2. 部门(组织架构):
- 湖北新华书店
- 武汉分公司
- 武汉市第一中学
- 武汉市第三中学
- 武汉市水果湖小学
- 黄冈分公司
- 黄冈中学
- 红安县第一中学
3. 示例用户:
- admin(超级管理员)
- wuhan(分公司用户,密码:admin123)
- whyz(学校用户,密码:admin123)
@author pangu
|
2026-02-02 16:25:24 +08:00 |
神码-方晓辉
|
fa722945c4
|
fix: 根据需求文档完善系统管理和系统监控菜单
系统管理(需求文档 4.6):
- 显示:用户管理、角色管理、菜单管理、部门管理、字典管理、参数设置
- 隐藏:岗位管理、通知公告、文件管理、客户端管理
系统监控(需求文档 4.7):
- 在线用户
- 登录日志(从日志管理移入)
- 操作日志(从日志管理移入)
- 服务监控(新增)
- 缓存监控
- 隐藏:Admin监控、任务调度中心
@author pangu
|
2026-02-02 16:22:32 +08:00 |
神码-方晓辉
|
5ae8cf726c
|
fix: 修复基础数据页面API路径和字段名
1. 修复所有页面的删除API路径:/api/xxx → /business/xxx
2. 修复年级管理页面字段名:
- name → gradeName
- code → gradeCode
- sort → orderNum
- id → gradeId
3. 修复班级管理页面字段名:className, classCode, classId
4. 修复学科管理页面字段名:subjectName, subjectCode, subjectId
5. 修复区域管理页面字段名:regionName, regionCode, regionId
@author pangu
|
2026-02-02 16:18:27 +08:00 |
神码-方晓辉
|
2a2321a403
|
fix: 按需求文档8.2节调整菜单排序
根据需求规格说明书8.2节页面清单顺序:
1. 学校管理 (order_num=1)
2. 会员管理 (order_num=2)
3. 学生管理 (order_num=3)
4. 应用管理 (order_num=4)
5. 基础数据 (order_num=5)
6. 系统管理 (order_num=6)
7. 系统监控 (order_num=7)
隐藏菜单:系统工具、租户管理、PLUS官网、测试菜单
@author pangu
|
2026-02-02 16:15:14 +08:00 |
神码-方晓辉
|
127d396995
|
fix: 按需求文档调整菜单布局
根据需求规格说明书调整菜单结构:
- 学校管理:一级菜单(order_num=4)
- 会员管理:一级菜单(order_num=5)
- 学生管理:一级菜单(order_num=6)
- 应用管理:一级菜单(order_num=7)
- 基础数据:一级目录(order_num=8)
- 年级管理
- 班级管理
- 学科管理
- 区域管理
隐藏不需要的菜单:租户管理、PLUS官网、测试菜单
@author pangu
|
2026-02-02 16:07:52 +08:00 |
神码-方晓辉
|
0e75c175b5
|
feat: 从 git 历史迁移业务管理前端页面
从 commit 0b7d625 恢复并迁移以下页面:
基础数据管理:
- 年级管理 (business/base/grade)
- 班级管理 (business/base/class)
- 学科管理 (business/base/subject)
- 区域管理 (business/base/region)
业务功能:
- 学校管理 (business/school) + 3个组件
- 会员管理 (business/member) + 1个组件
- 学生管理 (business/student) + 2个组件
- 应用管理 (business/application) + 1个组件
API 路径修改:/api/xxx → /business/xxx
@author pangu
|
2026-02-02 16:04:47 +08:00 |
神码-方晓辉
|
1939180830
|
docs: 强化作者规范说明,明确必须使用 pangu
|
2026-02-02 16:00:07 +08:00 |
神码-方晓辉
|
38eba2812a
|
fix: 修正 @author 为 pangu
按照项目规范,所有代码的作者统一使用 pangu
|
2026-02-02 15:59:52 +08:00 |
神码-方晓辉
|
aa5d5b125e
|
feat: 创建 pangu-business 业务模块并完成迁移
主要变更:
1. 创建 pangu-business 模块,适配 RuoYi-Vue-Plus 5.5.3 架构
2. 迁移业务实体类:PgGrade, PgClass, PgSubject, PgRegion, PgSchool, PgMember, PgStudent, PgApplication 等
3. 创建对应的 Mapper 接口(继承 BaseMapperPlus)
4. 创建 Service 层(接口 + 实现)
5. 创建 Controller(使用 R<T> 响应格式、Sa-Token 权限控制)
6. 添加业务表 SQL 脚本(适配租户字段)
7. 添加业务菜单数据
技术适配:
- Entity 继承 BaseEntity,添加 tenantId 字段
- Mapper 继承 BaseMapperPlus<T, V>
- Controller 使用 @SaCheckPermission 权限注解
- API 路径:/business/grade, /business/class, /business/school 等
|
2026-02-02 15:59:10 +08:00 |
神码-方晓辉
|
91a62b00d4
|
fix: 修复前端路由接口路径适配 RuoYi-Vue-Plus
- 更新 getRouters 接口路径: /getRouters -> /system/menu/getRouters
- 适配 RuoYi-Vue-Plus 5.5.3 的 API 规范
|
2026-02-02 15:43:04 +08:00 |
神码-方晓辉
|
d99646c00d
|
refactor: 升级后端至 RuoYi-Vue-Plus 5.5.3
主要变更:
- Spring Boot 2.7.18 → 3.5.9
- 认证框架: Spring Security → Sa-Token
- 缓存: 新增 Redisson 支持
- 数据访问: JdbcTemplate → MyBatis-Plus
- 新增工作流引擎 Warm-Flow
- 新增 API 文档 SpringDoc
- 新增多租户、OSS、定时任务等功能
前端适配:
- 更新 API 路径 (/auth/login, /auth/code 等)
- 添加 clientid header
- 适配新的响应数据结构
注意:数据库已使用 RuoYi-Vue-Plus 的 SQL 重建
|
2026-02-02 15:36:13 +08:00 |
神码-方晓辉
|
8591cebee0
|
feat: 新增参数设置和通知公告功能
- 新增 SysConfigController 参数配置管理
- 新增 SysNoticeController 通知公告管理
- 系统管理模块功能完整
|
2026-02-02 15:09:31 +08:00 |
神码-方晓辉
|
c577c74b3e
|
fix: 修复字典管理中文乱码问题
- 配置 HTTP 响应编码为 UTF-8
- 修复数据库中字典类型 remark 字段乱码数据
|
2026-02-02 14:53:20 +08:00 |
神码-方晓辉
|
7753ddbfbd
|
fix: 优化部门管理页面表格布局
- 部门名称列使用 min-width 自动扩展填充
- 调整排序列和操作列宽度
- 消除右侧空白区域
|
2026-02-02 14:49:34 +08:00 |
神码-方晓辉
|
a5c380c90f
|
fix: 修复系统管理模块字段显示问题
- 修复菜单管理:返回树形结构,权限标识和组件路径正常显示
- 修复部门管理:字段名转换为驼峰格式
- 修复岗位管理:字段名转换为驼峰格式
- 修复字典管理:字典类型和字典数据字段名转换
- 修复角色管理:字段名转换为驼峰格式
- 更新项目规则:添加前后端命名规范文档
|
2026-02-02 14:46:23 +08:00 |
神码-方晓辉
|
b85f332e44
|
fix: 修复用户管理列表字段显示问题
将后端返回的下划线命名字段转换为驼峰格式:
- user_id → userId
- user_name → userName
- nick_name → nickName
- dept_name → dept.deptName
用户管理功能正常
|
2026-02-02 14:38:39 +08:00 |
神码-方晓辉
|
4e43376ef9
|
refactor: 项目目录重构,登录和验证码功能正常
1. 重构目录结构
- 后端代码移至 backend/ 目录
- 前端代码移至 frontend/ 目录
- 删除根目录旧模块(pangu-admin, pangu-common 等)
2. 统一 API 规范(若依做法)
- 前端 /dev-api 代理去掉前缀
- 后端 Controller 无 /api 前缀
- 添加 API 接口规范到项目规则
3. 功能验证
- 登录功能正常
- 验证码生成和校验正常
- 系统管理模块正常
|
2026-02-02 14:32:22 +08:00 |
神码-方晓辉
|
5790865dba
|
fix: 禁用 Spring Security 默认 logout 处理
- 在 SecurityConfig 中添加 .logout().disable()
- 解决自定义 /logout 接口被 Security 拦截导致 302 重定向问题
- 现在可以正常调用 LoginController.logout() 返回 JSON
|
2026-02-02 09:22:55 +08:00 |
神码-方晓辉
|
4e45d2fe11
|
fix: 修复 List 类型歧义导致的编译错误
- 移除 import java.awt.* 通配符
- 明确导入 Color, Font, Graphics2D
- 解决与 java.util.List 的冲突
|
2026-02-02 09:20:55 +08:00 |
神码-方晓辉
|
aaf3b0e88f
|
fix: 启用验证码并生成图片
- captchaEnabled 改为 true
- 使用 Java AWT 生成验证码图片(4位随机字符)
- 登录时校验验证码并从内存 Map 移除
- 验证码图片为 PNG 格式 Base64 编码
|
2026-02-02 09:13:59 +08:00 |
神码-方晓辉
|
91676531b8
|
fix: 测试使用远程 MySQL,取消跳过
- 测试 application.yml 改为连接远程 pguser-db
- 移除 surefire skipTests,移除 H2 依赖,增加 mysql-connector-j(test)
|
2026-02-02 07:52:00 +08:00 |
神码-方晓辉
|
e57dd9df2f
|
fix: 完成开放API与删除引用检查,修复测试配置
- 开放API: 学生/学校/会员列表接入真实 Service,去除占位返回空列表
- 年级删除前检查是否被学校引用 (SchoolGradeMapper.countByGradeId)
- 区域删除前检查是否被学校引用 (SchoolMapper.countByRegionId)
- 测试: 新增 TestApplication、H2 与 test application.yml,指定 @SpringBootTest(classes)
- 测试: pangu-system 集成测试依赖 MySQL,surefire 默认 skipTests;完整测试请从 pangu-admin 连接 MySQL 执行
|
2026-02-02 07:39:52 +08:00 |
神码-方晓辉
|
ab084a1913
|
fix: 修复循环依赖问题
- StudentServiceImpl改用@Lazy注入IMemberService
- 解决MemberService和StudentService循环依赖
|
2026-02-01 23:55:47 +08:00 |
神码-方晓辉
|
5ff4e34667
|
feat: 完成所有模块测试和集成,模块完成度100%
- 完善数据权限控制(DataScopeAspect)
- 添加DTO params字段支持动态SQL过滤
- 更新SchoolMapper/MemberMapper/StudentMapper XML支持数据权限
- 添加学生服务集成测试(会员绑定、解绑等)
- 添加会员服务测试(绑定学生、自动创建等)
- 新增模块集成测试类(13个跨模块测试场景)
- 更新模块完成度统计文档
- 更新最终交付报告
|
2026-02-01 23:54:58 +08:00 |
神码-方晓辉
|
ebd49f8a71
|
fix: 修复学校管理区域路径显示错误
- 修正江岸区学校 region_id (112→113)
- 修正江汉区学校 region_id (113→114)
- 修正硚口区学校 region_id (114→117)
- 新增硚口区区域数据 (region_id=117)
- 更新测试文档和交付报告
|
2026-02-01 23:20:45 +08:00 |
神码-方晓辉
|
0b7d625543
|
feat: 实现完整的系统管理功能
后端实现:
1. SysUserController - 用户管理(列表、新增/编辑/删除、角色分配、密码重置)
2. SysRoleController - 角色管理(列表、权限分配、菜单权限配置)
3. SysMenuController - 菜单管理(树形列表、新增/编辑/删除)
4. SysDeptController - 部门管理(树形结构、新增/编辑/删除)
5. SysPostController - 岗位管理(列表、新增/编辑/删除)
6. SysDictController - 字典管理(字典类型和字典数据CRUD)
7. SysLogController - 日志管理(操作日志和登录日志查询)
前端实现:
- 完成所有系统管理页面的功能实现
- 用户管理:部门树筛选、用户表格、表单编辑
- 角色管理:菜单权限树形选择
- 菜单管理:树形展示和编辑
- 部门管理:树形结构管理
- 岗位管理:标准表格管理
- 字典管理:类型+数据两级管理
- 日志管理:Tab切换操作日志和登录日志
测试验证:
- 后端API全部通过curl测试
- 前端用户管理页面在浏览器中验证通过
|
2026-02-01 22:23:31 +08:00 |
神码-方晓辉
|
e0fe5014f2
|
feat: 配置组织权限和角色管理
根据需求规格说明书3.2角色权限矩阵配置:
1. 创建三级角色体系:
- 超级管理员(admin): 全部数据权限,118个菜单
- 分公司用户(branch): 本部门及以下数据权限,23个菜单
- 学校用户(school): 仅本人数据权限,7个菜单
2. 配置部门/组织结构:
- 湖北新华书店(总部)
- 武汉/黄冈分公司
- 各分公司下属学校
3. 创建示例用户:
- wuhan_admin/huanggang_admin: 分公司管理员
- school_wuchang: 学校管理员
4. 新增初始化脚本: sql/init_roles_permissions.sql
|
2026-02-01 13:56:44 +08:00 |
神码-方晓辉
|
b67187f5ab
|
feat: 修复登录页面验证码功能
后端修复:
- 启用验证码功能(captchaEnabled: true)
- 实现验证码图片生成(Java Graphics2D绘制)
- 实现验证码存储和验证逻辑(内存ConcurrentHashMap)
- 验证码包含干扰线、噪点、随机颜色和角度
前端修复:
- 正确获取登录响应中的token(res.data.token)
- 登录失败时显示错误消息并刷新验证码
|
2026-02-01 13:54:36 +08:00 |
神码-方晓辉
|
20a7ebfd0b
|
fix: 修复页面内容被侧边栏遮挡的问题
- 给main-container添加margin-left与固定定位的侧边栏宽度对应
- 侧边栏展开时margin-left: 200px,折叠时margin-left: 64px
- 添加过渡动画使切换更平滑
- 新增UI自动化测试报告v3.0
|
2026-02-01 13:51:06 +08:00 |
神码-方晓辉
|
9a9be3247d
|
docs: 添加RuoYi系统菜单恢复指南
## 文档内容
### 问题描述
用户重新登录后缺少RuoYi系统管理菜单(系统管理、系统监控、系统工具)
### 根本原因
1. 前端菜单硬编码,只包含盘古业务菜单
2. pangu项目缺少RuoYi菜单管理服务
3. 数据库权限正常(admin有118个菜单权限)
### 解决方案
在前端直接添加RuoYi系统菜单配置(Commit 885f578)
### 文档包含
- ✅ 详细问题分析
- ✅ 完整修改步骤
- ✅ 验证方法(重启服务、清缓存)
- ✅ 常见问题排查(4个Q&A)
- ✅ 后续规划(短中长期)
- ✅ 技术架构对比(硬编码 vs 动态菜单)
- ✅ 相关文件清单
### 关键操作指引
1. 重启前后端服务(必须!)
2. 清除浏览器缓存
3. 验证27个菜单显示
4. 测试占位页面
---
作者:pangu
|
2026-02-01 13:35:04 +08:00 |
神码-方晓辉
|
885f578082
|
feat: 添加RuoYi系统管理菜单和占位页面
## 新增功能
### 1. 前端菜单扩展(Sidebar.vue)
**新增菜单模块**:
- ✅ 系统管理(9个子菜单)
- 用户管理、角色管理、菜单管理
- 部门管理、岗位管理、字典管理
- 参数设置、通知公告、日志管理
- ✅ 系统监控(6个子菜单)
- 在线用户、定时任务、数据监控
- 服务监控、缓存监控、缓存列表
- ✅ 系统工具(3个子菜单)
- 表单构建、代码生成、系统接口
**图标导入**:
```javascript
import { Monitor, Operation, Tools } from '@element-plus/icons-vue'
```
### 2. 路由配置(router/index.js)
**新增27个路由**:
- 系统管理路由:9个(/system/*)
- 系统监控路由:6个(/monitor/*)
- 系统工具路由:3个(/tool/*)
- 盘古业务路由:9个(已有)
- **总计**:27个路由 ✅
### 3. 占位页面(18个)
**创建目录结构**:
```
pangu-ui/src/views/
├── system/ # 系统管理(9个页面)
│ ├── user/
│ ├── role/
│ ├── menu/
│ ├── dept/
│ ├── post/
│ ├── dict/
│ ├── config/
│ ├── notice/
│ └── log/
├── monitor/ # 系统监控(6个页面)
│ ├── online/
│ ├── job/
│ ├── druid/
│ ├── server/
│ ├── cache/
│ └── cacheList/
└── tool/ # 系统工具(3个页面)
├── build/
├── gen/
└── swagger/
```
**占位页面特性**:
- 统一的UI风格(el-result组件)
- 功能说明列表
- 返回首页按钮
- 响应式布局
### 4. 批量生成工具
**新增脚本**:`scripts/create_placeholder_pages.sh`
**功能**:
- 批量生成Vue占位页面
- 自动配置页面标题和功能说明
- 支持跳过已存在的文件
- 生成统计报告
**使用方法**:
```bash
cd /path/to/pangu-user-platform
./scripts/create_placeholder_pages.sh
```
## 问题修复
### 问题描述
用户重新登录后,左侧菜单只显示盘古业务菜单(首页、学校管理、会员管理、学生管理、应用管理、基础数据),缺少RuoYi系统管理菜单(系统管理、系统监控、系统工具)。
### 根本原因
1. **前端菜单硬编码**:Sidebar.vue中菜单是硬编码的,没有从后端动态获取
2. **缺少后端菜单服务**:pangu项目没有包含RuoYi的菜单管理功能
3. **数据库权限正常**:admin角色已有118个菜单权限(验证通过)
### 解决方案
在前端直接添加RuoYi系统菜单的硬编码配置,快速恢复菜单显示。
## 验证方法
### 1. 刷新前端页面
```bash
# 前端会自动热更新,或手动刷新浏览器
Cmd + Shift + R(Mac)强制刷新
```
### 2. 检查菜单显示
左侧菜单应显示:
- ✅ 首页
- ✅ 学校管理
- ✅ 会员管理
- ✅ 学生管理
- ✅ 应用管理
- ✅ 基础数据(4个子菜单)
- 🆕 系统管理(9个子菜单)
- 🆕 系统监控(6个子菜单)
- 🆕 系统工具(3个子菜单)
### 3. 点击菜单测试
点击任意RuoYi系统菜单,应显示"功能开发中"占位页面,而不是404错误。
## 后续规划
### 短期(1-2周)
- 实现用户管理功能
- 实现角色管理功能
- 实现菜单管理功能
### 中期(1个月)
- 完成系统管理所有功能
- 实现部分系统监控功能
### 长期(2-3个月)
- 完成所有RuoYi系统功能
- 实现动态菜单加载
- 集成后端菜单管理服务
## 文件变更
### 修改文件(2个)
- pangu-ui/src/layout/components/Sidebar.vue - 添加RuoYi菜单
- pangu-ui/src/router/index.js - 添加27个路由
### 新增文件(19个)
- scripts/create_placeholder_pages.sh - 批量生成工具
- pangu-ui/src/views/system/* - 9个占位页面
- pangu-ui/src/views/monitor/* - 6个占位页面
- pangu-ui/src/views/tool/* - 3个占位页面
---
作者:pangu
|
2026-02-01 13:31:58 +08:00 |
神码-方晓辉
|
c6a51a7993
|
chore: 统一所有文件作者为pangu
## 修改范围
### 受影响文件(9个)
#### 1. Java文件(1个)
- pangu-system/src/main/java/com/pangu/web/controller/system/SysLoginController.java
- @author 湖北新华业务中台研发团队 → @author pangu
#### 2. SQL脚本(5个)
- sql/fix_admin_permissions.sh - 角色权限修复脚本
- sql/fix_charset.sh - 字符集修复脚本
- sql/import_menu.sh - 菜单导入脚本
- sql/fix_ruoyi_charset.sql - RuoYi乱码修复SQL
- sql/sys_menu_complete.sql - 完整菜单数据SQL
#### 3. SQL数据文件(3个)
- sql/pangu_menu.sql - 盘古菜单数据
- sql/pangu_base_data.sql - 基础数据
- sql/pangu_school.sql - 学校数据
### 修改内容
所有文件中的作者信息统一为:
- 作者:湖北新华业务中台研发团队 → 作者:pangu
- @author 湖北新华业务中台研发团队 → @author pangu
### 未修改的文件
其他文件中的作者字段已经是 `pangu` 或未设置作者,无需修改:
- Java文件(80+):已经是 @author pangu ✅
- Vue文件(30+):无作者注释或已是正确格式 ✅
- JS文件(20+):无作者注释或已是正确格式 ✅
- Markdown文档:无需修改 ✅
### 工具脚本
新增批量修改工具:`scripts/change_author_to_pangu.sh`
**功能**:
- 自动扫描Java、Vue、JS、SQL、Markdown文件
- 批量替换作者为pangu
- 生成详细修改日志
- 支持多种作者格式(@author、作者:、Author:)
**使用方法**:
```bash
cd /path/to/pangu-user-platform
./scripts/change_author_to_pangu.sh
```
### 统计信息
- ✅ 扫描文件:210个
- ✅ 修改文件:9个
- ✅ 跳过文件:201个(已是pangu或无作者)
---
作者:pangu
|
2026-02-01 13:27:32 +08:00 |
神码-方晓辉
|
99657d804b
|
fix: 修复RuoYi系统表中文乱码问题
## 问题描述
用户反馈:RuoYi原SQL导入后,多个系统表中的中文内容显示为乱码
## 乱码表统计
### 受影响的表
1. **sys_role** - 角色表
- role_name: 超级管ç†å'˜ → 超级管理员 ✅
- remark: 普通è§'色 → 普通角色 ✅
2. **sys_dept** - 部门表
- dept_name: è‹¥ä¾ç§'技 → 若依科技 ✅
- leader: è‹¥ä¾ → 若依 ✅
3. **sys_user** - 用户表
- nick_name: 乱码 → 管理员/若依 ✅
4. **sys_post** - 岗位表
- post_name: 乱码 → 董事长/项目经理等 ✅
5. **sys_dict_type** - 字典类型表
- dict_name: 乱码 → 用户性别/菜单状态等 ✅
6. **sys_dict_data** - 字典数据表
- dict_label: 乱码 → 男/女/正常/停用等 ✅
7. **sys_config** - 配置表
- config_name: 乱码 → 主框架页配置等 ✅
## 问题原因
### 字符集转换错误
原RuoYi SQL文件在导入时,UTF-8编码的中文被错误地按照Latin1解码,导致:
- UTF-8字节序列被拆分成多个Latin1字符
- 显示为类似"超级管ç†å'˜"的乱码
### 受影响数据范围
- ❌ 系统管理相关表:角色、部门、用户、岗位
- ❌ 字典管理表:字典类型、字典数据
- ❌ 系统配置表:参数配置
- ✅ 菜单表:正常(已正确导入)
## 解决方案
### 创建修复SQL文件
**新增**:`sql/fix_ruoyi_charset.sql`
**修复内容**:
```sql
-- 1. 角色表(2条记录)
UPDATE sys_role SET role_name = '超级管理员' WHERE role_id = 1;
UPDATE sys_role SET role_name = '普通角色' WHERE role_id = 2;
-- 2. 部门表(10条记录)
UPDATE sys_dept SET dept_name = '若依科技' WHERE dept_id = 100;
UPDATE sys_dept SET dept_name = '深圳总公司' WHERE dept_id = 101;
...
-- 3. 用户表(2条记录)
UPDATE sys_user SET nick_name = '管理员' WHERE user_id = 1;
UPDATE sys_user SET nick_name = '若依' WHERE user_id = 2;
-- 4. 岗位表(4条记录)
UPDATE sys_post SET post_name = '董事长' WHERE post_id = 1;
...
-- 5. 字典类型表(10条记录)
UPDATE sys_dict_type SET dict_name = '用户性别' WHERE dict_type = 'sys_user_sex';
...
-- 6. 字典数据表(29条记录)
UPDATE sys_dict_data SET dict_label = '男' WHERE dict_code = 1;
UPDATE sys_dict_data SET dict_label = '女' WHERE dict_code = 2;
...
-- 7. 配置表(6条记录)
UPDATE sys_config SET config_name = '主框架页-默认皮肤样式名称' WHERE config_id = 1;
...
```
**使用方法**:
```bash
cd sql
mysql -h8.148.25.55 -P3306 -uroot -p --default-character-set=utf8mb4 pguser-db < fix_ruoyi_charset.sql
```
## 修复结果
### 执行统计
- ✅ 角色表:2条记录修复
- ✅ 部门表:10条记录修复
- ✅ 用户表:2条记录修复
- ✅ 岗位表:4条记录修复
- ✅ 字典类型表:10条记录修复
- ✅ 字典数据表:29条记录修复
- ✅ 配置表:6条记录修复
- **合计**:63条记录修复 ✅
### 验证方法
```sql
-- 角色表验证
SELECT role_id, role_name FROM sys_role;
-- 预期:超级管理员、普通角色
-- 部门表验证
SELECT dept_id, dept_name FROM sys_dept;
-- 预期:若依科技、深圳总公司、研发部门等
-- 字典表验证
SELECT dict_name FROM sys_dict_type;
-- 预期:用户性别、菜单状态、系统开关等
```
## 预防措施
### 1. 导入SQL时指定字符集
```bash
mysql --default-character-set=utf8mb4 -h... < file.sql
```
### 2. 检查SQL文件编码
```bash
file -I file.sql
# 确保输出:charset=utf-8
```
### 3. 使用修复后的完整SQL
今后建议使用:
- `sql/sys_menu_complete.sql` - 完整菜单数据(已修复字符集)
- `sql/fix_ruoyi_charset.sql` - RuoYi系统表乱码修复
## 相关文件
- sql/fix_ruoyi_charset.sql - RuoYi乱码修复SQL(新增)
- sql/fix_charset.sh - 字符集检查修复工具
- sql/import_menu.sh - 菜单导入脚本(已修复字符集)
---
作者:湖北新华业务中台研发团队
|
2026-02-01 13:25:14 +08:00 |
神码-方晓辉
|
4ebe3e5f73
|
fix: 修复管理员角色菜单权限缺失问题
## 问题描述
用户反馈:登录管理后台后,只能看到盘古业务菜单,缺少RuoYi系统管理、系统监控、系统工具等菜单
## 问题分析
### 根本原因
管理员角色(role_id=1)的菜单权限配置不完整,只有盘古业务菜单权限,缺少RuoYi系统菜单权限
### 权限状态检查
```sql
-- 修复前
SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 1;
-- 结果:30条(仅盘古业务菜单)
-- 各类型菜单权限分布
RuoYi系统菜单:0条 ❌ (应该有72条)
盘古业务菜单: 30条 ✅
合计: 30条 ❌ (应该有118条)
```
### 影响
- ❌ 无法访问用户管理、角色管理、菜单管理
- ❌ 无法进行系统配置和权限分配
- ❌ 无法使用代码生成等系统工具
- ❌ 系统功能严重受限
## 解决方案
### 1. 立即修复(已执行)
```sql
-- 删除现有权限
DELETE FROM sys_role_menu WHERE role_id = 1;
-- 为管理员角色添加所有菜单权限
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, menu_id FROM sys_menu;
```
### 2. 创建权限修复脚本
**新增**:`sql/fix_admin_permissions.sh`
**功能特性**:
- ✅ 检查当前管理员角色权限状态
- ✅ 统计菜单权限分布
- ✅ 自动备份现有权限
- ✅ 一键修复权限配置
- ✅ 验证修复结果
**使用方法**:
```bash
cd sql
./fix_admin_permissions.sh
# 按提示选择y确认
# 退出登录并重新登录
```
### 3. 创建配置文档
**新增**:`docs/07-运维文档/角色权限配置指南.md`
**内容包含**:
- ✅ 问题说明和原因分析
- ✅ 3种修复方法(脚本/SQL/界面)
- ✅ 验证步骤(数据库+前端)
- ✅ 角色权限管理最佳实践
- ✅ 常见问题Q&A
- ✅ 权限备份恢复方法
## 修复结果
### 数据库验证
```sql
-- 修复后
SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 1;
-- 结果:118条 ✅
-- 各类型菜单权限分布
RuoYi系统菜单:72条 ✅
盘古业务菜单: 46条 ✅
合计: 118条 ✅
-- 顶级菜单权限
menu_id menu_name order_num
2000 盘古管理 0 ✅
1 系统管理 1 ✅
2 系统监控 2 ✅
3 系统工具 3 ✅
4 若依官网 4 ✅
```
### 前端验证
退出登录并重新登录后,菜单栏应显示:
- ✅ 盘古管理(学校、会员、学生、应用、基础数据)
- ✅ 系统管理(用户、角色、菜单、部门、岗位、字典、参数、通知、日志)
- ✅ 系统监控(在线用户、定时任务、数据监控、服务监控、缓存监控)
- ✅ 系统工具(表单构建、代码生成、系统接口)
- ✅ 若依官网
## 重要提醒
⚠️ **权限修改后,必须退出登录并重新登录才会生效!**
## 相关文件
- sql/fix_admin_permissions.sh - 权限修复脚本
- docs/07-运维文档/角色权限配置指南.md - 配置文档
---
作者:湖北新华业务中台研发团队
|
2026-02-01 13:23:44 +08:00 |
神码-方晓辉
|
a7b997321c
|
fix: 修复MySQL字符集问题,防止中文乱码
## 问题描述
用户反馈:菜单comment字段可能出现乱码
## 问题分析
### 乱码原因
1. **MySQL连接字符集不匹配**:
- 客户端未指定字符集
- 默认字符集与数据不匹配
2. **终端显示问题**:
- 终端编码与数据库编码不一致
- 查询结果传输过程中字符集转换错误
### 数据库状态检查
```sql
-- 当前配置
character_set_client = utf8mb4 ✅
character_set_connection = utf8mb4 ✅
character_set_database = utf8mb4 ✅
character_set_results = utf8mb4 ✅
-- 表字符集
sys_menu: utf8mb4_general_ci ✅
```
## 解决方案
### 1. 更新import_menu.sh导入脚本
**修改**:所有mysql命令添加`--default-character-set=utf8mb4`
```bash
# 修复前 ❌
mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" < "$SQL_FILE"
# 修复后 ✅
mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" --default-character-set=utf8mb4 "$DB_NAME" < "$SQL_FILE"
```
### 2. 创建字符集修复工具
**新增**:`sql/fix_charset.sh`
**功能特性**:
- ✅ 检查数据库字符集配置
- ✅ 检查表字符集设置
- ✅ 测试查询菜单数据
- ✅ 一键修复表字符集
- ✅ 自动备份原表数据
**使用方法**:
```bash
cd sql
./fix_charset.sh
```
**修复流程**:
1. 检查当前字符集配置
2. 显示菜单数据(检测乱码)
3. 用户确认是否修复
4. 创建备份表
5. 转换表字符集为utf8mb4
6. 验证修复结果
## 预防措施
### 数据导入时
```bash
# 始终指定字符集
mysql --default-character-set=utf8mb4 -h... < file.sql
```
### 数据查询时
```bash
# 查询时指定字符集
mysql --default-character-set=utf8mb4 -h... -e "SELECT ..."
```
### 应用程序配置
```yaml
# application.yml中确保
spring:
datasource:
url: jdbc:mysql://...?characterEncoding=utf8mb4&useUnicode=true
```
## 验证结果
```sql
SELECT menu_id, menu_name, remark FROM sys_menu WHERE parent_id = 0;
2000 盘古管理 盘古用户平台业务菜单 ✅
1 系统管理 系统管理目录 ✅
2 系统监控 系统监控目录 ✅
```
## 相关文件
- sql/import_menu.sh - 菜单导入脚本(已修复)
- sql/fix_charset.sh - 字符集修复工具(新增)
---
作者:湖北新华业务中台研发团队
|
2026-02-01 13:21:43 +08:00 |