zhonghua
|
c55b2266fb
|
fix: task_feedback 表字段对齐与完成情况图片展示
- 新增 V47 迁移:为 task_feedback 添加 create_by、update_by、deleted 字段
- 修复 TaskFeedbackMapper 使用 deleted 替代 deleted_at
- 教师端完成情况:将「X张照片」改为图片缩略图展示,支持点击预览
- 评价弹窗提交内容预览区显示图片网格,参考家长端提交页面
Made-with: Cursor
|
2026-03-20 19:05:59 +08:00 |
|
zhonghua
|
5cb903d7ed
|
feat: 家长端任务、教师端统计、数据库迁移等
- 家长端阅读任务:从 task_target 获取任务(学生+班级),支持家长关联孩子查看
- 家长端提交任务:修复照片上传,使用 uploadFile(file, poster) 符合 API 规范
- 教师端任务列表:TaskResponse 新增 targetCount、completionCount,填充目标人数与完成人数
- 数据库迁移:V45 添加 task_completion.photos,V46 添加 submitted_at、reviewed_at
- 其他:班级学生、家长孩子、学校班级统计等修复
Made-with: Cursor
|
2026-03-20 18:43:47 +08:00 |
|
|
|
9f04daa955
|
fix: 数据看板使用趋势 Y 轴步进值调整为 1
- 修改 DashboardView.vue 中趋势图表的 Y 轴配置
- 左右 Y 轴(授课次数、学生数)的步进值均设为 1
|
2026-03-20 14:54:11 +08:00 |
|
|
|
27cb883b23
|
feat: Flyway 迁移脚本更新课程包统计数据
V10__update_course_package_stats.sql:
- 根据 lesson 表实际数据更新 usage_count (status != 'cancelled')
- 根据 lesson 表实际数据更新 teacher_count (status = 'completed' 去重教师)
|
2026-03-20 14:38:26 +08:00 |
|
zhonghua
|
161e05dce4
|
fix:修复数据库迁移启动失败
|
2026-03-20 14:34:21 +08:00 |
|
zhonghua
|
26f55da670
|
Merge branch 'retirado' of http://8.148.151.56:3000/tonytech/kindergarten_java
# Conflicts:
# reading-platform-frontend/src/api/school.ts
# reading-platform-frontend/src/api/teacher.ts
# reading-platform-frontend/src/views/school/tasks/TaskListView.vue
# reading-platform-frontend/src/views/teacher/tasks/TaskListView.vue
# reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolTaskController.java
# reading-platform-java/src/main/java/com/reading/platform/controller/teacher/TeacherTaskController.java
# reading-platform-java/src/main/java/com/reading/platform/dto/response/TaskCompletionDetailResponse.java
# reading-platform-java/src/main/java/com/reading/platform/service/TaskService.java
# reading-platform-java/src/main/java/com/reading/platform/service/impl/TaskServiceImpl.java
|
2026-03-20 14:27:28 +08:00 |
|
Claude Opus 4.6
|
f62aa18e72
|
feat: 阅读任务模块重写(Phase 1-4)
## 主要变更
### 后端改造 (Phase 1)
- 新增 task_feedback 表存储教师评价
- task 表添加 related_book_name 字段
- task_completion 表添加 video_url, audio_url 字段
- 新增 TaskFeedback 实体和服务层
- 扩展 TaskService 支持完成情况查询和评价功能
- 学校端 API 改为只读模式 (/v1/school/reading-tasks)
### 教师端前端 (Phase 2)
- 创建任务弹窗添加关联绘本字段
- 完成情况弹窗支持新状态值 (PENDING/SUBMITTED/REVIEWED)
- 新增评价弹窗组件(评价结果、评分、评语)
- 显示提交内容预览(照片、视频、音频、文字)
### 家长端前端 (Phase 3)
- 提交功能改造支持照片上传(最多9张)
- 支持视频/音频链接输入
- 阅读心得文字输入
- 新增查看教师评价功能
- 状态驱动操作(待提交/已提交/已评价)
### 学校端前端 (Phase 4)
- 完全重写为只读模式
- 移除创建/编辑/删除功能
- 多维度筛选(关键字、类型、状态、日期、排序)
- 统计卡片(任务数、进行中、已提交、已评价)
- 任务详情弹窗
- 完成情况列表弹窗
- 提交详情弹窗
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-20 14:08:36 +08:00 |
|
zhonghua
|
37a6aba8cc
|
feat: 任务完成情况 API 与 UI 优化
- 学校/教师端: 新增 GET/PUT 任务完成情况接口,支持分页与状态筛选
- 后端: TaskCompletionDetailResponse 含学生姓名、班级信息
- 后端: 新增 getTaskCompletionStats、getTaskCompletionsWithStudent
- 学校端: 状态筛选移至弹框标题后,分页始终显示
- 班级字段: 支持 ACTIVE 状态,无记录时用 student.grade 兜底
- 迁移 V43: 添加 student_class_history 测试数据
Made-with: Cursor
|
2026-03-20 11:48:56 +08:00 |
|
|
|
c3b1056c29
|
feat: 租户管理与课程套餐优化
- 优化租户管理相关接口与实体类
- 更新课程套餐服务层实现
- 新增数据库迁移脚本 V42
- 同步更新前端 API 类型与页面组件
|
2026-03-19 23:28:40 +08:00 |
|
|
|
2b611f6c17
|
fix(V41): 修复中间表优化迁移脚本(使用存储过程处理不存在的情况)
- 使用存储过程和 IF EXISTS 检查来删除索引和字段
- 避免因为索引/字段不存在导致迁移失败
- 创建临时 FlywayCleanerConfig 用于清理失败的 v41 迁移记录
- 成功执行 V41 迁移,优化中间表结构
影响范围:
- course_collection_package: 删除 uk_collection_package 索引和 deleted 字段
- tenant_course: 删除 uk_tenant_course 索引和 deleted 字段
- class_teacher: 删除 deleted 字段
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 17:28:15 +08:00 |
|
|
|
48172921d7
|
fix: 修复 V41 迁移脚本的 SQL 语法错误(MySQL 不支持 IF EXISTS)
|
2026-03-19 16:54:21 +08:00 |
|
|
|
60213b513d
|
refactor(entity): 中间表优化 - 移除联合唯一索引和 deleted 字段
- CourseCollectionPackage、TenantCourse、ClassTeacher 改为独立实体类
- 不再继承 BaseEntity,移除 deleted 字段,使用物理删除
- 创建 V41 迁移脚本移除联合唯一索引和 deleted 字段
- 更新中间表设计规范到 CLAUDE.md 和统一开发规范.md
refactor(entity): 中间表优化 - 移除联合唯一索引和 deleted 字段
- CourseCollectionPackage、TenantCourse、ClassTeacher 改为独立实体类
- 不再继承 BaseEntity,移除 deleted 字段,使用物理删除
- 创建 V41 迁移脚本移除联合唯一索引和 deleted 字段
- 更新中间表设计规范到 CLAUDE.md 和统一开发规范.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 16:38:51 +08:00 |
|
|
|
9a9caab60b
|
feat(db): 添加 V40 迁移脚本删除 tenant_package 表的 package_id 字段
- 创建 V40__drop_tenant_package_package_id.sql 迁移脚本
- 安全删除 tenant_package 表中废弃的 package_id/packageId 列
- 该字段已在 V31 中尝试删除,V40 用于修复执行失败的情况
- TenantPackage 实体已使用 collectionId 字段替代
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 12:34:00 +08:00 |
|
|
|
deb8431910
|
fix: 修复 course.ts 中 http 对象未导入的问题
- 添加 http 对象封装,支持 get/post/put/delete 方法
- 修复 submitCourse 和 rejectCourse 函数中 http.post 未导入的问题
- 确保课程包编辑页面的"保存"和"保存草稿"按钮能正常请求后端
同时包含之前的数据库外键修复:
- 新增 V39 迁移脚本删除外键约束
- 修改 V28 移除外键创建语句
- 增强 CourseCollectionService 应用层验证
|
2026-03-19 10:32:58 +08:00 |
|
|
|
bad446c069
|
Merge remote-tracking branch 'origin/master'
|
2026-03-19 09:39:52 +08:00 |
|
Claude Opus 4.6
|
10936b7a78
|
fix: 修复迁移脚本被 .gitignore 忽略的问题
- 添加 !**/db/migration/*.sql 例外规则
- 补充 V32-V37 Flyway 迁移脚本
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 09:39:38 +08:00 |
|
|
|
1d4bf52d05
|
fix: 修复租户管理选择套餐显示 NaN 元问题
问题原因:
- 租户管理页面调用 /api/v1/admin/packages/all 获取课程包
- 但 CoursePackage 实体没有 price 和 discountPrice 字段
- 这些字段在 CourseCollection(课程套餐)实体中
后端修改:
- AdminCourseCollectionController 新增 GET /all 接口
- 返回已发布的课程套餐列表(含价格信息)
- 添加 @Slf4j 注解和必要导入
前端修改:
- src/api/admin.ts 修改 API 调用路径为 /collections/all
- 修改返回类型为 CourseCollectionResponse[]
- TenantListView.vue 修改 packageList 类型
- 修复 formatPackagePrice 处理 undefined 值
- 修复 handlePackageTypeChange 类型检查
数据库迁移:
- 添加 V38 脚本为 course_collection 表添加自增主键
其他修改:
- .gitignore 移除 *.sql 排除规则(允许迁移脚本)
- CourseCollectionRejectRequest 和 CourseRejectRequest 用于审核驳回
修复的 TypeScript 错误:
- formatPackagePrice 参数改为可选类型
- selectedPackage.name 添加可选链操作符
|
2026-03-19 09:34:54 +08:00 |
|
Claude Opus 4.6
|
ddd3d8c152
|
feat: 套餐管理功能增强
新增功能:
- 后端新增套餐状态管理端点(下架、重新发布、撤销审核)
- 前端套餐详情页增加完整状态流转操作
- 前端套餐管理增加课程包添加/移除功能
- 修复套餐详情页空值引用错误
- 新增 collections.ts API 封装模块
后端变更:
- AdminCourseCollectionController 新增 archive/republish/withdraw 端点
- CourseCollectionService 新增对应服务方法
前端变更:
- collections.ts 新增 API 封装
- CollectionDetailView 增加状态管理按钮和课程包管理
- CollectionListView 增加状态筛选和操作按钮
- 修复 route 配置和 API 调用路径
- 合并远程更新,解决 TenantListView.vue 冲突
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-18 18:19:25 +08:00 |
|
Claude Opus 4.6
|
279fa79b56
|
merge: 合并远程更新并解决冲突
- 合并学校课程管理搜索与年级筛选功能
- 修复教学资源区域间距问题
- 删除已忽略的自动生成文件
- 新增排课弹窗优化(移除课程选择,自动选择第一门课程)
- 新增 lessonType 从 schedule_ref_data 解析功能
- 修复前端代理配置(端口 8480)
|
2026-03-18 14:46:32 +08:00 |
|
Claude Opus 4.6
|
6b5d0e171b
|
feat: 添加排课计划参考示例数据
- 创建 Flyway 迁移脚本 V29__add_schedule_ref_data.sql
- 为小猪佩奇绘本阅读、好饿的毛毛虫、三只小猪添加排课计划参考
- 包含导入课、集体课、五大领域课的排课建议
- 更新开发日志和变更日志
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-18 09:39:27 +08:00 |
|
Claude Opus 4.6
|
c90873bea9
|
Merge remote-tracking branch 'origin/master' and complete two-tier structure refactoring
合并同事的远程更新:
- 多地点登录支持功能
- 资源库管理优化
- 数据看板修复
- 视频预览功能
- KidsMode增强
两层结构重构完成:
- 数据库迁移 V28(course_collection、course_collection_package)
- 后端实体、Service、Controller实现
- 前端API类型和组件重构
- 修复冲突文件:CHANGELOG.md、components.d.ts、TeacherLessonController.java
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-17 16:59:06 +08:00 |
|
zhonghua
|
193bbe90ae
|
feat: 资源库管理优化 - 直传、WebOffice预览、接口对齐
- 资源上传改为 OSS 直传,支持进度与取消
- Office 文档(PDF/PPT/Word/Excel)使用 WebOffice 在线预览
- 后端 ResourceItemResponse 补充 title/fileType/filePath/fileSize/tags/library
- 后端 getStats 返回 totalLibraries/totalItems/itemsByLibraryType
- 前后端字段对齐:libraryType、name/type 兼容
- 修复 tags 反序列化、name 必填、主键冲突问题
- 新增 V16 迁移修复 resource_item AUTO_INCREMENT
Made-with: Cursor
|
2026-03-17 15:53:04 +08:00 |
|
|
|
4d4e042c22
|
fix: 修复 Flyway V13 迁移失败问题与后端启动故障
问题原因:
- Flyway V13/V14/V15 迁移脚本使用了 MySQL 不支持的语法
- 导致数据库迁移失败,后端无法启动
修复内容:
1. 修正 V13/V14/V15 Flyway 迁移脚本
2. 更新 Entity 类添加缺失字段
3. 新增教师端 Service 服务层
4. 新增教师端 DTO 请求/响应类
5. 更新 TeacherController 相关接口
新增文件:
- TaskTemplateService/Impl
- TeacherFeedbackService/Impl
- TeacherScheduleService/Impl
- 7 个 Request DTO
- 1 个 Response DTO
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-17 10:08:24 +08:00 |
|
|
|
ce7ee34666
|
feat: 集成阿里云 IMM (即时媒体服务) 与 OSS 跨域配置优化
主要变更:
- 新增阿里云 IMM SDK 依赖 (imm20200930 v1.28.3)
- 新增 IMM 配置类 (ImmConfig, ImmUtil, ImmController, ImmTokenVo)
- 新增前端 API 生成文件 (imm.api.ts)
- 更新 WebOffice.vue 使用新的 imm.api 导入
配置优化:
- 三环境 (dev/test/prod) 均开启 OSS CORS 跨域支持
- 添加 IMM 服务配置 (endpoint, region, project, 密钥)
- 测试/开发环境跨域域名设置为通配符
技术栈:
- 后端:Spring Boot + 阿里云 IMM SDK
- 前端:Vue 3 + TypeScript API 生成
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-16 19:35:31 +08:00 |
|
zhonghua
|
709e59e142
|
feat: 展播模式优化与排课表修复
- 展播模式:空状态/错误状态添加返回上课按钮
- 展播模式:退出时自动跳转回上课页面或关闭标签页
- 数据库:lesson表id添加AUTO_INCREMENT,修复预约上课报错
Made-with: Cursor
|
2026-03-16 19:22:06 +08:00 |
|
zhonghua
|
a7e22ff35b
|
文件直传优化
|
2026-03-16 18:46:16 +08:00 |
|
|
|
a1dcd529ef
|
feat: 实现 OSS 直传功能
后端实现:
- 新增 OssTokenVo 响应类
- 修改 OssUtils 支持生成 OSS 直传 Token
- 修改 FileUploadController 添加 /oss/token 接口
- 修改 SecurityConfig 配置 OSS 相关接口权限
- 更新多环境 OSS 配置
前端实现:
- 新增 env.ts 工具函数,支持环境前缀
- file.ts 新增 getOssToken 和 uploadToOss 方法
- 修改 uploadFile 方法使用 OSS 直传
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-16 18:13:56 +08:00 |
|
|
|
05d075eefc
|
refactor: 代码优化和资源表修复
- 修复 CourseStatus 枚举
- 优化 CourseServiceImpl 和 TeacherStatsServiceImpl
- 修复资源表迁移脚本
- 更新开发日志
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-16 15:36:09 +08:00 |
|
|
|
2e68b99975
|
refactor: 将 ORM 实体类 ID 改为数据库自增
- 修改 BaseEntity 的 @TableId 从 ASSIGN_ID 改为 AUTO
- 创建 V11 迁移脚本将所有表的 id 列改为 AUTO_INCREMENT
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-16 15:31:41 +08:00 |
|
|
|
928f1b7afe
|
redis添加密码
|
2026-03-16 14:24:17 +08:00 |
|
|
|
43095f97af
|
fix: 课程创建功能调试和测试脚本优化
前端:
- CourseEditView 添加调试日志,修复创建课程后跳转逻辑(window.location.href → router.push)
- E2E 测试脚本增加日志监听和更精确的选择器
- 优化测试等待时间和元素定位逻辑
- helpers.ts 增强登录流程日志
后端:
- AdminCourseController 添加日志记录,简化课程列表查询参数
- CourseServiceImpl 添加课程创建日志
配置:
- application-dev.yml 修改为本地数据库配置(192.168.1.250)
- application-test.yml 同步使用本地数据库
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-16 14:17:11 +08:00 |
|
|
|
938503f2b8
|
chore: 更新启动脚本使用 Java (Spring Boot) 后端
- 修改后端目录从 reading-platform-backend 改为 reading-platform-java
- 修改后端端口从 3000 改为 8080
- 修改启动命令从 npm run start:dev 改为 mvn spring-boot:run
- 添加 JAVA_HOME 自动检测和设置(默认使用 /f/Java/jdk-17)
- 修改日志文件从 reading-platform-backend.log 改为 reading-platform-java.log
- 修改健康检查接口为 /actuator/health
- 增加启动等待超时时间到 60 秒(Java 启动较慢)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-16 10:35:30 +08:00 |
|
|
|
6e11c874d2
|
chore: 忽略 target 目录和 .class 文件
- 添加 target/ 到 .gitignore
- 从 git 暂存区移除已追踪的 target 目录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-14 16:50:54 +08:00 |
|
Claude Opus 4.6
|
eb6724adf7
|
fix: 修复登录问题 - 所有角色登录功能正常
修复学校/教师/家长用户登录失败和课程套餐创建的问题。
**问题修复:**
- 修正实体类表名映射(去除 t_ 前缀)
- 添加Tenant登录支持到AuthServiceImpl
- 为Tenant实体添加username和password字段
- 添加school角色的getCurrentUserInfo和changePassword支持
**实体类表名修正:**
- Teacher.java: t_teacher → teachers
- Parent.java: t_parent → parents
- Student.java: t_student → students
- AdminUser.java: t_admin_user → admin_users
- Tenant.java: t_tenant → tenants
**AuthServiceImpl增强:**
- 添加TenantMapper依赖
- 添加school角色枚举支持
- login方法添加tenant自动检测
- getCurrentUserInfo添加school case
- changePassword添加school case
**新增文件:**
- init-users.sql - 用户数据初始化脚本
- V20260312__fix_login_issues.sql - 数据库迁移脚本
- 2026-03-12-full-test.md - 功能测试记录
**测试结果:**
✅ 超管登录 (admin/123456)
✅ 学校登录 (school1/123456)
✅ 教师登录 (teacher1/123456)
✅ 家长登录 (parent1/123456)
✅ 课程套餐创建
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-12 20:02:48 +08:00 |
|
Claude Opus 4.6
|
081fac9d97
|
feat: Java后端迁移完成 - 资源管理API修复与文档更新
完成从Node.js/NestJS到Java Spring Boot的后端迁移,修复资源管理API错误。
**核心修复:**
- 修复资源库API 500错误 - ResourceLibrary/ResourceItem实体与数据库表结构对齐
- 更新ID类型从Long改为String,匹配数据库varchar(32)
- 修正字段映射(libraryType → type)
**新增Java实体(7个):**
- CoursePackage, CoursePackageCourse, TenantPackage
- CourseLesson, LessonStep, LessonStepResource
- Theme
**新增API控制器(5个):**
- AdminResourceController - 资源库管理
- AdminPackageController - 课程套餐管理
- AdminCourseLessonController - 课程环节管理
- AdminThemeController - 主题字典管理
- SchoolPackageController - 学校套餐管理
**新增服务层(5个):**
- ResourceLibraryService, CoursePackageService, CourseLessonService
- ThemeService, FileStorageService
**文档更新:**
- 新增 Java环境配置与启动指南.md
- 新增 Java后端启动完整指南.md
- 新增 数据库迁移指南.md
- 更新 CHANGELOG.md 和开发日志
**前端修复:**
- 解决package.json合并冲突
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-12 19:49:48 +08:00 |
|
张逸遥
|
ad0204a59a
|
提交说明
|
2026-02-28 16:41:39 +08:00 |
|