Commit Graph

100 Commits

Author SHA1 Message Date
zhonghua
df7eae6125 fix: 纯评委角色隐藏机构端评委管理菜单
Made-with: Cursor
2026-04-08 11:13:35 +08:00
zhonghua
197064820b feat: 评委角色权限补全与租户评委菜单合并,更新 menu-config 说明
Made-with: Cursor
2026-04-08 11:07:11 +08:00
zhonghua
180c22fe49 feat: 作品列表终分回算、评审进度详情展示对齐及评委管理优化
Made-with: Cursor
2026-04-08 10:53:50 +08:00
En
bc7c17b281 refactor: 乐读派(leai)模块规范化改造
按照项目 Java 后端规范对 leai 模块进行全面重构:

- 新增 ILeaiWebhookEventService/ILeaiSyncService 接口,遵循 IService 模式
- Controller 层通过 Service 接口调用,不再直接注入 Mapper
- 新增 LeaiTokenVO/LeaiAuthRedirectDTO,替代 Map<String,String> 入参出参
- RuntimeException 替换为 BusinessException
- 添加 @Tag/@Operation Swagger 注解
- 提取共享工具类 LeaiUtil,消除 4 处重复的 toInt/toString 方法
- LeaiWebhookEvent 实体添加 @Schema 注解

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 10:23:11 +08:00
En
9b5c24c49c Merge remote-tracking branch 'origin/master_develop' into master_develop 2026-04-08 09:36:50 +08:00
En
a660493cf3 修复弹窗 2026-04-08 09:36:42 +08:00
En
922f650365 feat: 添加乐读派(leai)集成模块及E2E测试基础设施
后端:
- 新增 leai 模块:认证、Webhook、数据同步、定时对账
- 新增 LeaiConfig/RestTemplateConfig/SchedulingConfig 配置
- 新增 FlywayRepairConfig 处理迁移修复
- 新增 V5__leai_integration.sql 迁移脚本
- 扩展所有实体类添加 tenantId 等字段
- 更新 SecurityConfig 放行 leai 公开接口
- 添加 application-test.yml 测试环境配置

前端:
- 添加乐读派认证 API (public.ts)
- 优化 Generating.vue 生成页
- 添加 Playwright E2E 测试配置及依赖
- 添加测试 fixtures、utils、mock-h5.html
- 添加 leai 模块完整 E2E 测试套件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 21:52:32 +08:00
En
9ad9f5b237 fix: 创作页 iframe tab 切换状态保持
使用 v-show 始终挂载方案替代 KeepAlive,解决 iframe 内 H5 状态
在 tab 切换后丢失的问题。Vue KeepAlive 会移动 DOM 导致浏览器
重新加载 iframe 内容,v-show 只切换 CSS display 不移动 DOM。

- PublicLayout 中将 PublicCreate 渲染在 router-view 外部
- v-if 懒挂载(首次访问创建),v-show 控制显隐
- 登出时销毁组件避免数据泄漏
- 添加 RouteMeta keepAlive 类型定义
- 添加 E2E 测试覆盖 5 个 tab 切换场景

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 21:50:08 +08:00
zhonghua
2f84ac16d3 fix:添加评委选择回显 2026-04-07 19:32:44 +08:00
zhonghua
7a039e8403 fix:分配评委时应该查询租户下的+平台的评委 2026-04-07 19:16:13 +08:00
zhonghua
1d43501983 fix:修复评委打分403 2026-04-07 17:48:48 +08:00
zhonghua
f2c10d5e32 fix:添加作品编号,报名账号,评分字段 2026-04-07 17:16:40 +08:00
zhonghua
170d904081 feat: 作品管理分配状态/评委回显 + 评委管理租户隔离
Changes:
1. ContestWorkServiceImpl: findAll 返回 assignments、_count 数据 + assignStatus 搜索
2. ContestJudgeServiceImpl: 评委列表返回 assignedCount(已分配作品数)
3. JudgesManagementServiceImpl: 评委库租户隔离(查询当前租户+平台评委,创建在当前租户、平台评委只读)
4. judges/Index.vue: 增加"来源"列 + 平台评委操作限制
5. judges-management.ts: 类型增加 isPlatform/tenantId
6. WorksDetail.vue: 小修改

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:10:40 +08:00
zhonghua
3fd7002e2a fix:修复评审进度500错误 2026-04-07 15:31:06 +08:00
zhonghua
633e46e663 feat: 添加评审模块Flyway迁移脚本V3
使用 DROP TABLE IF EXISTS + CREATE TABLE 确保表结构完整对齐实体类:
- t_biz_contest_judge(评委表,继承BaseEntity)
- t_biz_contest_review_rule(评审规则表,继承BaseEntity)
- t_biz_contest_work_judge_assignment(分配表,独立字段)
- t_biz_contest_work_score(评分表,继承BaseEntity)
- t_biz_preset_comment(预设评语表,继承BaseEntity)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 15:09:31 +08:00
zhonghua
2b83c9c78a revert: 撤销评审表相关两次提交,需按设计文档规范重新实现
Reverts:
- eb40939 fix: 添加评审表自动创建兜底机制
- 015f871 feat: 创建评审模块数据库表

原因:数据库变更应使用Flyway迁移脚本规范实现,需对齐设计文档
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:42:58 +08:00
zhonghua
eb409398f3 fix: 添加评审表自动创建兜底机制
Flyway迁移可能未执行,添加ApplicationRunner在启动时自动检测并创建评审相关5张表。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:32:50 +08:00
zhonghua
015f8718c4 feat: 创建评审模块数据库表
包含5张表:评委表、评审规则表、作品评委分配表、作品评分表、预设评语表

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:23:39 +08:00
zhonghua
2f521c7249 添加环境变量 2026-04-07 14:13:17 +08:00
zhonghua
1c63cb21e5 feat: 活动提交联动作品库+多租户数据对齐
1. P0-12 活动提交联动:替换文件上传为 WorkSelector 作品选择器
   - 前端 ActivityDetail.vue 集成 WorkSelector 组件
   - 后端 submitWork 支持 userWorkId 快照复制(title/description/coverUrl/pages)
   - WorkSelector 支持 redirectUrl 创作后返回活动页

2. 多租户数据对齐:修复公众端报名/作品 tenantId 不一致
   - register() 使用活动的 contestTenants[0] 作为 tenantId
   - submitWork() 使用报名记录的 tenantId
   - 管理端报名/作品统计、列表数据一致

3. 前端报名状态区分:pending/passed/rejected 显示不同按钮
4. submitWork 报名状态检查:区分未报名/审核中/已拒绝提示
5. 活动列表添加 _count(报名数/作品数)用于已交/应交展示
6. 修复 PublicCreationService.submit() title 默认值缺失

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:11:59 +08:00
zhonghua
0252f25acd Merge branch 'master_develop' of http://8.148.151.56:3000/tonytech/library-picturebook-activity into master_develop 2026-04-07 13:44:48 +08:00
En
3c24cc3102 feat: 添加CLAUDE.md项目指导文件及AI创作客户端更新
添加 CLAUDE.md 用于 Claude Code 项目导航,包含架构说明和开发规范。
更新 AI 创作客户端至 V4.0,新增后端对接示例项目。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 12:11:15 +08:00
zhonghua
a5909f98be fix:创建作品修复 2026-04-07 09:50:44 +08:00
zhonghua
15581e04ae 添加C端AI绘本创作 2026-04-03 20:55:51 +08:00
zhonghua
1003776dd3 fix:多项前端修复与功能对齐
- 修复评委端进入评审contestId为NaN(record.id→record.contestId)
- 修复评委评审详情403(活动名称改为路由传参,跳过需要contest:read权限的接口)
- 已发布活动隐藏编辑按钮
- 添加评委成功提示去重(移除子组件重复message)
- 用户端活动阶段判断修复(报名与提交重叠时优先显示提交阶段)
- 用户端作品提交支持submitRule(once/resubmit)重新提交
- 后端公共API补充submitRule字段返回
- 报名统计接口增加租户隔离,修复统计与列表数据不一致

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 20:29:28 +08:00
zhonghua
3ef05de193 fix:评委端403修复 2026-04-03 19:10:44 +08:00
zhonghua
d68322f24a fix:修复我的报名列表 2026-04-03 18:47:42 +08:00
zhonghua
63c564a03b fix:修复报名 2026-04-03 16:28:38 +08:00
zhonghua
ff25e41243 fix:用户端活动报名修复报名按钮 2026-04-03 15:59:54 +08:00
zhonghua
bee5152a2d fix:修复可见范围 2026-04-03 15:35:21 +08:00
zhonghua
b3954ffcf3 fix:活动详情优化 2026-04-03 15:28:15 +08:00
zhonghua
4a70bc7d43 fix:系统国际化支持 2026-04-03 14:55:27 +08:00
zhonghua
764f6eec4b fix:公告添加租户隔离 2026-04-03 14:49:32 +08:00
zhonghua
7afb57c9bf fix:添加活动 2026-04-03 14:18:38 +08:00
zhonghua
78cd956ab5 fix:修复创建活动失败 2026-04-03 13:49:19 +08:00
zhonghua
f223e9bd41 清理文件 2026-04-03 10:17:36 +08:00
zhonghua
c5fad30849 fix: 修复用户管理页面所属机构字段显示及列表过滤逻辑
1. 前端所属机构字段改为使用后端返回的平铺 tenantName 字段
   - users.ts: 添加 tenantName, tenantCode, tenantType, tenantIsSuper 平铺字段
   - Index.vue: 表格列和详情 Drawer 使用 record.tenantName/detailData.tenantName

2. 后端修复机构用户 (org) 过滤逻辑
   - SysUserServiceImpl: case "org" 分支增加 getOrgTenantIds() 调用,传递 orgTenantIdsFilter 参数
   - SysUserMapper.xml: 增加 orgTenantIdsFilter 参数处理,使用 IN 查询过滤

3. 后端修复公众 (public) 和评委 (judge) 用户过滤逻辑
   - 数据库中 public 租户的 tenant_type='platform',judge 租户的 tenant_type='other'
   - case "public"/"judge" 改为传递 tenantCodeFilter 参数,按租户 code 过滤
   - SysUserMapper.xml: 增加 tenantCodeFilter 参数处理

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 20:06:09 +08:00
zhonghua
d19d7d9a2c Merge branch 'develop' of http://8.148.151.56:3000/tonytech/library-picturebook-activity into master_develop 2026-04-02 18:49:12 +08:00
zhonghua
dcaa7e1779 调整样式 2026-04-02 18:49:01 +08:00
aid
3c4100c231 feat: 创建租户时自动生成管理员账号、角色和权限
创建租户改为事务化一站式操作:自动复制 gdlib 权限模板 + 补充基础管理权限,
创建 tenant_admin 角色和管理员用户,支持自定义账号密码。
前端表单增加管理员输入区块,成功弹窗展示凭据并支持一键复制。
同步实现 menuIds 菜单分配(消除原 TODO)。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:48:34 +08:00
zhonghua
8154628d3d Merge branch 'master_develop' of http://8.148.151.56:3000/tonytech/library-picturebook-activity into develop 2026-04-02 18:31:51 +08:00
zhonghua
ea65b55332 fix: 补齐作品租户隔离与租户菜单树
- 作品列表/统计补齐 validState 与租户条件,关键字支持报名/队伍信息匹配
- 新增租户菜单树接口与服务实现,结构对齐用户菜单树
- t_biz_contest_work 增加 deleted 字段,补充 flyway 迁移与启动时轻量修复

Made-with: Cursor
2026-04-02 18:30:45 +08:00
aid
c99738fc46 新增 Java 转写开发日志 Day1
记录完整开发过程:模块剥离→转写(8个Phase)→数据库适配→写操作测试→
前端联调→端到端验证→权限检查→菜单修复→文档输出,含明日待续清单

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 17:16:15 +08:00
zhonghua
ab5bd36cec 移除node后端 2026-04-02 17:14:11 +08:00
aid
0b989b047a 完善菜单配置规范文档:补充全量菜单ID表+各端登录信息+权限码+调试指南
- 新增各端登录信息速查表(URL/用户名/密码/角色)
- 新增完整菜单ID对照表(54条菜单,标注所属端和废弃状态)
- 补充评委端权限码列表(10个)
- 补充公众端导航结构+无需认证接口列表
- 补充租户端各子菜单功能说明
- 补充浏览器缓存切换端的注意事项
- 补充新建租户时的菜单分配说明

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:39:59 +08:00
aid
e9676ea924 新增菜单配置规范文档 + 修正超管端移除数据统计模块
- 新增 docs/design/menu-config.md:各端菜单完整配置规范
  - 超管端 5个一级21条(活动监管/内容管理/机构管理/用户中心/系统设置)
  - 租户端 4个一级18条(工作台/数据统计/活动管理/系统设置)
  - 评委端 1个一级3条(我的评审)
  - 含排除清单、技术实现要点、权威来源说明
- 修正超管端 tenant_menus:移除数据统计(52/53/54),数据统计是租户端专属

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:31:22 +08:00
aid
fd9c739cf5 修复租户端登录和菜单:支持 tenantCode 登录 + gdlib 菜单修正
问题1: 前端登录传 body.tenantCode(如 gdlib),但 Java 后端只从 X-Tenant-Id header 取租户ID
修复: AuthController/AuthService 支持从 tenantCode 查找租户,兼容两种方式

问题2: gdlib 租户菜单错乱(包含了超管端的活动监管/内容管理等)
修复: 重置 gdlib tenant_menus 为正确的18条:
  工作台(50) + 活动管理(9+8子) + 数据统计(52+2子) + 系统设置(14+4子:机构信息/用户/角色/日志)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:26:58 +08:00
aid
5b5af63f58 修复超管端菜单错乱 + Knife4j版本兼容
- SysMenuServiceImpl: 超管也按 tenant_menus 过滤菜单(之前返回全部52个菜单导致错乱)
- 远程数据库: 超管端 tenant_menus 补全至27条(活动监管8子+数据统计2子+内容管理3子+机构管理+用户中心2子+系统设置5子)
- Knife4j 版本 4.5.0→4.4.0(修复 SpringDocConfigProperties bean 找不到)
- Flyway 禁用(同事已删除迁移脚本)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:08:40 +08:00
zhonghua
483740f10b 调整密码 2026-04-02 15:51:53 +08:00
zhonghua
249e73d252 环境更变 2026-04-02 15:49:40 +08:00