lrj
3 天以前 4fa9591629721797386fc11836e3a9deb69cd58c
project.md
@@ -186,7 +186,7 @@
数据来源与关联:
* 主表: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 规范:
@@ -198,6 +198,89 @@
* 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(结束):显示【已结束】,无操作按钮
四、微信端需求
@@ -309,12 +392,14 @@
说明:以后端 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 连接
@@ -344,3 +429,25 @@
Region:ap-chengdu
Git 服务:
IP: http://42.193.1.25:9521/
用户名:ai
密码:ai@ycl2025
库:
微信小程序开发者工具
路径:C:\\Program Files (x86)\\Tencent\\微信web开发者工具