云帆考试系统 v8.6:新增培训计划模块,串联考试、课程、竞赛、报名、问卷与证书

本次版本要解决的问题:培训流程散落在六个模块里

多数单位的完整培训流程是这样的:先发报名通知收集参训人员,然后组织课程学习,学完之后考试,中间可能安排知识竞赛,结束后做满意度问卷,最后发结业证书。

在此之前,这六个环节在系统里是各自独立的:报名归报名、学习归学习、考试归考试、问卷归问卷、证书归证书。培训负责人要在几个模块之间来回切换、手工确认"谁学完了、谁可以考、谁该发证"。v8.6 的培训计划模块,就是把这六个环节串成一条流程。

新增培训计划模块:把六类业务串成一条流程

  • 新增培训计划模块,支持定制培训流程,串联当前其它业务逻辑:在线考试、课程学习、知识竞赛、活动报名、问卷调查、证书;
  • 原活动报名去除考试报名、学习报名逻辑,可采用培训计划实现;
  • 原课程学习功能去除考培结合功能,可采用培训计划实现;
  • 管理端:培训流程设计、培训通知、复制培训、培训订单等;
  • 管理端统计:培训总览统计、培训记录统计、培训记录导出、培训环节概览、培训环节导出;
  • 学员端:培训流程相关业务逻辑(PC 端与移动端)。

这是一次能力收纳:把原先散落在报名模块和课程模块里的"流程串联"逻辑统一到培训计划里,一个入口配置整条流程。对需要按年度、按批次反复组织培训的单位,还可以直接复制培训,不必从零再配一遍。

后端技术框架升级:SpringBoot 3.2.1 & JDK17

  • SpringBoot 升级为 3.2.1;
  • 相关引用升级(Shiro、MyBatisPlus、Jackson、Swagger 等);
  • 相关业务代码改写:Swagger 注释、配置文件调整、模块引用关系优化、新的注入写法等;
  • pom.xml 文件优化,统一版本管理,优化模块引用关系。

注意:Java 版本升级最低要求 JDK17,兼容 JDK21。部署前需要确认服务器 JDK 版本——这条是升级前置条件,建议在测试环境先验证完整启动与业务回归。

题库训练优化

  • 增加训练整体进度:已做题、未做题、错题、正确率;
  • 调整训练内部逻辑,优先抽取训练次数少的题目,以便逐步覆盖未训练题目;
  • 单次训练由整库抽取改为抽取 100 题,可进行多次训练覆盖整库;
  • 题目笔记和题目收藏内部逻辑处理;
  • 移动端增加训练结果页面,结束训练后跳转到训练结果;
  • 调整训练正确率显示,统一算法为:正确数量 / 已训练题数;
  • 考试错题训练,删除【答对移出错题集】功能;题库训练保留此功能。

这里有一条容易被忽略但很重要的改动:单次训练从"整库抽取"改为抽取 100 题。题库大的时候,整库抽取会让学员面对几百道题的训练量,实际上很难坚持完成;拆成 100 题一轮、并优先抽未练过的题,可以分多次逐步覆盖整库。

考试与报名优化

  • 简答题增加手机端图片上传功能,可拍照或将手机端图片上传到 PC 端作答区域;
  • 报名记录展示:表格展示全部报名信息字段;
  • 报名记录导出:导出全部报名信息字段;去除主字段显示。

简答题的手机拍照上传解决的是一类高频场景:现场操作题、手写计算过程、纸质单据填写——这些答案本来就写在纸上,让考生在电脑前打字作答既别扭也不真实。手机拍完直接进 PC 端作答区域,把移动端的拍照能力接进了 PC 考试流程。

运维能力:日志清理与分布式 ID

  • 增加系统日志清理功能,自动清理 30 日以前的操作日志;
  • 增加系统在分布式下的 ID 生成策略,提升负载均衡性能,避免 ID 重复问题;
  • 后端代码优化,更清晰区分管理端业务和学员端业务(admin 包和 client 包),统一学员端接口请求地址,前缀 /api/业务模块/client/;
  • 统一前端路由格式,统一通过 query 传参,去除原有的 params 传参方式;
  • 管理端上传图片封面增加图片裁切功能。

分布式 ID 生成这条属于"平时看不出、出问题时很严重"的改动:多节点部署下如果 ID 生成策略不当,会出现主键冲突。本次引入分布式 ID 策略,同时提升了负载均衡下的性能表现。

常见问题

升级 v8.6 必须先升 JDK 吗?是。SpringBoot 3.2.1 最低要求 JDK17,兼容 JDK21。建议在测试环境完成启动验证与业务回归后再升级生产环境。

原来的报名和考培结合配置会失效吗?原活动报名中的考试报名、学习报名逻辑,以及课程学习中的考培结合功能已去除,改用培训计划模块实现。升级后需要在培训计划里重建对应流程。

培训计划可以复制吗?可以。管理端提供"复制培训"能力,按年度或批次组织培训时可直接复用上期流程与配置。


学习地图

培训计划

培训计划进度