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