From 9f8395fab13ca4b230a0f7d62636e209745c91d4 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期日, 28 九月 2025 14:16:18 +0800
Subject: [PATCH] feat: 完善注册流程的文件上传功能

---
 backend/src/main/resources/graphql/player.graphqls |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 114 insertions(+), 1 deletions(-)

diff --git a/backend/src/main/resources/graphql/player.graphqls b/backend/src/main/resources/graphql/player.graphqls
index 71bea78..b8e992f 100644
--- a/backend/src/main/resources/graphql/player.graphqls
+++ b/backend/src/main/resources/graphql/player.graphqls
@@ -1,10 +1,20 @@
 extend type Query {
-  activityPlayerApplications(name: String, page: Int, size: Int): [ActivityPlayerApplicationResponse!]!
+  activityPlayerApplications(name: String, activityId: ID, page: Int, size: Int): [ActivityPlayerApplicationResponse!]!
   activityPlayerDetail(id: ID!): ActivityPlayerDetailResponse
+  
+  # 鎶ュ悕鐘舵�佹煡璇�
+  playerRegistration(activityId: ID!): PlayerRegistrationResponse
+  
+  # 璇勫垎鐩稿叧鏌ヨ
+  judgeRatingsForPlayer(activityPlayerId: ID!): [JudgeRatingStatusResponse!]!
+  currentJudgeRating(activityPlayerId: ID!): CurrentJudgeRatingResponse
+  averageScoreForPlayer(activityPlayerId: ID!): Float
+  currentJudgeInfo: CurrentJudgeInfoResponse
 }
 
 extend type Mutation {
   saveActivityPlayerRating(input: ActivityPlayerRatingInput!): Boolean!
+  submitActivityRegistration(input: ActivityRegistrationInput!): ActivityRegistrationResponse!
 }
 
 type ActivityPlayerApplicationResponse {
@@ -20,6 +30,7 @@
 type ActivityPlayerDetailResponse {
   id: ID!
   playerInfo: PlayerInfoResponse!
+  regionInfo: RegionInfoResponse
   activityName: String!
   description: String
   submissionFiles: [SubmissionMediaResponse!]!
@@ -33,6 +44,13 @@
   phone: String
   description: String
   avatarUrl: String
+}
+
+# 鍖哄煙淇℃伅鍝嶅簲
+type RegionInfoResponse {
+  id: ID!
+  name: String!
+  fullPath: String
 }
 
 # 鎻愪氦璧勬枡鍝嶅簲
@@ -63,5 +81,100 @@
 # 璇勫垎椤圭洰杈撳叆绫诲瀷
 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
 }
\ No newline at end of file

--
Gitblit v1.8.0