From 3714621173c606c4c58439ed8941100ce9ddea14 Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期三, 05 十一月 2025 15:10:49 +0800
Subject: [PATCH] bug
---
backend/src/main/resources/graphql/player.graphqls | 398 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 323 insertions(+), 75 deletions(-)
diff --git a/backend/src/main/resources/graphql/player.graphqls b/backend/src/main/resources/graphql/player.graphqls
index f11a00a..373e6fe 100644
--- a/backend/src/main/resources/graphql/player.graphqls
+++ b/backend/src/main/resources/graphql/player.graphqls
@@ -1,108 +1,356 @@
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
+ myActivityPlayer(activityId: ID!): ActivityPlayer
+ activityPlayerApplications(name: String, activityId: ID, state: Int, page: Int, size: Int): PlayerApplicationPageResponse
+ # 椤圭洰璇勫涓撶敤鏌ヨ锛屽寘鍚墍鏈夐樁娈垫暟鎹紙鍖呮嫭澶嶈禌銆佸喅璧涳級
+ projectReviewApplications(name: String, activityId: ID, regionId: ID, state: Int, page: Int, size: Int): ProjectReviewApplicationPageResponse
+ # 鑾峰彇鎸囧畾閫夋墜鐨勬墍鏈夎瘎濮旇瘎鍒嗙姸鎬�
+ judgeRatingsForPlayer(activityPlayerId: ID!): [JudgeRatingStatusResponse!]!
+ # 鑾峰彇鎸囧畾閫夋墜鐨勫钩鍧囧垎
+ averageScoreForPlayer(activityPlayerId: ID!): Float
+
+ # 鑾峰彇褰撳墠璇勫淇℃伅
+ currentJudgeInfo: CurrentJudgeInfoResponse
+ # 妫�鏌ヨ瘎濮旀槸鍚﹀湪鎸囧畾姣旇禌闃舵鐨勮瘎濮斿垪琛ㄤ腑
+ isJudgeInActivity(stageId: ID!, judgeId: ID!): Boolean
+ # 鑾峰彇鎸囧畾璇勫瀵归�夋墜鐨勮瘎鍒嗘槑缁�
+ judgeRatingDetail(activityPlayerId: ID!, judgeId: ID!): CurrentJudgeRatingResponse
+ # 鑾峰彇褰撳墠璇勫瀵归�夋墜鐨勮瘎鍒�
+ currentJudgeRating(activityPlayerId: ID!): CurrentJudgeRatingResponse
+ activityPlayerDetail(id: ID!): ActivityPlayerDetailResponse
+ # 鑾峰彇鍙傝禌椤圭洰闃舵鏃堕棿杞村強璇勫垎姒傚喌
+ projectStageTimeline(activityPlayerId: ID!): ProjectStageTimelineResponse
+ # 鑾峰彇鎸囧畾闃舵鐨勮瘎濮旇瘎鍒嗚鎯�
+ stageJudgeRatings(activityPlayerId: ID!): StageJudgeRatingDetailResponse
+ # 寰俊绔幏鍙栭�夋墜鎶ュ悕鐘舵��
+ getPlayerRegistrationState(activityId: ID!): PlayerRegistrationResponse
+ # 鑾峰彇姣旇禌鏅嬬骇鍒楄〃
+ promotionCompetitions(name: String, page: Int, size: Int): PromotionCompetitionPageResponse!
+ # 鑾峰彇鍙檵绾у弬璧涜�呭垪琛�
+ promotableParticipants(currentStageId: ID!): PromotableParticipantsResponse
}
extend type Mutation {
- saveActivityPlayerRating(input: ActivityPlayerRatingInput!): Boolean!
+ approveActivityPlayer(activityPlayerId: ID!, feedback: String): Boolean
+ rejectActivityPlayer(activityPlayerId: ID!, feedback: String!): Boolean
+ updatePlayerFeedback(activityPlayerId: ID!, feedback: String!): Boolean
+ # 寰俊绔彁浜ゆ椿鍔ㄦ姤鍚�
+ submitActivityRegistration(input: ActivityRegistrationInput!): ActivityRegistrationResponse
+ # 淇濆瓨璇勫璇勫垎
+ saveActivityPlayerRating(input: ActivityPlayerRatingInput!): Boolean
+ # 鎵ц瀛﹀憳鏅嬬骇鎿嶄綔
+ promoteParticipants(input: PromotionInput!): PromotionResult
+}
+
+type ActivityPlayer {
+ id: ID!
+ activityId: ID!
+ playerId: ID!
+ stageId: ID
+ state: Int
+ stateName: String
+ createTime: String
+ player: Player
+ activity: Activity
+}
+
+type Player {
+ id: ID!
+ name: String
+ phone: String @deprecated(reason: "姝ゅ瓧娈靛凡搴熷純锛岃浣跨敤鍏宠仈User瀹炰綋鐨刾hone瀛楁")
+}
+
+type PlayerApplicationPageResponse {
+ content: [ActivityPlayerApplicationResponse]
+ totalElements: Int
+ page: Int
+ size: Int
+}
+
+type ProjectReviewApplicationPageResponse {
+ content: [ActivityPlayerApplicationResponse]
+ totalElements: Int
+ page: Int
+ size: Int
+}
+
+# 璇勫璇勫垎鐘舵�佸搷搴�
+type JudgeRatingStatusResponse {
+ judgeId: ID!
+ judgeName: String!
+ hasRated: Boolean!
+ ratingTime: String
+ totalScore: Float
+}
+
+# 褰撳墠璇勫淇℃伅鍝嶅簲
+type CurrentJudgeInfoResponse {
+ judgeId: ID!
+ judgeName: String!
+ title: String
+ company: String
+}
+
+# 褰撳墠璇勫璇勫垎鍝嶅簲
+type CurrentJudgeRatingResponse {
+ id: ID!
+ totalScore: Float
+ status: Int
+ remark: String
+ ratedAt: String
+ items: [CurrentJudgeRatingItemResponse!]!
+}
+
+# 璇勫垎椤瑰搷搴�
+type CurrentJudgeRatingItemResponse {
+ ratingItemId: ID!
+ ratingItemName: String!
+ score: Float
+ weightedScore: Float
+ maxScore: Float
+}
+
+type ProjectStageTimelineResponse {
+ activityId: ID!
+ activityName: String
+ stages: [ProjectStageTimelineItemResponse!]!
+}
+
+type ProjectStageTimelineItemResponse {
+ stageId: ID!
+ stageName: String!
+ matchTime: String
+ sortOrder: Int
+ participated: Boolean!
+ activityPlayerId: ID
+ averageScore: Float
+ ratingCount: Int!
+ hasRating: Boolean!
+ latestRatingTime: String
+}
+
+type StageJudgeRatingDetailResponse {
+ activityPlayerId: ID!
+ stageId: ID
+ stageName: String
+ matchTime: String
+ ratingCount: Int!
+ averageScore: Float
+ judgeRatings: [StageJudgeRatingItemResponse!]!
+}
+
+type StageJudgeRatingItemResponse {
+ judgeId: ID!
+ judgeName: String!
+ totalScore: Float
+ feedback: String
+ ratingTime: String
}
type ActivityPlayerApplicationResponse {
- id: ID
- playerName: String!
- activityName: String!
- phone: String
- applyTime: String!
- state: Int
+ id: ID
+ playerName: String
+ activityName: String
+ projectName: String
+ phone: String
+ applyTime: String
+ state: Int
+ ratingCount: Int
+ averageScore: Float
}
-# 姣旇禌鎶ュ悕璇︽儏鍝嶅簲锛堢敤浜庤瘎鍒嗛〉闈級
type ActivityPlayerDetailResponse {
- id: ID!
- playerInfo: PlayerInfoResponse!
- activityName: String!
- description: String
- submissionFiles: [SubmissionMediaResponse!]!
- ratingForm: RatingFormResponse
+ id: ID
+ playerInfo: PlayerInfoResponse
+ regionInfo: RegionInfoResponse
+ activityName: String
+ projectName: String
+ description: String
+ feedback: String
+ state: Int
+ stageId: ID
+ submissionFiles: [SubmissionMediaResponse]
+ ratingForm: RatingFormResponse
}
-# 瀛﹀憳淇℃伅鍝嶅簲
type PlayerInfoResponse {
- id: ID!
- name: String!
- phone: String
- description: String
- avatarUrl: String
+ id: ID
+ name: String
+ phone: String @deprecated(reason: "姝ゅ瓧娈靛凡搴熷純锛岃浣跨敤userInfo.phone瀛楁")
+ gender: Int
+ birthday: String
+ education: String
+ introduction: String
+ description: String
+ avatarUrl: String
+ avatar: MediaResponse
+ userInfo: PlayerUserInfoResponse
}
-# 鎻愪氦璧勬枡鍝嶅簲
+type PlayerUserInfoResponse {
+ userId: ID
+ name: String
+ phone: String
+ avatarUrl: String
+ avatar: MediaResponse
+}
+
+type RegionInfoResponse {
+ id: ID
+ name: String
+ fullPath: String
+}
+
type SubmissionMediaResponse {
- id: ID!
- name: String!
- url: String!
- fileExt: String
- fileSize: Int
- mediaType: Int
+ id: ID
+ name: String
+ path: String
+ url: String
+ fullUrl: String
+ fullThumbUrl: String
+ fileExt: String
+ fileSize: Int
+ mediaType: Int
+ thumbUrl: String
}
-# 璇勫垎琛ㄥ崟鍝嶅簲
type RatingFormResponse {
- schemeId: ID!
- schemeName: String!
- items: [RatingItemResponse!]!
- totalMaxScore: Int!
+ schemeId: ID
+ schemeName: String
+ items: [RatingItemResponse]
+ totalMaxScore: Int
}
-# 璇勫垎鎻愪氦杈撳叆绫诲瀷
+# 閫夋墜鎶ュ悕鐘舵�佸搷搴旂被鍨�
+type PlayerRegistrationStateResponse {
+ activityId: ID!
+ playerId: ID
+ registrationState: String
+ canRegister: Boolean
+ registrationTime: String
+ projectName: String
+}
+
+# 閫夋墜鎶ュ悕鍝嶅簲绫诲瀷锛堢敤浜巔layerRegistration鍜実etPlayerRegistrationState鏌ヨ锛�
+type PlayerRegistrationResponse {
+ id: ID
+ status: Int
+ registrationTime: String
+ reviewStatus: Int
+ reviewComment: String
+}
+
+# 濯掍綋鏂囦欢杈撳叆绫诲瀷
+input MediaFileInput {
+ name: String
+ path: String
+ fileExt: String
+ fileSize: Int
+ mediaType: Int
+}
+
+# 閫夋墜鎶ュ悕淇℃伅杈撳叆绫诲瀷
+input PlayerRegistrationInput {
+ name: String!
+ phone: String!
+ birthDate: String
+ gender: Int
+ education: String
+ introduction: String
+ description: String
+ avatarMediaId: String
+}
+
+# 娲诲姩鎶ュ悕杈撳叆绫诲瀷
+input ActivityRegistrationInput {
+ activityId: ID!
+ playerInfo: PlayerRegistrationInput!
+ regionId: ID
+ projectName: String!
+ description: String
+ mediaFiles: [MediaFileInput]
+ attachmentMediaIds: [String]
+}
+
+# 娲诲姩鎶ュ悕鍝嶅簲绫诲瀷
+type ActivityRegistrationResponse {
+ success: Boolean!
+ message: String
+ registrationId: ID
+ playerId: ID
+ userId: ID
+ activityPlayerId: ID
+}
+
+# 璇勫璇勫垎杈撳叆绫诲瀷
input ActivityPlayerRatingInput {
- activityPlayerId: ID!
- ratings: [ActivityPlayerRatingItemInput!]!
- comment: String
+ activityPlayerId: ID!
+ stageId: ID
+ ratings: [ActivityPlayerRatingItemInput!]!
+ comment: String
}
-# 璇勫垎椤圭洰杈撳叆绫诲瀷
+# 璇勫垎椤硅緭鍏ョ被鍨�
input ActivityPlayerRatingItemInput {
- itemId: ID!
- score: Int!
+ itemId: ID!
+ score: Float!
}
-# 璇勫璇勫垎鐘舵�佸搷搴旂被鍨�
-type JudgeRatingStatusResponse {
- judgeId: ID!
- judgeName: String!
- hasRated: Boolean!
- ratingTime: String
- totalScore: 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 CurrentJudgeRatingResponse {
- activityPlayerId: ID!
- judgeId: ID!
- ratings: [RatingItemScoreResponse!]!
- comment: String
- totalScore: Float
- ratingTime: String
+# 姣旇禌鏅嬬骇鍒楄〃鍒嗛〉鍝嶅簲绫诲瀷
+type PromotionCompetitionPageResponse {
+ content: [PromotionCompetitionResponse!]!
+ totalElements: Long!
+ page: Int!
+ size: Int!
+ totalPages: Int!
}
-# 璇勫垎椤圭洰鍒嗘暟鍝嶅簲绫诲瀷
-type RatingItemScoreResponse {
- itemId: ID!
- itemName: String!
- score: Int!
- maxScore: Int!
+# 鍙檵绾у弬璧涜�呭垪琛ㄥ搷搴旂被鍨�
+type PromotableParticipantsResponse {
+ participants: [PromotableParticipantResponse!]!
+ selectableCount: Int
+ totalCount: Int
+ previousStageName: String
+ currentStageName: String
}
-# 褰撳墠璇勫淇℃伅鍝嶅簲绫诲瀷
-type CurrentJudgeInfoResponse {
- judgeId: ID!
- judgeName: String!
- title: String
- company: String
-}
\ No newline at end of file
+# 鍙檵绾у弬璧涜�呭搷搴旂被鍨�
+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
+}
--
Gitblit v1.8.0