extend type Query {
|
"获取所有评委列表"
|
judges: [JudgeResponse]
|
|
"根据名称搜索评委"
|
judgesByName(name: String): [JudgeResponse]
|
|
"根据ID获取评委详情"
|
judge(id: ID): JudgeResponse
|
|
"获取腾讯云COS临时上传凭证"
|
getUploadCredentials: CosCredentials
|
|
# 评委评审相关查询
|
"获取提交详情"
|
getSubmissionDetail(submissionId: ID!): SubmissionDetailResponse
|
|
# 检查评审状态
|
checkReviewStatus(submissionId: ID!): ReviewStatusResponse
|
|
# 获取评委统计数据
|
judgeStats: JudgeStatsResponse
|
}
|
|
extend type Mutation {
|
"保存评委信息(新增或修改)"
|
saveJudge(input: JudgeInput): JudgeResponse
|
|
"删除评委"
|
deleteJudge(id: ID): Boolean
|
|
# 评审相关mutation
|
"保存评审草稿"
|
saveReviewDraft(input: ReviewDraftInput!): ReviewDraftResponse
|
|
"提交评审"
|
submitReview(input: ReviewSubmitInput!): ReviewSubmitResponse
|
}
|
|
"评委输入类型"
|
input JudgeInput {
|
id: ID
|
name: String
|
title: String
|
company: String
|
phone: String
|
password: String
|
gender: Int
|
description: String
|
introduction: String
|
avatarUrl: String
|
avatarMediaId: ID
|
majorIds: [ID]
|
tagNames: [String]
|
}
|
|
"评委响应类型"
|
type JudgeResponse {
|
id: ID
|
name: String
|
title: String
|
company: String
|
phone: String
|
gender: Int
|
description: String
|
introduction: String
|
avatarUrl: String
|
specialties: [TagResponse]
|
tags: [TagResponse]
|
}
|
|
# 标签响应类型(用于评委专业领域)
|
type TagResponse {
|
id: Long!
|
name: String!
|
code: String
|
}
|
|
|
|
"腾讯云COS临时凭证类型"
|
type CosCredentials {
|
bucket: String
|
region: String
|
key: String
|
presignedUrl: String
|
expiration: String
|
}
|
|
# 提交详情响应类型
|
type SubmissionDetailResponse {
|
id: ID!
|
activityId: ID!
|
playerId: ID!
|
playerName: String
|
projectName: String
|
description: String
|
submissionFiles: [SubmissionMediaResponse]
|
currentScore: Float
|
maxScore: Int
|
reviewStatus: String
|
}
|
|
# 评审状态响应类型
|
type ReviewStatusResponse {
|
submissionId: ID!
|
reviewStatus: String
|
canReview: Boolean
|
hasReviewed: Boolean
|
currentScore: Float
|
reviewTime: String
|
}
|
|
# 评审草稿输入类型
|
input ReviewDraftInput {
|
submissionId: ID!
|
scores: [ReviewScoreInput!]!
|
comments: String
|
}
|
|
# 评审提交输入类型
|
input ReviewSubmitInput {
|
submissionId: ID!
|
scores: [ReviewScoreInput!]!
|
comments: String
|
finalScore: Float!
|
}
|
|
# 评审分数输入类型
|
input ReviewScoreInput {
|
itemId: ID!
|
score: Float!
|
}
|
|
# 评审草稿响应类型
|
type ReviewDraftResponse {
|
id: ID!
|
submissionId: ID!
|
status: String
|
saveTime: String
|
}
|
|
# 评审提交响应类型
|
type ReviewSubmitResponse {
|
id: ID!
|
submissionId: ID!
|
finalScore: Float!
|
status: String
|
submitTime: String
|
}
|
|
# 评委统计响应类型
|
type JudgeStatsResponse {
|
pendingReviews: Int!
|
completedReviews: Int!
|
totalReviews: Int!
|
}
|