4.8 KiB
4.8 KiB
可复用的若依能力
1. 分类结果
| 能力 | 分类 | 当前代码依据 | 培训业务现状 |
|---|---|---|---|
| 登录 | 可以直接复用 | SysLoginController、SysLoginService、UserDetailsServiceImpl |
登录链路完整;验证码校验当前被注释,运行仍需核验 |
| RBAC | 可以直接复用 | sys_user、sys_role、用户角色/角色菜单 Mapper与Service |
无需另建账号角色系统 |
| 菜单权限 | 需要扩展 | SysMenuController、SysMenuServiceImpl、GET /getRouters |
框架可复用;仓库无培训菜单初始化数据 |
| 按钮权限 | 需要扩展 | 后端 @PreAuthorize("@ss.hasPermi(...)")、前端 v-hasPermi |
训练前后端权限前缀不一致,三个模块共用system:info:* |
| 操作日志 | 可以直接复用 | @Log、LogAspect、SysOperLog、异步日志管理 |
培训增改删/导出已标注;业务状态轨迹仍需扩展 |
| 数据权限 | 需要扩展 | @DataScope、DataScopeAspect、角色data_scope |
培训 Service/Mapper 尚未接入,教师/学员范围不存在 |
| 字典 | 可以直接复用 | SysDictTypeController、SysDictDataController、前端字典组件 |
培训状态字段目前多为数字输入/注释,未见业务字典SQL |
| 定时任务 | 需要扩展 | ruoyi-quartz、SysJobController、sys_job、quartz.sql |
框架保留;未见培训任务,如授权失效/设备离线/画像刷新 |
| 文件上传 | 可以直接复用 | CommonController 的 /common/upload、/common/uploads、下载接口;前端上传组件 |
课程附件字段尚未与上传结果建立结构化业务关系 |
| Excel 导入 | 需要扩展 | ExcelUtil、SysUserController.importData/importTemplate |
通用能力存在;培训无导入 Controller/权限/错误处理 |
| Excel 导出 | 可以直接复用 | ExcelUtil、培训14个Controller的/export |
后端全部存在;宿舍/成绩当前页面无导出入口 |
| 分页 | 可以直接复用 | BaseController.startPage、PageHelper、TableDataInfo |
14个列表全部使用;Kingbase方言配置仍需确认 |
| 统一返回格式 | 可以直接复用 | AjaxResult、TableDataInfo、BaseController.toAjax |
培训 Controller 已使用 |
| 异常处理 | 可以直接复用 | GlobalExceptionHandler、认证/业务异常体系 |
通用能力存在;培训尚少领域校验,因此领域错误语义不足 |
| 代码生成 | 需要进一步确认 | ruoyi-generator、GenController、Velocity模板 |
模块完整,但元数据查询含 MySQL 语义,Kingbase可用性未验证 |
| 系统配置 | 可以直接复用 | SysConfigController/Service/Mapper、sys_config |
可保存培训参数;不应代替领域表 |
| 通知 | 需要扩展 | SysNoticeController、sys_notice |
当前是通知公告 CRUD,不是站内信/短信/设备推送工作流 |
2. 直接复用时的边界
登录与账号
复用 sys_user、sys_role、sys_menu 和现有 token,不再建设第二套用户名密码、角色菜单或登录页面。培训身份需要新增业务关联,而不是复制系统账号表。
权限
若依权限机制本身完整,但培训权限数据和命名尚未形成可复现基线。应先确认统一的 train:<resource>:<action> 或既有命名,再配置菜单/按钮;当前 system:* 与 train:* 并存不能视为已接通。
日志
现有 @Log 足以覆盖管理端接口操作。设备下发、回调、报到、成绩发布等需要可追溯状态时,应在领域内扩展业务流水;不要把 sys_oper_log 当作所有业务状态历史。
数据权限
现有框架适合部门/本人范围,但“教师只能看所带班级”“学员只能看本人”依赖教师/学员与 sys_user 的映射及参训/授课关系。当前模型没有这些关系,不能只加一个 @DataScope 就完成。
Excel
培训实体已有 @Excel 注解,导出接口已生成。导入还需要模板、字段校验、错误行反馈、重复策略、事务边界和权限;成绩/学员字段中的“可导入”描述不是实现。
文件
通用上传下载已经具备。课程的文档/视频/模型字段目前只是字符串,应先决定复用上传后的相对路径、资源 ID或专门资源表,然后再接业务流程。
定时任务
Quartz 管理和日志可直接承载未来任务,但仓库尚无培训 Job。后续若需要授权到期、设备离线检测、画像周期计算或同步重试,可以扩展现有 ruoyi-quartz,无需新增调度平台。
3. 静态存在与运行正常的区别
上述分类说明代码层是否可复用,不代表已在当前 Kingbase实例和当前未提交前端上运行验证。尤其 PageHelper方言、系统 Mapper SQL、代码生成器元数据 SQL、培训菜单权限和业务表实存状态都需要先验证。