Commit Graph

17 Commits

Author SHA1 Message Date
En
05d075eefc refactor: 代码优化和资源表修复
- 修复 CourseStatus 枚举
- 优化 CourseServiceImpl 和 TeacherStatsServiceImpl
- 修复资源表迁移脚本
- 更新开发日志

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 15:36:09 +08:00
En
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
En
57f9c804c9 fix: 登录验证错误信息传递修复
- JwtTokenProvider 新增 validateTokenWithReason 方法,返回具体错误原因
- JwtAuthenticationFilter token 验证失败时返回 401 错误响应
- 前端 axios 拦截器增强 403 处理,区分 token 过期和权限不足场景

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 15:26:37 +08:00
En
928f1b7afe redis添加密码 2026-03-16 14:24:17 +08:00
En
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
zhonghua
87899886d1 feat: 套餐审核管理 - 审核页面、驳回可重新编辑提交、审核页已驳回不允许审核
Made-with: Cursor
2026-03-16 13:43:14 +08:00
zhonghua
f5de4e613d fix: 课程套餐管理详情修复 - Long 序列化为 String 避免 JS 精度丢失,修复 PUT 课程列表 JSON 格式
Made-with: Cursor
2026-03-16 11:53:27 +08:00
zhonghua
691e0248a2 fix: 课程包管理审核页面优化
- 修复 list/items 数据格式转换,解决暂无数据问题
- 新增课程驳回接口 POST /api/v1/admin/courses/{id}/reject
- 审核页仅返回待审核和已驳回(reviewOnly),排除已通过
- 修复状态筛选、自动检查列逻辑
- 后端支持 status 和 reviewOnly 参数

Made-with: Cursor
2026-03-16 11:08:27 +08:00
zhonghua
3fba64958c fix: AdminCourseController 添加 @Slf4j 注解修复 log 编译错误
Made-with: Cursor
2026-03-16 10:50:50 +08:00
zhonghua
a461f58d3a fix: orval API 生成优化 - 修复 oneOf schema 验证错误
- 新增 scripts/fetch-openapi.js:拉取并修复 OpenAPI 文档
- 内联 ResultObject[] 的 \,移除非法 schema 名
- orval 使用本地 openapi.json,api:update 自动执行 api:fetch
- AdminStatsController: Result<Object[]> 改为 Result<List<Map<String, Object>>>
- .gitignore: 忽略 openapi.json

Made-with: Cursor
2026-03-16 10:45:15 +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
066b1f2257 refactor: 代码合规性审查修复 - 三层架构、API路径、文档规范
## P0 三层架构违规修复 (4项)
- 创建 SchoolStatsService/TeacherStatsService,移除Controller直接调用Mapper
- 修复 AdminCourseController 使用 Service 层方法
- 修复 TeacherCourseController 使用 ClassService 获取班级
- 新增 ClassService.getActiveClassesByTenantId()
- 新增 CourseService.createSystemCourse()

## P1 API 路径统一 (8项)
后端路径统一为 /api/v1/admin/*:
- AdminCourseController: /api/admin/courses → /api/v1/admin/courses
- AdminTenantController: /api/admin/tenants → /api/v1/admin/tenants

前端配置调整:
- vite.config.ts: 移除代理重写规则
- src/api/index.ts: baseURL /api/v1 → /api
- 更新 admin.ts, lesson.ts, package.ts, theme.ts 使用 /v1/admin/* 路径

## P2 文档规范更新 (5项)
- 更新 CLAUDE.md 前端 API 调用文档
- 新增三种调用方式说明(http/适配层/Orval客户端)
- 新增 API 路径规范表格
- 更新前端目录结构说明

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:13:46 +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
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