Codex Assistant
1 天以前 ba94ceae1315174798ae1967ef62268c6d16cd5b
backend/src/main/resources/graphql/activity.graphqls
@@ -1,112 +1,225 @@
extend type Query {
    activity(id: ID!): Activity
    activities(page: Int!, size: Int!, name: String): PageResponse
    activities(page: Int!, size: Int!, name: String, state: Int): PageResponse
    allActivities: [Activity]
    allActivityStages: [Activity]
    activityStages(activityId: ID!): [Activity]
    ongoingActivities: [Activity]
    # 微信端获取活动列表
    # 寰俊绔幏鍙栨椿鍔ㄥ垪琛?
    getActivities: [Activity]
    # 获取主办方统计数据
    # 鑾峰彇涓诲姙鏂圭粺璁℃暟鎹?
    organizerStats: OrganizerStatsResponse
}
extend type Mutation {
    saveActivity(input: ActivityInput!): Activity
    deleteActivity(id: ID!): Boolean
    updateActivityState(id: ID!, state: Int!): Boolean
}
type Activity {
    id: ID
    pid: ID
    path: String
    name: String
    description: String
    signupDeadline: String
    matchTime: String
    address: String
    ratingSchemeId: ID
    ratingScheme: RatingSchemeResponse
    playerCount: Int
    playerMax: Int
    sortOrder: Int
    state: Int
    stateName: String
    createTime: String
    updateTime: String
    coverImage: MediaResponse
    images: [MediaResponse]
    videos: [MediaResponse]
    stages: [Activity]
    parent: Activity
    judges: [ActivityJudgeResponse]
}
type PageResponse {
    content: [Activity]
    page: Int
    size: Int
    total: Int
    totalPages: Int
    totalElements: Int
    number: Int
    first: Boolean
    last: Boolean
}
input ActivityInput {
    id: ID
    pid: ID
    name: String!
    description: String
    signupDeadline: String
    matchTime: String
    address: String
    ratingSchemeId: ID
    playerMax: Int
    sortOrder: Int
    state: Int
    stages: [ActivityStageInput]
    judges: [ActivityJudgeInput]
}
input ActivityStageInput {
    id: ID
    name: String!
    description: String
    matchTime: String
    address: String
    ratingSchemeId: ID
    playerMax: Int
    sortOrder: Int
    state: Int
}
input ActivityJudgeInput {
    judgeId: ID!
    judgeName: String
    stageIds: [ID]
}
type ActivityJudgeResponse {
    id: ID
    name: String
    phone: String
    description: String
    stageIds: [ID]
}
# 活动详情和状态响应类型(微信端使用)
# 娲诲姩璇︽儏鍜岀姸鎬佸搷搴旂被鍨嬶紙寰俊绔娇鐢級
type ActivityDetailAndStatusResponse {
    activity: Activity
    registrationStatus: String
    canRegister: Boolean
    playerRegistration: ActivityPlayer
}
# 主办方统计响应类型
# 涓诲姙鏂圭粺璁″搷搴旂被鍨?
type OrganizerStatsResponse {
    activeActivities: Int!
    totalParticipants: Int!
    totalActivities: Int!
}
}