Commit Graph

18 Commits

Author SHA1 Message Date
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
En
c3b1056c29 feat: 租户管理与课程套餐优化
- 优化租户管理相关接口与实体类
- 更新课程套餐服务层实现
- 新增数据库迁移脚本 V42
- 同步更新前端 API 类型与页面组件
2026-03-19 23:28:40 +08:00
zhonghua
824ce7ad80 feat: 教师端预约上课与学校端新建排课流程一致
- 后端:教师可访问课程套餐/课程包/lesson-types API
- 后端:TeacherScheduleServiceImpl 支持 coursePackageId、lessonType
- 前端:新增 TeacherCreateScheduleModal 四步流程(选择课程包→课程类型→班级→时间)
- 前端:ScheduleView 集成新弹窗
- 前端:课程中心 PrepareModeView 预约上课使用相同四步流程,支持预设

Made-with: Cursor
2026-03-19 18:14:25 +08:00
zhonghua
829a70e448 feat: 学校端课程排期功能完善
- 排课计划参考:对齐管理端课程包详情,支持时间/课程类型/课程名称/区域活动/备注五列
- 支持两种 schedule_ref_data 格式(周排课表、课程类型说明)
- 新建排课弹窗样式提取为 CreateScheduleModal.scss 修复 SASS 编译错误
- 切换视图(列表/课表/日历)时自动刷新数据
- 排课列表、课表、日历视图增加课程类型 tag 展示
- 后端:timetable/lesson-types 接口修复,LessonTypeEnum 补充类型

Made-with: Cursor
2026-03-19 16:34:48 +08:00
zhonghua
f425209abe feat: 校园端课程列表筛选与卡片展示参考教师端
- 筛选栏:年级/领域/课程类型下拉、搜索框,保留授权新课程按钮
- 卡片:新增 lessonTags 展示(导入课、集体课、领域等)
- 后端:学校课程 API 支持 domain、lessonType 参数及 lessonTags 返回
- 主题保持校园端绿色

Made-with: Cursor
2026-03-19 15:07:40 +08:00
zhonghua
81dd74662e fix: 修复 /api/v1/school/courses 接口 gradeTags 前端显示数据丢失
- 后端: 增强 SchoolCourseController.parseJsonArray 兼容多种 JSON 格式
- 后端: 新增 SchoolCourseResponse,gradeTags/domainTags 规范为 String[]
- 前端: 学校端课程列表/详情统一使用 parseGradeLevels 解析 gradeTags
- 前端: 兼容 grade_tags/domain_tags snake_case 字段

Made-with: Cursor
2026-03-19 14:05:28 +08:00
En
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
En
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
zhonghua
7fe2c319ee 学校课程管理: 前后端对齐,实现搜索与年级筛选功能
Made-with: Cursor
2026-03-18 10:15:37 +08:00
Claude Opus 4.6
2e3143affb feat: 添加课程包排课计划参考数据返回
后端改动:
1. CoursePackageResponse.CoursePackageCourseItem 添加 scheduleRefData 和 lessonType 字段
2. CoursePackageService.toResponse() 填充 scheduleRefData 和 lessonType
3. CourseCollectionService.toPackageResponse() 重写以包含课程列表和排课计划参考
4. 添加必要的 mapper 依赖注入

前端改动:
1. school.ts CoursePackage 接口添加 scheduleRefData 字段
2. CreateScheduleModal.vue 优化 selectPackage() 方法,直接从响应数据中提取排课计划参考

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 09:38:52 +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
En
bb7fb86c3b feat: 租户套餐枚举优化与学校端课程查询实现
- 新增 TenantPackageStatus 枚举类,消除 status 字段魔法值
- 修改 TenantPackage 实体 status 字段类型为枚举
- 更新 CoursePackageService、TenantServiceImpl、CourseLessonService 使用枚举
- 实现学校端课程查询接口 /api/v1/school/courses
- 新增 CourseService.getTenantPackageCourses() 方法查询租户套餐下的课程
- 前端新增 Course 类型定义

共修改 26 个文件,新增 609 行,删除 83 行
2026-03-17 13:42:01 +08:00
En
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
En
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
56508eb066 feat: 三端全链路测试完成 - 学校端、教师端、课程包业务
## 后端修复
- 修复教师端课程查询 - 包含系统课程和租户课程
- 修复系统课程创建 - isSystem 标志正确保存到数据库
- 新增套餐授权接口 POST /api/v1/admin/packages/{id}/grant

## 新增 Controller
- SchoolStatsController - 学校端统计数据
- SchoolCourseController - 学校端课程管理
- TeacherStatsController - 教师端统计数据

## 前端修复
- 修复 API 客户端导入 - getApi → getReadingPlatformAPI
- 修复三端 API 调用方法名
- 更新 Orval 生成配置和 API 类型
- 修复学校端视图 - result.items → result.list

## 测试结果
-  超管端:课程创建/发布、套餐完整流程、授权
-  学校端:登录、统计、课程、套餐查看
-  教师端:登录、Dashboard、班级、课程查看

## 文档更新
- 新增测试记录:/docs/test-logs/
- 更新 CHANGELOG.md
- 更新今日开发日志

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 13:48:28 +08:00
张逸遥
ad0204a59a 提交说明 2026-02-28 16:41:39 +08:00
lesingle
54f6daea62 Initialize the Kindergarten platform source code. 2026-02-26 15:22:26 +08:00