2f9fbbb2aa
fix(schedule): 修复集体项目类型显示为单人的问题
...
- 修改autoGroupParticipants方法中的projectType判断逻辑
- type=2(双人)或type=3(集体)都映射为projectType=2(集体)
- 之前只处理了type=3的情况,导致type=2的集体项目被错误标记为单人
2025-12-31 14:15:26 +08:00
f45fee050e
feat(registration): 支持集体项目报名
...
- DTO添加teamIds字段接收集体ID列表
- Controller处理集体报名逻辑
- 为每个集体创建martial_athlete记录用于编排
2025-12-31 13:48:04 +08:00
18895dcb76
fix(team): 修复编辑集体变成新增的问题
...
- 将DTO中的id字段改为teamId,避免uni-app对id字段的特殊处理
- 使用String类型接收teamId,避免JavaScript大数精度丢失
- 添加日志记录便于调试
2025-12-31 13:09:43 +08:00
89962c69e6
feat(team): 添加集体编辑功能
2025-12-31 11:51:12 +08:00
45758108a8
fix(team): 修复删除选手后集体信息未同步更新的问题
...
- 删除选手时级联删除集体成员关系
- 集体列表动态计算有效成员数(排除已删除选手)
- 集体详情过滤已删除的选手
2025-12-31 11:37:37 +08:00
19e3d94a33
fix(team): 修复集体列表不显示的问题,设置createUser字段
2025-12-31 11:16:30 +08:00
7fae2f0ff8
fix(competition): 修复赛事详情页面报名人数显示为0的问题
2025-12-31 11:07:14 +08:00
fe5ddfa253
fix(mini): 修复裁判员角色判断逻辑
...
- 修复role和referee_type不一致导致的权限问题
- 裁判员(role=judge)应该只能评分,不能修改
- 主裁判(role=chief_judge)才能修改评分
2025-12-30 18:06:25 +08:00
c7038a5883
feat(team): 添加集体/团队管理功能
...
- 创建martial_team和martial_team_member表
- 添加MartialTeam和MartialTeamMember实体类
- 添加MartialTeamController提供集体CRUD接口
- 支持集体成员关联管理
2025-12-30 18:02:00 +08:00
87a05df04f
fix(registration): 修复我的报名列表信息显示不全问题
...
- 修改list接口返回VO而非Entity
- 添加getListWithRelations方法批量加载关联数据
- 返回赛事名称、地点、时间、项目名称、选手名称等完整信息
- 优化批量查询减少数据库访问次数
2025-12-30 17:43:45 +08:00
b7ad819a29
fix(schedule): 完成编排时允许空分组状态
2025-12-30 12:59:08 +08:00
6db9a1e51d
fix(schedule): 保存草稿时设置time_period默认值
2025-12-30 12:06:31 +08:00
0539152dbb
fix(schedule): 保存草稿时设置默认日期,避免schedule_date为空导致插入失败
2025-12-30 11:53:34 +08:00
c7058b8b07
feat(schedule): 无编排数据时自动从项目和选手表生成初始分组
...
- 修改 getScheduleResult 方法,当没有编排数据时调用 generateInitialScheduleResult
- 新增 generateInitialScheduleResult 方法,从项目和选手表生成初始分组
- CompetitionGroupDTO 添加 projectId 字段
- ParticipantDTO 添加 teamName 字段
- 用户进入编排页面可直接看到选手数据,无需先执行自动编排
2025-12-30 11:10:01 +08:00
16b55adf81
feat(schedule): 添加赛程配置API,支持动态时间段配置
...
- 添加 GET /martial/schedule/config API 暴露 ScheduleConfig
- 返回 morningStartTime, afternoonStartTime 等配置
- 更新 docker-compose.yml 使用 Dockerfile.quick
2025-12-30 10:51:04 +08:00
0b5fc9fb71
feat: improve schedule auto-arrange functionality
...
- Add ScheduleConfig for configurable schedule parameters
- Add updateParticipantCheckInStatus API for exception status persistence
- Use configurable thresholds for group splitting and capacity warning
- Add @Slf4j to MartialScheduleServiceImpl
2025-12-29 15:07:52 +08:00
86e4580e5d
feat: add multi-stage Dockerfile for full build with martial-tool
...
- Add Dockerfile.fullbuild: multi-stage build that compiles martial-tool
- Rename Dockerfile to Dockerfile.quick for quick builds (pre-built jar)
- Update docker-compose.yml to use parent directory context
- Update README with new deployment instructions
2025-12-29 14:34:54 +08:00
47d0b70a9c
docs: 更新README,简化内容并更新域名配置
2025-12-29 14:17:09 +08:00
105e457f7c
docs: README添加数据库迁移文档链接
2025-12-29 14:11:21 +08:00
d583bdc5c8
feat: 集成Flyway数据库迁移工具
...
- 添加Flyway依赖到pom.xml
- 配置application.yml启用Flyway
- 创建迁移脚本目录db/migration
- 添加V1基线脚本和V2项目字段迁移脚本
- 添加DATABASE_MIGRATION.md使用文档
2025-12-29 14:07:27 +08:00
07845f3a4f
fix: 同步martial_project表结构,添加event_type和报名时间字段
2025-12-29 13:53:23 +08:00
ec2382b447
feat: 添加项目报名开始时间和结束时间字段
2025-12-29 12:04:36 +08:00
bcba649b02
裁判邀请列表添加负责场地字段
...
- MartialJudgeInviteVO: 添加venueName字段
- MartialJudgeInviteMapper.xml: 关联查询场地名称
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-12-29 10:32:28 +08:00
a19baf3907
feat: 添加项目类型(eventType)字段支持
...
- 在MartialProject实体类中添加eventType字段
- 在MartialProjectController中添加eventType查询支持
- 项目类型: 1-套路, 2-散打, 3-器械, 4-对练
2025-12-28 19:02:44 +08:00
301bb7a227
feat: 项目列表支持模糊查询
...
- 项目名称支持模糊查询
- 分组类别支持模糊查询
- 赛事ID和参赛类型精确匹配
- 添加排序(按sort_order升序,create_time降序)
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-12-28 17:20:10 +08:00
fdd346b27f
fix: default venue_id to first venue when null or invalid
...
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-12-28 16:20:11 +08:00
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
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
491c8db26c
chore: 添加 minio_data 到 gitignore
2025-12-28 13:44:56 +08:00
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
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
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
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
67908a4dd0
Merge branch 'main' of git.waypeak.work:martial/martial-master
2025-12-26 10:32:03 +08:00
0c9322c510
fix bugs
2025-12-26 10:31:41 +08:00
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
284ebd2e73
fix: 修复裁判评分列表数据不一致问题
...
- MartialMiniController: getAthletes方法添加venueId过滤
- MiniScoreModifyDTO: 添加venueId字段
- MartialScoreServiceImpl: modifyScoreByAdmin方法设置venueId
问题原因:
1. 后端查询评分记录时缺少场地过滤
2. 裁判长修改评分时未设置venue_id
导致不同场地的裁判看到混乱的数据
2025-12-25 10:55:19 +08:00
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
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
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
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
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
1d6c3d9df5
裁判长修改分数功能优化
...
1. 限制修改范围为原始分数±0.050
2. 修改记录改为更新而非新增(避免重复记录)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-21 15:22:19 +08:00
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
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
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
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
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
ec26191a5f
最新提交
continuous-integration/drone/push Build is passing
2025-12-18 11:55:35 +08:00
f6c019e520
fix bugs
continuous-integration/drone/push Build is passing
2025-12-14 17:38:15 +08:00