From 93eb6b470773bc49ea6e1a9d4cbd914eb95d525b Mon Sep 17 00:00:00 2001 From: lrj <owen.stl@gmail.com> Date: 星期二, 30 九月 2025 17:38:04 +0800 Subject: [PATCH] feat: 完善比赛晋级功能并清理测试文件 --- backend/src/main/resources/graphql/player.graphqls | 100 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 94 insertions(+), 6 deletions(-) diff --git a/backend/src/main/resources/graphql/player.graphqls b/backend/src/main/resources/graphql/player.graphqls index b8e992f..6246211 100644 --- a/backend/src/main/resources/graphql/player.graphqls +++ b/backend/src/main/resources/graphql/player.graphqls @@ -1,5 +1,5 @@ extend type Query { - activityPlayerApplications(name: String, activityId: ID, page: Int, size: Int): [ActivityPlayerApplicationResponse!]! + activityPlayerApplications(name: String, activityId: ID, state: Int, page: Int, size: Int): [ActivityPlayerApplicationResponse!]! activityPlayerDetail(id: ID!): ActivityPlayerDetailResponse # 鎶ュ悕鐘舵�佹煡璇� @@ -10,17 +10,32 @@ currentJudgeRating(activityPlayerId: ID!): CurrentJudgeRatingResponse averageScoreForPlayer(activityPlayerId: ID!): Float currentJudgeInfo: CurrentJudgeInfoResponse + + # 姣旇禌鏅嬬骇鐩稿叧鏌ヨ + promotionCompetitions(name: String, page: Int, size: Int): [PromotionCompetitionResponse!]! + competitionParticipants(competitionId: ID!, page: Int, size: Int): [CompetitionParticipantResponse!]! + promotableParticipants(currentStageId: ID!): PromotableParticipantsResponse! } extend type Mutation { saveActivityPlayerRating(input: ActivityPlayerRatingInput!): Boolean! submitActivityRegistration(input: ActivityRegistrationInput!): ActivityRegistrationResponse! + updateActivityRegistration(activityPlayerId: ID!, input: ActivityRegistrationInput!): ActivityRegistrationResponse! + + # 瀹℃牳鐩稿叧mutations + approveActivityPlayer(activityPlayerId: ID!, feedback: String): Boolean! + rejectActivityPlayer(activityPlayerId: ID!, feedback: String!): Boolean! + updatePlayerFeedback(activityPlayerId: ID!, feedback: String!): Boolean! + + # 姣旇禌鏅嬬骇鐩稿叧mutations + promoteParticipants(input: PromotionInput!): PromotionResult! } type ActivityPlayerApplicationResponse { id: ID playerName: String! activityName: String! + projectName: String phone: String applyTime: String! state: Int @@ -32,18 +47,26 @@ playerInfo: PlayerInfoResponse! regionInfo: RegionInfoResponse activityName: String! + projectName: String description: String + feedback: String + state: Int submissionFiles: [SubmissionMediaResponse!]! ratingForm: RatingFormResponse } # 瀛﹀憳淇℃伅鍝嶅簲 type PlayerInfoResponse { - id: ID! - name: String! - phone: String - description: String - avatarUrl: String + id: ID + name: String + phone: String + description: String + avatarUrl: String + avatar: MediaResponse + gender: Int + birthday: String + education: String + introduction: String } # 鍖哄煙淇℃伅鍝嶅簲 @@ -61,6 +84,7 @@ fileExt: String fileSize: Int mediaType: Int + thumbUrl: String } # 璇勫垎琛ㄥ崟鍝嶅簲 @@ -177,4 +201,68 @@ registrationTime: String reviewStatus: Int reviewComment: String +} + +# 姣旇禌鏅嬬骇鐩稿叧绫诲瀷瀹氫箟 + +# 姣旇禌鏅嬬骇鍒楄〃鍝嶅簲绫诲瀷 +type PromotionCompetitionResponse { + id: ID! + competitionName: String! + stageName: String! + maxParticipants: Int + currentCount: Int! + status: Int! + startTime: String + endTime: String + sortOrder: Int + state: Int +} + +# 姣旇禌鍙傝禌鑰呭搷搴旂被鍨� +type CompetitionParticipantResponse { + id: ID! + playerName: String! + projectName: String + phone: String + averageScore: Float + ratingCount: Int! + applyTime: String! + state: Int! +} + +# 鏅嬬骇鎿嶄綔杈撳叆绫诲瀷 +input PromotionInput { + competitionId: ID! + participantIds: [ID!]! + targetStageId: ID +} + +# 鏅嬬骇鎿嶄綔缁撴灉绫诲瀷 +type PromotionResult { + success: Boolean! + message: String! + promotedCount: Int! +} + +# 鍙檵绾у弬璧涜�呭搷搴旂被鍨� +type PromotableParticipantResponse { + id: ID! + playerId: ID! + playerName: String! + projectName: String + phone: String + averageScore: Float + ratingCount: Int! + applyTime: String! + state: Int! +} + +# 鍙檵绾у弬璧涜�呭垪琛ㄥ搷搴旂被鍨� +type PromotableParticipantsResponse { + participants: [PromotableParticipantResponse!]! + selectableCount: Int! + totalCount: Int! + previousStageName: String! + currentStageName: String! } \ No newline at end of file -- Gitblit v1.8.0