|
|
e468be74b7
|
feat(exam): 添加按班级、年级、学生姓名筛选考试结果功能
- 在ExamWordsResultReqVO中新增classId、gradeId、studentName字段
- 修改ExamWordsJudgeService接口及实现,支持按筛选条件获取考试结果
- 在ExamWordsJudgeResultDOMapper中添加按学生ID列表分页查询方法
- 扩展StudentDOMapper,新增按班级、年级和姓名查询学生列表方法
- 修改ExamWordsController,支持从请求体接收筛选参数
- 修改前端exam.js,调用接口时传递筛选参数
- 在uploadpng.vue页面新增筛选表单,支持班级、年级、学生姓名输入
- 增加班级和年级选项数据的获取
- 实现筛选查询、重置功能及班级切换自动同步年级
- 在App.vue中配置Element Plus中文语言环境
- 调整配置文件,更新学习计划模板路径
- 修改接口权限配置,关闭plan/word/voice路径的鉴权
|
2025-12-31 19:21:19 +08:00 |
|
|
|
868e0bb7bd
|
feat(plan): 支持学案生成状态轮询与进度显示
- 新增接口检查学案是否正在生成,防止重复生成任务
- 使用 Redis 缓存标识学案生成状态,设置 12 分钟过期时间
- 生成学案时记录状态至 Redis,生成完成后自动清除
- Vue 学案列表新增学案生成进度条显示与已生成标签
- 新增组件事件监听生成成功,触发轮询检测学案状态
- 轮询间隔 10 秒,动态更新学案生成进度,最高至 95%
- 路由离开与组件卸载时停止所有轮询,防止内存泄漏
- 优化学案生成逻辑,新增小测试卷自动关联及数据入库
- 更新配置文件模板路径,提高文档管理一致性
|
2025-12-31 15:41:53 +08:00 |
|
|
|
504dd8d964
|
refactor(exam): 重构考试判卷任务与新增教案小测功能
- 将自动判卷任务类从job包迁移到task包并添加日志打印,增强可维护性
- 优化自动判卷逻辑,仅当有未完成试卷时触发判卷处理
- 修正判卷结果中学生姓名和考试标题的空值保护,防止空指针异常
- 扩展考试类型常量,新增教案小测类型常量EXAM_TYPE_TEST
- 修改exam_words表插入语句,新增type字段支持不同考试类型
- 优化判卷逻辑:仅摸底考试计算等级,其他考试添加答题数提示信息
- 判卷完成后调用学案服务,自动完成学生对应学案计划
- 在教案计划生成中增加教案小测试卷的生成与存储
- 新增PlanExamDO数据对象及对应Mapper,实现学案与考试的关联映射
- 修改MySQL及Redis配置文件,完善环境配置
- 修正文档生成模板路径及生成逻辑,优化导出功能
- 屏蔽部分测试用例中的直接调用,防止无效执行和输出
- 清理部分测试代码中的硬编码和无用注释,提升代码整洁度
- 删除无用OMR测试代码,注释多余测试实现,简化测试类
- 统一二维码链接域名,指向正式环境地址
- 移除enlish-service中对词汇库插入的测试注释,避免误执行
|
2025-12-31 14:16:43 +08:00 |
|
|
|
0f5169c1d7
|
refactor(ai): 重构AI客户端类并添加句子分析接口
- 将 DifyArticleClient 重命名为 DifyClient,调整相关调用引用
- 增加 sendSentenceAnalyze 方法,实现批量词汇句子分析功能
- 更新配置文件,新增 analyzeKey 和 sentenceKey 两个AI接口密钥配置
- 修改LessonPlansServiceImpl中生成连词成句功能,调用新句子分析接口
- 优化LessonPlanConstant常量,调整部分键名格式,去除空格
- 修改相关测试类适配 DifyClient 改动
- 相关VO类添加学生姓名和试题名称字段,丰富展示数据
- 更新前端table组件,替换显示学生姓名、班级名、年级名等信息字段
- 调整路由首页路径为“/”,修改Header组件对应链接
- 其他若干细节修改,如异常日志优化、时间格式展示等
|
2025-12-30 10:30:26 +08:00 |
|
|
|
2d76ed507e
|
feat(tts): 集成OpenAI语音合成功能并支持计划单词语音生成
- 新增TTS工具类TTSUtil,实现文本到语音的转换并通过HTTP响应返回音频流
- 在LessonPlanController添加获取计划单词列表及单词语音生成接口
- 前端新增PlanTTS页面,实现计划单词TTS的加载、生成、播放及下载功能
- 路由新增PlanTTS路由,支持访问TTS生成功能页面
- 配置文件application-dev.yml新增OpenAI TTS相关配置
- WordExportUtil生成计划文档时嵌入对应页面二维码图片
- 引入spring-ai-openai相关依赖支持OpenAI模型调用
- 新增单词语音相关请求与响应VO类,方便接口数据传输
- 新增计划单词获取接口plan/word/voice对应前端api
- 新增计划单词语音合成接口plan/word/voice/tts对应前端api
- 添加二维码生成逻辑,用于生成计划文档中的二维码图片链接
- 添加单元测试模版VoiceTest,预留TTS工具类测试接口
|
2025-12-29 12:44:16 +08:00 |
|
|
|
494ab77486
|
feat(plan): 支持学案生成时指定单词数
- 在 AddLessonPlanReqVO 中新增 wordSize 字段
- 修改 LessonPlansService 接口及实现,支持 wordSize 参数
- 优化学案生成逻辑,按指定单词数切分词汇列表
- 更新前端 LessonPlanDialog,添加单词数输入框
- 修改生成学案接口及调用,传递 wordSize 参数
- 增加查询学生词汇掌握详情接口及实现
- 添加学生词汇统计展示组件及页面集成
- 调整词汇相关 Mapper,修正记忆强度条件范围
- 更新权限配置,允许访问学生单词详情接口
|
2025-12-27 17:21:25 +08:00 |
|
|
|
bc9334f5ab
|
fix(examWords): 修复考试单词顺序混乱和标记阈值调整
- 限制单词释义显示长度,避免过长显示问题
- 修复获取单词后单词 ID 顺序混乱问题,增加更新考试记录单词 ID 顺序功能
- 增加 ExamWordsDOMapper 中更新单词 ID 顺序的方法及对应 XML 配置
- 在 ExamWordsService 中新增更新单词 ID 顺序方法及其实现
- 调整 PngUtil 中未背熟单词标记阈值由 800 降至 500,增强识别准确性
- 优化测试用例,增加对未掌握单词的输出日志
- 更新测试数据文件路径及格式对应关系,改进词汇插入逻辑,完善变量赋值
- 统一单词实体中音标和词性赋值,保证完整词汇信息展现
|
2025-12-25 17:01:21 +08:00 |
|
|
|
065da854ee
|
feat(exam): 支持按单个学生和考试类型生成考试试题
- 修改生成试题按钮仅在选中特定一个学生时可用,避免多选时误操作
- 在考试生成对话框新增“类型”选择项,支持“摸底”和“期中|期末”类型
- 调整后台接口,使用单个学生ID和考试类型替代学生ID列表参数
- 优化考试生成服务,新增摸底考试生成逻辑,按年级分区随机抽词汇
- 考试相关数据对象新增类型字段,保持数据完整性和一致性
- 修改考试判卷服务,将错误信息字段统一为msg,避免字段混淆
- 调整数据库操作,支持单个学生考试与词汇随机获取
- 同步更新测试用例和词汇库数据插入逻辑,确保环境一致性
- 修复界面生成按钮状态和对话框提交按钮的校验逻辑,提升用户体验
|
2025-12-18 17:21:37 +08:00 |
|
|
|
7f41036193
|
feat(lessonplan): 实现基于AI的学案自动生成与管理功能
- 新增DifyArticleClient工具类,实现基于Dify API的对话与文本生成功能
- 创建LessonPlansService接口及其实现,实现学案按天生成及存储
- 设计LessonPlansDO和StudentLessonPlansDO数据对象及对应MyBatis映射和数据库操作
- 扩展VocabularyBankDO实体及Mapper,支持查询单元词汇和学生未掌握词汇
- 利用deepoove-poi模板技术生成Word格式的学习计划文档,包含词汇、复习和练习
- 开发StringToPlanMapUtil工具类,解析AI返回结果为结构化学案内容
- 新增JUnit测试用例验证AI对话功能及学案生成逻辑正确性
- 更新Spring Boot配置,添加AI接口地址及密钥等参数
- 在前端Vue项目中新建学案页面,路由配置及导航菜单支持学案访问
|
2025-12-16 19:08:58 +08:00 |
|
|
|
feabb6d4b1
|
refactor(pngutil): 优化试卷id识别为学生和试卷组合对象
- 将分析试卷id方法返回类型改为StudentExamId,包含学生id和试卷id
- 修改正则匹配逻辑,从单个id提取改为依次提取试卷id和学生id
- 增加StudentExamId类,封装学生id和试卷id字段
- 试卷生成与接口数据构建均添加学生相关信息,完善数据结构
- 相关测试调用修改为使用StudentExamId类型并打印对象信息
|
2025-12-12 17:37:28 +08:00 |
|
|
|
e729ddc829
|
feat(omr): 新增基于OCR的试卷ID识别功能
- 集成Tess4J实现OCR识别,新增analyzeExamWordsId方法提取试卷ID
- 对试卷图片左上角区域进行裁剪和预处理以提升识别准确率
- 添加Mat到BufferedImage的转换辅助方法,支持OCR读取
- 在测试用例中增加对OCR识别功能的集成测试
- 修改配置文件添加OCR数据路径,完善依赖引入OpenCV和Tess4J库
|
2025-12-12 17:04:02 +08:00 |
|
|
|
e0258c7ddf
|
refactor(exam): 重构摸底测试为考试词汇模块
- 删除原 Assessment 相关的实体、Mapper、Service 接口及实现和 Controller
- 重命名常量类 AssessmentConstant 为 ExamWordsConstant 并调整相关常量值
- 新增 ExamWordsController 替代 AssessmentController,使用新模板生成试卷
- 新增 ExamWordsService 及其实现,实现按年级、等级和学生列表生成考试词汇
- 新增 ListWordIdTypeHandler 处理 List<Integer> 与数据库间的 JSON 转换
- 调整 PngUtil 中常量引用改为 ExamWordsConstant
- 修改配置文件新增模板路径及临时目录设置
- 新增单元测试 ExamTest 验证考试词汇生成及文档导出功能
- 修改生成配置文件,支持 student_exam_words 表的数据操作
- 清理未使用的 Assessment 相关代码,精简项目结构
|
2025-12-12 16:12:17 +08:00 |
|
|
|
b01810191e
|
feat(assessment): 添加图片分析及生成摸底测试文档功能
- 新增AssessmentConstant常量接口,定义文件暂存目录及列数常量
- AssessmentController新增上传图片分析接口,支持将上传的PNG文件暂存并解析坐标
- 新增CoordinatesXY数据模型,封装坐标及宽高信息
- 引入OpenCV依赖,新增PngUtil工具类,实现黑色块检测并计算坐标列表
- PngUtil实现对未背熟单词的图片标记分析方法
- 优化AssessmentController使用新版Word模板文件assessment_v3.docx
- 删除冗余旧的StudentServiceImpl代码,整合至student包内实现
- 迁移和完善StudentServiceImpl,实现学生分页查询及总数统计接口
|
2025-12-12 11:51:30 +08:00 |
|
|
|
d777437e82
|
feat:生成评测docx
|
2025-12-10 18:33:52 +08:00 |
|