lrj
5 天以前 6d519474e44855682043d3c40db2c86a6822caca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
extend type Query {
  activityPlayerApplications(name: String, activityId: ID, page: Int, size: Int): [ActivityPlayerApplicationResponse!]!
  activityPlayerDetail(id: ID!): ActivityPlayerDetailResponse
  
  # 评分相关查询
  judgeRatingsForPlayer(activityPlayerId: ID!): [JudgeRatingStatusResponse!]!
  currentJudgeRating(activityPlayerId: ID!): CurrentJudgeRatingResponse
  averageScoreForPlayer(activityPlayerId: ID!): Float
  currentJudgeInfo: CurrentJudgeInfoResponse
}
 
extend type Mutation {
  saveActivityPlayerRating(input: ActivityPlayerRatingInput!): Boolean!
}
 
type ActivityPlayerApplicationResponse {
  id: ID
  playerName: String!
  activityName: String!
  phone: String
  applyTime: String!
  state: Int
}
 
# 比赛报名详情响应(用于评分页面)
type ActivityPlayerDetailResponse {
  id: ID!
  playerInfo: PlayerInfoResponse!
  regionInfo: RegionInfoResponse
  activityName: String!
  description: String
  submissionFiles: [SubmissionMediaResponse!]!
  ratingForm: RatingFormResponse
}
 
# 学员信息响应
type PlayerInfoResponse {
  id: ID!
  name: String!
  phone: String
  description: String
  avatarUrl: String
}
 
# 区域信息响应
type RegionInfoResponse {
  id: ID!
  name: String!
  fullPath: String
}
 
# 提交资料响应
type SubmissionMediaResponse {
  id: ID!
  name: String!
  url: String!
  fileExt: String
  fileSize: Int
  mediaType: Int
}
 
# 评分表单响应
type RatingFormResponse {
  schemeId: ID!
  schemeName: String!
  items: [RatingItemResponse!]!
  totalMaxScore: Int!
}
 
# 评分提交输入类型
input ActivityPlayerRatingInput {
  activityPlayerId: ID!
  ratings: [ActivityPlayerRatingItemInput!]!
  comment: String
}
 
# 评分项目输入类型
input ActivityPlayerRatingItemInput {
  itemId: ID!
  score: Float!
}
 
# 评委评分状态响应类型
type JudgeRatingStatusResponse {
  judgeId: ID!
  judgeName: String!
  hasRated: Boolean!
  ratingTime: String
  totalScore: Float
}
 
# 当前评委评分响应类型
type CurrentJudgeRatingResponse {
  id: ID!
  totalScore: Float
  status: Int
  remark: String
  items: [CurrentJudgeRatingItemResponse!]!
}
 
# 当前评委评分项响应类型
type CurrentJudgeRatingItemResponse {
  ratingItemId: ID!
  ratingItemName: String!
  score: Float!
  weightedScore: Float!
}
 
# 评分项目分数响应类型
type RatingItemScoreResponse {
  itemId: ID!
  itemName: String!
  score: Int!
  maxScore: Int!
}
 
# 当前评委信息响应类型
type CurrentJudgeInfoResponse {
  judgeId: ID!
  judgeName: String!
  title: String
  company: String
}