backend/src/main/resources/graphql/player.graphqls
@@ -19,6 +19,10 @@
    activityPlayerDetail(id: ID!): ActivityPlayerDetailResponse
    # 微信端获取选手报名状态
    getPlayerRegistrationState(activityId: ID!): PlayerRegistrationResponse
    # 获取比赛晋级列表
    promotionCompetitions(name: String, page: Int, size: Int): [PromotionCompetitionResponse!]!
    # 获取可晋级参赛者列表
    promotableParticipants(currentStageId: ID!): PromotableParticipantsResponse
}
extend type Mutation {
@@ -29,6 +33,8 @@
    submitActivityRegistration(input: ActivityRegistrationInput!): ActivityRegistrationResponse
    # 保存评委评分
    saveActivityPlayerRating(input: ActivityPlayerRatingInput!): Boolean
    # 执行学员晋级操作
    promoteParticipants(input: PromotionInput!): PromotionResult
}
type ActivityPlayer {
@@ -232,4 +238,55 @@
input ActivityPlayerRatingItemInput {
    itemId: ID!
    score: Float!
}
# 比赛晋级列表响应类型
type PromotionCompetitionResponse {
    id: ID!
    competitionId: ID!
    competitionName: String!
    stageName: String!
    maxParticipants: Int
    currentCount: Int!
    status: Int
    startTime: String
    endTime: String
    sortOrder: Int
    state: Int
}
# 可晋级参赛者列表响应类型
type PromotableParticipantsResponse {
    participants: [PromotableParticipantResponse!]!
    selectableCount: Int
    totalCount: Int
    previousStageName: String
    currentStageName: String
}
# 可晋级参赛者响应类型
type PromotableParticipantResponse {
    id: ID!
    playerName: String
    projectName: String
    phone: String
    averageScore: Float
    ratingCount: Int
    applyTime: String
    state: Int
    playerId: ID
}
# 晋级操作输入类型
input PromotionInput {
    competitionId: ID!
    participantIds: [ID!]!
    targetStageId: ID!
}
# 晋级操作结果类型
type PromotionResult {
    success: Boolean!
    message: String
    promotedCount: Int
}