| | |
| | | 数据来源与关联: |
| | | |
| | | * 主表:t\_activity\_player,关联学员表 t\_player(player\_id),关联比赛表 t\_activity(activity\_id) |
| | | * 注意:t\_activity\_player.activity\_id 始终关联“比赛”;t\_activity\_player.stage\_id 必须关联该比赛的“阶段”ID。若该比赛未定义阶段(t\_activity 无子记录 pid=activity\_id),则将 stage\_id 设为 activity\_id(指向比赛自身)。 |
| | | * 注意:t\_activity\_player.activity\_id 始终关联"比赛";t\_activity\_player.stage\_id 必须关联该比赛的"阶段"ID。若该比赛未定义阶段(t\_activity 无子记录 pid=activity\_id),则将 stage\_id 设为 activity\_id(指向比赛自身)。 |
| | | |
| | | GraphQL 规范: |
| | | |
| | |
| | | * 0(报名未审核):显示按钮【审核通过】 |
| | | * 1(进行中,已通过):显示按钮【取消资格】 |
| | | * 2(审核未通过):显示【审核未通过】,无操作按钮 |
| | | |
| | | 3.12 多评委评分系统 |
| | | |
| | | 3.12.1 系统概述 |
| | | |
| | | 多评委评分系统支持多个评委对同一选手进行独立评分,系统自动计算平均分,确保评分的公正性和透明度。 |
| | | |
| | | 3.12.2 核心功能 |
| | | |
| | | 评分页面增强: |
| | | * 显示当前评委信息(姓名) |
| | | * 展示所有评委的评分状态(已评分/未评分) |
| | | * 显示选手的平均分 |
| | | * 支持评委查看和修改自己的评分 |
| | | |
| | | 评分状态管理: |
| | | * 实时显示各评委的评分进度 |
| | | * 区分当前评委和其他评委 |
| | | * 显示每个评委的总分(已评分的情况下) |
| | | |
| | | 数据计算: |
| | | * 自动计算选手的平均分 |
| | | * 支持评委修改评分后重新计算 |
| | | * 保持评分历史记录 |
| | | |
| | | 3.12.3 技术实现 |
| | | |
| | | 前端实现(Vue.js): |
| | | * 组件:RatingForm.vue - 增强评分表单组件 |
| | | * 页面:rating.vue - 评分页面 |
| | | * API:activityPlayer.js - 新增多评委相关接口 |
| | | |
| | | 后端实现(Spring Boot + GraphQL): |
| | | * API:PlayerGraphqlApi.java - 新增GraphQL查询方法 |
| | | * 服务:ActivityPlayerRatingService.java - 评分业务逻辑 |
| | | * DTO:新增响应类型支持多评委数据 |
| | | |
| | | 新增GraphQL查询: |
| | | * judgeRatingsForPlayer - 获取选手的所有评委评分状态 |
| | | * currentJudgeRating - 获取当前评委的评分详情 |
| | | * averageScoreForPlayer - 获取选手平均分 |
| | | * currentJudgeInfo - 获取当前评委信息 |
| | | |
| | | 3.12.4 数据结构 |
| | | |
| | | 评委评分状态响应(JudgeRatingStatusResponse): |
| | | * judgeId - 评委ID |
| | | * judgeName - 评委姓名 |
| | | * totalScore - 总分 |
| | | * status - 评分状态(0-未评分,1-已评分) |
| | | * isCurrentJudge - 是否为当前评委 |
| | | |
| | | 当前评委评分响应(CurrentJudgeRatingResponse): |
| | | * id - 评分记录ID |
| | | * totalScore - 总分 |
| | | * status - 评分状态 |
| | | * remark - 评分备注 |
| | | * items - 评分项目详情列表 |
| | | |
| | | 当前评委信息响应(CurrentJudgeInfoResponse): |
| | | * id - 评委ID |
| | | * name - 评委姓名 |
| | | * phone - 联系电话 |
| | | * description - 评委描述 |
| | | |
| | | 3.12.5 业务规则 |
| | | |
| | | 评分权限: |
| | | * 评委只能查看和修改自己的评分 |
| | | * 评委可以查看其他评委的评分状态(已评分/未评分) |
| | | * 评委可以查看选手的平均分 |
| | | |
| | | 评分流程: |
| | | * 评委进入评分页面,系统显示当前评委信息 |
| | | * 显示所有评委的评分状态 |
| | | * 如果当前评委已评分,加载其历史评分数据 |
| | | * 评委提交评分后,系统重新计算平均分 |
| | | * 实时更新评分状态显示 |
| | | |
| | | 数据一致性: |
| | | * 评分提交后立即更新数据库 |
| | | * 重新加载页面数据确保状态同步 |
| | | * 支持评委多次修改评分 |
| | | * 3(结束):显示【已结束】,无操作按钮 |
| | | |
| | | 四、微信端需求 |
| | |
| | | 说明:以后端 application.yml 为准,避免环境不一致。 |
| | | |
| | | 当前配置(摘自 backend/src/main/resources/application.yml): |
| | | - URL:jdbc:mysql://139.155.104.10:3306/ryc?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai |
| | | - 用户名:ryc |
| | | - 密码:KiYap3E8X8RLcM6T |
| | | |
| | | * URL:jdbc:mysql://139.155.104.10:3306/ryc?useUnicode=true\&characterEncoding=utf8\&useSSL=false\&serverTimezone=Asia/Shanghai |
| | | * 用户名:ryc |
| | | * 密码:KiYap3E8X8RLcM6T |
| | | |
| | | 超时建议: |
| | | - 在测试或批量操作场景下,追加 connectTimeout=60000、socketTimeout=60000 以提高稳定性。 |
| | | |
| | | * 在测试或批量操作场景下,追加 connectTimeout=60000、socketTimeout=60000 以提高稳定性。 |
| | | |
| | | 8.2 RabbitMQ 连接 |
| | | |
| | |
| | | |
| | | Region:ap-chengdu |
| | | |
| | | |
| | | |
| | | Git 服务: |
| | | |
| | | IP: http://42.193.1.25:9521/ |
| | | |
| | | 用户名:ai |
| | | |
| | | 密码:ai@ycl2025 |
| | | |
| | | 库: |
| | | |
| | | |
| | | |
| | | 微信小程序开发者工具 |
| | | |
| | | 路径:C:\\Program Files (x86)\\Tencent\\微信web开发者工具 |
| | | |
| | | |
| | | |
| | | |
| | | |