From f04f35b562760afbac0c477357e2a29f77aec3b9 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期四, 02 十月 2025 13:51:47 +0800
Subject: [PATCH] fix: 修复评审次数重复显示问题
---
backend/src/main/resources/graphql/player.graphqls | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 232 insertions(+), 4 deletions(-)
diff --git a/backend/src/main/resources/graphql/player.graphqls b/backend/src/main/resources/graphql/player.graphqls
index 71bea78..6a8029c 100644
--- a/backend/src/main/resources/graphql/player.graphqls
+++ b/backend/src/main/resources/graphql/player.graphqls
@@ -1,38 +1,105 @@
extend type Query {
- activityPlayerApplications(name: String, page: Int, size: Int): [ActivityPlayerApplicationResponse!]!
+ activityPlayerApplications(name: String, activityId: ID, state: Int, page: Int, size: Int): PlayerApplicationPageResponse!
+ # 鏂板锛氶」鐩瘎瀹′笓鐢ㄦ煡璇紝鍖呭惈鎵�鏈夐樁娈垫暟鎹紙鍖呮嫭澶嶈禌銆佸喅璧涳級
+ projectReviewApplications(name: String, activityId: ID, state: Int, page: Int, size: Int): ProjectReviewApplicationPageResponse!
activityPlayerDetail(id: ID!): ActivityPlayerDetailResponse
+
+ # 鎶ュ悕鐘舵�佹煡璇�
+ playerRegistration(activityId: ID!): PlayerRegistrationResponse
+
+ # 璇勫垎鐩稿叧鏌ヨ
+ judgeRatingsForPlayer(activityPlayerId: ID!): [JudgeRatingStatusResponse!]!
+ currentJudgeRating(activityPlayerId: ID!): CurrentJudgeRatingResponse
+ averageScoreForPlayer(activityPlayerId: ID!): Float
+ currentJudgeInfo: CurrentJudgeInfoResponse
+
+ # 鏉冮檺妫�鏌ユ煡璇�
+ isJudgeInActivity(stageId: ID!, judgeId: ID!): Boolean!
+
+ # 鑾峰彇鎸囧畾璇勫鐨勮瘎鍒嗘槑缁�
+ judgeRatingDetail(activityPlayerId: ID!, judgeId: ID!): CurrentJudgeRatingResponse
+
+ # 姣旇禌鏅嬬骇鐩稿叧鏌ヨ
+ 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
+ ratingCount: Int
+ averageScore: Float
}
# 姣旇禌鎶ュ悕璇︽儏鍝嶅簲锛堢敤浜庤瘎鍒嗛〉闈級
type ActivityPlayerDetailResponse {
id: ID!
playerInfo: PlayerInfoResponse!
+ regionInfo: RegionInfoResponse
activityName: String!
+ projectName: String
description: String
+ feedback: String
+ state: Int
submissionFiles: [SubmissionMediaResponse!]!
ratingForm: RatingFormResponse
}
+# 鎶ュ悕瀹℃牳鍒嗛〉鍝嶅簲绫诲瀷
+type PlayerApplicationPageResponse {
+ content: [ActivityPlayerApplicationResponse!]!
+ totalElements: Int!
+ page: Int!
+ size: Int!
+}
+
+# 椤圭洰璇勫鍒嗛〉鍝嶅簲绫诲瀷
+type ProjectReviewApplicationPageResponse {
+ content: [ActivityPlayerApplicationResponse!]!
+ totalElements: Int!
+ page: Int!
+ size: Int!
+}
+
# 瀛﹀憳淇℃伅鍝嶅簲
type PlayerInfoResponse {
+ id: ID
+ name: String
+ phone: String
+ description: String
+ avatarUrl: String
+ avatar: MediaResponse
+ gender: Int
+ birthday: String
+ education: String
+ introduction: String
+}
+
+# 鍖哄煙淇℃伅鍝嶅簲
+type RegionInfoResponse {
id: ID!
name: String!
- phone: String
- description: String
- avatarUrl: String
+ fullPath: String
}
# 鎻愪氦璧勬枡鍝嶅簲
@@ -43,6 +110,7 @@
fileExt: String
fileSize: Int
mediaType: Int
+ thumbUrl: String
}
# 璇勫垎琛ㄥ崟鍝嶅簲
@@ -56,6 +124,7 @@
# 璇勫垎鎻愪氦杈撳叆绫诲瀷
input ActivityPlayerRatingInput {
activityPlayerId: ID!
+ stageId: ID!
ratings: [ActivityPlayerRatingItemInput!]!
comment: String
}
@@ -63,5 +132,164 @@
# 璇勫垎椤圭洰杈撳叆绫诲瀷
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
+}
+
+# 鎶ュ悕鎻愪氦杈撳叆绫诲瀷
+input ActivityRegistrationInput {
+ activityId: ID!
+ playerInfo: PlayerRegistrationInput!
+ regionId: ID
+ projectName: String
+ description: String
+ mediaFiles: [MediaFileInput!]
+ attachmentMediaIds: [String!]
+}
+
+# 閫夋墜鎶ュ悕淇℃伅杈撳叆绫诲瀷
+input PlayerRegistrationInput {
+ name: String!
+ phone: String!
+ gender: Int
+ birthDate: String
+ education: String
+ introduction: String
+ description: String
+ avatarMediaId: String
+}
+
+
+
+# 濯掍綋鏂囦欢杈撳叆绫诲瀷
+input MediaFileInput {
+ name: String!
+ path: String!
+ fileExt: String
+ fileSize: Int
+ mediaType: Int!
+}
+
+# 鎶ュ悕鎻愪氦鍝嶅簲绫诲瀷
+type ActivityRegistrationResponse {
+ success: Boolean!
+ message: String
+ registrationId: ID
+ playerId: ID
+ userId: ID
+ activityPlayerId: ID
+}
+
+# 鐜╁鎶ュ悕鐘舵�佸搷搴旂被鍨�
+type PlayerRegistrationResponse {
+ id: ID
+ status: Int
+ 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