From 2d410989d32380d31ae3fe6d42aa3b3ba9e09d00 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 22:13:29 +0800
Subject: [PATCH] UI优化和bug修复: 1.调整小程序消息列表图标样式 2.优化web端比赛晋级页面布局 3.修复小程序消息列表日期显示问题

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

diff --git a/backend/src/main/resources/graphql/player.graphqls b/backend/src/main/resources/graphql/player.graphqls
index 6e11257..8ab03f6 100644
--- a/backend/src/main/resources/graphql/player.graphqls
+++ b/backend/src/main/resources/graphql/player.graphqls
@@ -1,288 +1,292 @@
 extend type Query {
-  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
-  
-  # 姣旇禌鏅嬬骇鐩稿叧鏌ヨ
-  promotionCompetitions(name: String, page: Int, size: Int): [PromotionCompetitionResponse!]!
-  competitionParticipants(competitionId: ID!, page: Int, size: Int): [CompetitionParticipantResponse!]!
-  promotableParticipants(currentStageId: ID!): PromotableParticipantsResponse!
+    myActivityPlayer(activityId: ID!): ActivityPlayer
+    activityPlayerApplications(name: String, activityId: ID, state: Int, page: Int, size: Int): PlayerApplicationPageResponse
+    # 椤圭洰璇勫涓撶敤鏌ヨ锛屽寘鍚墍鏈夐樁娈垫暟鎹紙鍖呮嫭澶嶈禌銆佸喅璧涳級
+    projectReviewApplications(name: String, activityId: 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
+    # 寰俊绔幏鍙栭�夋墜鎶ュ悕鐘舵��
+    getPlayerRegistrationState(activityId: ID!): PlayerRegistrationResponse
+    # 鑾峰彇姣旇禌鏅嬬骇鍒楄〃
+    promotionCompetitions(name: String, page: Int, size: Int): [PromotionCompetitionResponse!]!
+    # 鑾峰彇鍙檵绾у弬璧涜�呭垪琛�
+    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!
+    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
+}
+
+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
+    items: [CurrentJudgeRatingItemResponse!]!
+}
+
+# 璇勫垎椤瑰搷搴�
+type CurrentJudgeRatingItemResponse {
+    ratingItemId: ID!
+    ratingItemName: String!
+    score: Float
+    weightedScore: Float
 }
 
 type ActivityPlayerApplicationResponse {
-  id: ID
-  playerName: String!
-  activityName: String!
-  projectName: String
-  phone: String
-  applyTime: String!
-  state: Int
-  ratingCount: Int
-  averageScore: Float
+    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
+    id: ID
+    playerInfo: PlayerInfoResponse
+    regionInfo: RegionInfoResponse
+    activityName: String
+    projectName: String
+    description: String
+    feedback: String
+    state: Int
+    stageId: ID
+    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
+    description: String
+    avatarUrl: String
+    avatar: MediaResponse
 }
 
-# 鍖哄煙淇℃伅鍝嶅簲
 type RegionInfoResponse {
-  id: ID!
-  name: String!
-  fullPath: String
+    id: ID
+    name: String
+    fullPath: String
 }
 
-# 鎻愪氦璧勬枡鍝嶅簲
 type SubmissionMediaResponse {
-  id: ID!
-  name: String!
-  url: String!
-  fileExt: String
-  fileSize: Int
-  mediaType: Int
-  thumbUrl: String
+    id: ID
+    name: String
+    url: 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
 }
 
-# 璇勫垎鎻愪氦杈撳叆绫诲瀷
-input ActivityPlayerRatingInput {
-  activityPlayerId: ID!
-  ratings: [ActivityPlayerRatingItemInput!]!
-  comment: String
+# 閫夋墜鎶ュ悕鐘舵�佸搷搴旂被鍨�
+type PlayerRegistrationStateResponse {
+    activityId: ID!
+    playerId: ID
+    registrationState: String
+    canRegister: Boolean
+    registrationTime: String
+    projectName: String
 }
 
-# 璇勫垎椤圭洰杈撳叆绫诲瀷
-input ActivityPlayerRatingItemInput {
-  itemId: ID!
-  score: Float!
+# 閫夋墜鎶ュ悕鍝嶅簲绫诲瀷锛堢敤浜巔layerRegistration鍜実etPlayerRegistrationState鏌ヨ锛�
+type PlayerRegistrationResponse {
+    id: ID
+    status: Int
+    registrationTime: String
+    reviewStatus: Int
+    reviewComment: String
 }
 
-# 璇勫璇勫垎鐘舵�佸搷搴旂被鍨�
-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 MediaFileInput {
+    name: String
+    path: String
+    fileExt: String
+    fileSize: Int
+    mediaType: Int
 }
 
 # 閫夋墜鎶ュ悕淇℃伅杈撳叆绫诲瀷
 input PlayerRegistrationInput {
-  name: String!
-  phone: String!
-  gender: Int
-  birthDate: String
-  education: String
-  introduction: String
-  description: String
-  avatarMediaId: String
+    name: String!
+    phone: String!
+    birthDate: String
+    gender: Int
+    education: String
+    introduction: String
+    description: String
+    avatarMediaId: String
 }
 
-
-
-# 濯掍綋鏂囦欢杈撳叆绫诲瀷
-input MediaFileInput {
-  name: String!
-  path: String!
-  fileExt: String
-  fileSize: Int
-  mediaType: Int!
+# 娲诲姩鎶ュ悕杈撳叆绫诲瀷
+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
+    success: Boolean!
+    message: String
+    registrationId: ID
+    playerId: ID
+    userId: ID
+    activityPlayerId: ID
 }
 
-# 鐜╁鎶ュ悕鐘舵�佸搷搴旂被鍨�
-type PlayerRegistrationResponse {
-  id: ID
-  status: Int
-  registrationTime: String
-  reviewStatus: Int
-  reviewComment: String
+# 璇勫璇勫垎杈撳叆绫诲瀷
+input ActivityPlayerRatingInput {
+    activityPlayerId: ID!
+    stageId: ID
+    ratings: [ActivityPlayerRatingItemInput!]!
+    comment: String
 }
 
-# 姣旇禌鏅嬬骇鐩稿叧绫诲瀷瀹氫箟
+# 璇勫垎椤硅緭鍏ョ被鍨�
+input ActivityPlayerRatingItemInput {
+    itemId: ID!
+    score: Float!
+}
 
 # 姣旇禌鏅嬬骇鍒楄〃鍝嶅簲绫诲瀷
 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!
+    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!
+    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
 }
\ No newline at end of file

--
Gitblit v1.8.0