Commit Graph
34 Commits
Author SHA1 Message Date
hongjianliandfactory-droid[bot] 1d5ac896dd feat: 添加已确认成绩列表API
- 新增 /mini/general/confirmed 接口
- MartialResultServiceImpl 添加 getConfirmedGeneralList 方法
- 支持总裁页面同时显示待确认和已确认成绩

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-12-28 16:09:41 +08:00
hongjianliandfactory-droid[bot] aab66f79fe feat: 添加三级裁判评分系统(裁判员→主裁判→总裁)
- 新增总裁(裁判长)角色支持,referee_type=3
- MartialResult实体添加主裁判/总裁确认字段和score_status状态
- MartialJudgeInvite实体添加角色常量和判断方法
- MartialMiniController添加三级确认API和登录角色判断
- MartialResultServiceImpl实现三级确认业务逻辑
- MartialScoreServiceImpl主裁判确认时同步martial_result表

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-12-28 15:49:11 +08:00
hongjianli 491c8db26c chore: 添加 minio_data 到 gitignore 2025-12-28 13:44:56 +08:00
hongjianliandClaude Opus 4.5 4a2071ddda refactor: 裁判角色名称修改 - 裁判长→主裁判, 普通裁判→裁判员
- 修改所有Java文件中的注释和Schema描述
- 更新MartialScoreServiceImpl中的评分修改记录名称

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 11:37:11 +08:00
hongjianliandClaude Opus 4.5 559e97b672 feat(mini): 裁判未指定项目时自动获取比赛所有项目
- login和refreshToken接口:如果invite.projects为空,自动获取该比赛的所有项目
- 新增getAllProjectsByCompetition方法查询比赛所有项目
- 支持裁判负责整个场地所有项目的需求

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 11:11:29 +08:00
hongjianliandClaude Opus 4.5 35a5369e81 feat: 批量导入裁判时根据refereeType自动设置角色
- batchGenerateInviteCode方法查询裁判的refereeType
- refereeType=1 自动设置为chief_judge(裁判长)
- 其他情况设置为judge(普通裁判)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 16:04:46 +08:00
hongjianliandClaude Opus 4.5 dca5e5050f fix: 修复批量导入裁判时venueId和projects参数丢失问题
- BatchGenerateInviteDTO添加venueId和projects字段
- batchGenerateInviteCode方法传递venueId和projects给generateDto
- MartialMiniController添加competitionId参数过滤选手
- 新增RegistrationSubmitDTO

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 15:44:29 +08:00
hongjianli 67908a4dd0 Merge branch 'main' of git.waypeak.work:martial/martial-master 2025-12-26 10:32:03 +08:00
hongjianli 0c9322c510 fix bugs 2025-12-26 10:31:41 +08:00
hongjianliandClaude Opus 4.5 7c1b9de6b4 fix: 修复登录和评分查询的场地ID问题
1. 登录API使用martial_venue表替代mt_venue表查询场地信息
2. 评分查询时过滤无效的venueId(null或<=0)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 20:28:33 +08:00
hongjianli 284ebd2e73 fix: 修复裁判评分列表数据不一致问题
- MartialMiniController: getAthletes方法添加venueId过滤
- MiniScoreModifyDTO: 添加venueId字段
- MartialScoreServiceImpl: modifyScoreByAdmin方法设置venueId

问题原因:
1. 后端查询评分记录时缺少场地过滤
2. 裁判长修改评分时未设置venue_id
导致不同场地的裁判看到混乱的数据
2025-12-25 10:55:19 +08:00
hongjianliandClaude Opus 4.5 e7b8a1c59d fix: optimize schedule query and add scheduleDate field
- Add scheduleDate field to ScheduleGroupDetailVO
- Fix schedule date format in mapper XML
- Optimize schedule service implementation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 17:01:54 +08:00
hongjianliandClaude Opus 4.5 432ccb606c 修复导出赛程表:使用正确的数据源
- 从 martial_schedule_group 表获取编排数据
- 使用与 getScheduleResult 相同的数据源
- 按分组顺序和出场顺序导出

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 14:10:21 +08:00
hongjianliandClaude Opus 4.5 ffbe511f34 feat: 裁判长页面显示所有选手
- 修改后端逻辑:裁判长返回所有选手,不再只返回评分完成的
- 前端根据 totalScore 判断是否显示修改按钮
- 未完成评分的选手显示评分中...提示

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 10:31:37 +08:00
hongjianliandClaude Opus 4.5 4c93027028 fix: 裁判长无限次修改总分功能优化
continuous-integration/drone/push Build is pending
- 使用 baseMapper.updateById() 绕过 Service 层状态检查
- 允许裁判长在原始计算总分 ±0.050 范围内无限次修改
- 每次修改都基于原始计算总分验证范围

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 23:37:39 +08:00
hongjianliandClaude Opus 4.5 abb1391b2f fix: 优化评分系统总分显示逻辑
continuous-integration/drone/push Build is pending
1. 修复 updateAthleteTotalScore 方法,使用 getChiefJudgeIds() 排除裁判长的所有评分
2. 修复 getRequiredJudgeCount 方法,使用 distinct 去重统计普通裁判数量
3. 新增 scoringComplete、scoredJudgeCount、requiredJudgeCount 字段
4. 总分只在所有普通裁判评分完成后才显示
5. 总分算法:去掉最高最低分取平均,裁判数<3时直接取平均

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 23:09:31 +08:00
hongjianliandClaude 1d6c3d9df5 裁判长修改分数功能优化
1. 限制修改范围为原始分数±0.050
2. 修改记录改为更新而非新增(避免重复记录)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-21 15:22:19 +08:00
hongjianliandClaude cc4a01ea28 fix: 修复评分后总分显示为-1的问题
问题根因:
1. submitScore方法只保存评分记录,未计算更新选手总分
2. BladeX框架将null的Number类型序列化为-1

修复内容:
- 添加updateAthleteTotalScore方法,评分后计算平均分并更新选手总分
- 添加parseLong方法,安全地将String转换为Long(解决JS大数精度问题)
- MiniScoreSubmitDTO的ID字段改为String类型
- MiniAthleteListVO的athleteId添加ToStringSerializer序列化

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-19 18:29:25 +08:00
hongjianliandClaude 0f0beaf62e chore: 整理数据库文件和Docker配置
continuous-integration/drone/push Build was killed
- 更新Dockerfile
- 整合数据库SQL文件为martial_db.sql
- 添加docker-compose.yml
- 清理临时SQL脚本

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-19 14:43:48 +08:00
hongjianliandClaude Opus 4.5 3ae441c044 fix: 添加 @JsonProperty 注解确保 JSON 字段名正确序列化
continuous-integration/drone/push Build is failing
- MiniAthleteListVO 添加 @JsonProperty 注解,确保字段名与前端一致
- 添加 @JsonInclude(ALWAYS) 确保所有字段都输出
- 添加 idCard 字段支持身份证号显示

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 23:08:16 +08:00
hongjianli ab290d1aa2 fix: 修复 martial_db.sql 中错误的 mt_venue INSERT 语句
continuous-integration/drone/push Build is failing
问题: SQL文件中包含167条错误的 INSERT INTO mt_venue 语句
- 这些数据实际上是视图查询结果,被错误地插入到 mt_venue 表
- mt_venue 表有12列,但 INSERT 语句只有4-8个值,导致导入失败

修复: 移除所有错误的 mt_venue INSERT 语句
2025-12-18 12:27:44 +08:00
hongjianli 4e487b76b7 feat: 添加图形验证码接口和扣分项排序功能
continuous-integration/drone/push Build is passing
新增功能:
- 添加图形验证码接口 GET /oauth/captcha,返回验证码图片和key
- 添加扣分项排序接口 POST /update-order
- 新增数据库完整备份 martial_db.sql

技术细节:
- CaptchaController: 新增 getCaptcha() 方法,生成4位验证码,Redis缓存5分钟
- MartialDeductionItemController: 新增 updateOrder() 批量更新排序
- IMartialDeductionItemService/Impl: 新增排序服务方法
2025-12-18 12:15:25 +08:00
hongjianli ec26191a5f 最新提交
continuous-integration/drone/push Build is passing
2025-12-18 11:55:35 +08:00
hongjianli f6c019e520 fix bugs
continuous-integration/drone/push Build is passing
2025-12-14 17:38:15 +08:00
hongjianli 4b530dd6be fix bugs
continuous-integration/drone/push Build is passing
2025-12-12 17:19:16 +08:00
hongjianli 1ca0f6a7f6 fix bugs
continuous-integration/drone/push Build is passing
2025-12-12 13:49:00 +08:00
hongjianli 7aa6545cbb fix bugs
continuous-integration/drone/push Build is passing
2025-12-12 05:13:10 +08:00
hongjianliandClaude 1c981a2fb7 feat: 实现小程序专用API接口
 新增功能:
1. 创建MartialMiniController - 5个小程序专用接口
   - POST /api/mini/login - 登录验证(邀请码+比赛编码)
   - GET /api/mini/athletes - 普通评委选手列表
   - GET /api/mini/athletes/admin - 裁判长选手列表
   - GET /api/mini/score/detail/{athleteId} - 评分详情
   - PUT /api/mini/score/modify - 裁判长修改评分

2. 新增DTO类(3个):
   - MiniLoginDTO - 登录请求
   - MiniAthleteScoreDTO - 提交评分请求
   - MiniScoreModifyDTO - 修改评分请求

3. 新增VO类(4个):
   - MiniLoginVO - 登录响应(token+用户信息+场地项目)
   - MiniAthleteScoreVO - 选手评分信息(普通评委)
   - MiniAthleteAdminVO - 选手评分信息(裁判长)
   - MiniScoreDetailVO - 评分详情(选手+所有评委评分+修改记录)

4. Service层实现:
   - IMartialAthleteService.getAthletesWithMyScore() - 查询选手列表(含我的评分)
   - IMartialAthleteService.getAthletesForAdmin() - 查询选手列表(含评分统计)
   - IMartialScoreService.getScoreDetailForMini() - 查询评分详情
   - IMartialScoreService.modifyScoreByAdmin() - 裁判长修改评分

🔥 技术亮点:
- 支持邀请码+比赛编码双重验证登录
- 生成UUID token,有效期7天
- 解析JSON格式的项目分配(支持逗号分隔兼容)
- 评委权限区分:普通评委/裁判长
- 裁判长可修改总分并记录修改日志
- 完整的评分详情展示(选手信息+所有评委评分+修改记录)

🎯 对接小程序:
- 前端已通过dataAdapter适配
- config.dataMode切换'api'即可启用后端API
- 接口路径:/api/mini/*

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11 18:45:09 +08:00
hongjianli a7c7da109b fix bugs
continuous-integration/drone/push Build is failing
2025-11-30 12:41:50 +08:00
hongjianliandClaude f01c5c6a6a Merge remote-tracking branch 'origin/main'
continuous-integration/drone/push Build is failing
解决目录重组冲突:
- doc/ → docs/ (文档目录重命名)
- doc/sql/ → database/ (数据库脚本目录重组)
- doc/script/ → scripts/ (脚本目录重组)

保留本地新增的武术比赛系统文件:
- docs/sql/mysql/martial-*.sql (4个数据库脚本)
- docs/后端开发完成报告.md
- docs/数据库字段检查报告.md
- docs/问题修复报告.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 12:13:15 +08:00
hongjianli 6aeb522f24 fix bugs 2025-11-30 12:07:18 +08:00
hongjianli 9c77fcb4ac Merge branch 'main' of git.waypeak.work:martial/martial-master 2025-11-29 15:03:56 +08:00
hongjianli 109f226371 fix bugs 2025-11-29 15:03:33 +08:00
hongjianli 3b097b5f63 fix bugs 2025-11-28 16:17:55 +08:00