{
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "schemes": [
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "title": "聚玩打手服务",
    "version": "1.0"
  },
  "basePath": "/",
  "paths": {
    "/api/v1/players": {
      "get": {
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "获取打手列表",
        "operationId": "playerListPlayers",
        "parameters": [
          {
            "type": "integer",
            "default": 0,
            "example": 0,
            "name": "offset",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "default": 20,
            "example": 20,
            "name": "limit",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "name": "gameId",
            "in": "query",
            "allowEmptyValue": true
          },
          {
            "type": "integer",
            "name": "gender",
            "in": "query",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "user",
                      "rating",
                      "totalOrders",
                      "completionRate",
                      "status",
                      "games",
                      "services",
                      "gender",
                      "tags"
                    ],
                    "properties": {
                      "completionRate": {
                        "type": "number"
                      },
                      "games": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "gender": {
                        "type": "boolean"
                      },
                      "id": {
                        "type": "integer"
                      },
                      "rating": {
                        "type": "number"
                      },
                      "services": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "playerId",
                            "gameId",
                            "gameName",
                            "title",
                            "description",
                            "price",
                            "unit",
                            "availability"
                          ],
                          "properties": {
                            "availability": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "description": {
                              "type": "string"
                            },
                            "gameId": {
                              "type": "integer"
                            },
                            "gameName": {
                              "type": "string"
                            },
                            "id": {
                              "type": "integer"
                            },
                            "playerId": {
                              "type": "integer"
                            },
                            "price": {
                              "type": "number"
                            },
                            "rankRange": {
                              "type": "string"
                            },
                            "title": {
                              "type": "string"
                            },
                            "unit": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "shopId": {
                        "type": "string"
                      },
                      "shopName": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "tags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "totalOrders": {
                        "type": "integer"
                      },
                      "user": {
                        "type": "object",
                        "required": [
                          "id",
                          "username",
                          "nickname",
                          "avatar",
                          "role",
                          "verifiedRoles",
                          "verificationStatus",
                          "createdAt"
                        ],
                        "properties": {
                          "avatar": {
                            "type": "string"
                          },
                          "bio": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "nickname": {
                            "type": "string"
                          },
                          "phone": {
                            "type": "string"
                          },
                          "role": {
                            "description": "consumer, player, owner, admin",
                            "type": "string"
                          },
                          "username": {
                            "type": "string"
                          },
                          "verificationStatus": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          "verifiedRoles": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "meta": {
                  "type": "object",
                  "required": [
                    "total",
                    "offset",
                    "limit"
                  ],
                  "properties": {
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/players/me": {
      "post": {
        "consumes": [
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "初始化当前用户的打手资料",
        "operationId": "playerInitPlayer",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "completionRate": {
                  "type": "number"
                },
                "games": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "gender": {
                  "type": "boolean"
                },
                "id": {
                  "type": "integer"
                },
                "rating": {
                  "type": "number"
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "playerId",
                      "gameId",
                      "gameName",
                      "title",
                      "description",
                      "price",
                      "unit",
                      "availability"
                    ],
                    "properties": {
                      "availability": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      },
                      "gameId": {
                        "type": "integer"
                      },
                      "gameName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "integer"
                      },
                      "playerId": {
                        "type": "integer"
                      },
                      "price": {
                        "type": "number"
                      },
                      "rankRange": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string"
                      }
                    }
                  }
                },
                "shopId": {
                  "type": "string"
                },
                "shopName": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "totalOrders": {
                  "type": "integer"
                },
                "user": {
                  "type": "object",
                  "required": [
                    "id",
                    "username",
                    "nickname",
                    "avatar",
                    "role",
                    "verifiedRoles",
                    "verificationStatus",
                    "createdAt"
                  ],
                  "properties": {
                    "avatar": {
                      "type": "string"
                    },
                    "bio": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "role": {
                      "description": "consumer, player, owner, admin",
                      "type": "string"
                    },
                    "username": {
                      "type": "string"
                    },
                    "verificationStatus": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "verifiedRoles": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/players/me/status": {
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "更新接单状态",
        "operationId": "playerUpdatePlayerStatus",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "status"
              ],
              "properties": {
                "status": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/api/v1/players/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "获取打手详情",
        "operationId": "playerGetPlayer",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "completionRate": {
                  "type": "number"
                },
                "games": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "gender": {
                  "type": "boolean"
                },
                "id": {
                  "type": "integer"
                },
                "rating": {
                  "type": "number"
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "playerId",
                      "gameId",
                      "gameName",
                      "title",
                      "description",
                      "price",
                      "unit",
                      "availability"
                    ],
                    "properties": {
                      "availability": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      },
                      "gameId": {
                        "type": "integer"
                      },
                      "gameName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "integer"
                      },
                      "playerId": {
                        "type": "integer"
                      },
                      "price": {
                        "type": "number"
                      },
                      "rankRange": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string"
                      }
                    }
                  }
                },
                "shopId": {
                  "type": "string"
                },
                "shopName": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "totalOrders": {
                  "type": "integer"
                },
                "user": {
                  "type": "object",
                  "required": [
                    "id",
                    "username",
                    "nickname",
                    "avatar",
                    "role",
                    "verifiedRoles",
                    "verificationStatus",
                    "createdAt"
                  ],
                  "properties": {
                    "avatar": {
                      "type": "string"
                    },
                    "bio": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "role": {
                      "description": "consumer, player, owner, admin",
                      "type": "string"
                    },
                    "username": {
                      "type": "string"
                    },
                    "verificationStatus": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "verifiedRoles": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/players/{id}/services": {
      "get": {
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "获取指定打手的服务列表",
        "operationId": "playerListPlayerServices",
        "parameters": [
          {
            "type": "integer",
            "default": 0,
            "example": 0,
            "name": "offset",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "default": 20,
            "example": 20,
            "name": "limit",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "playerId",
                      "gameId",
                      "gameName",
                      "title",
                      "description",
                      "price",
                      "unit",
                      "availability"
                    ],
                    "properties": {
                      "availability": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      },
                      "gameId": {
                        "type": "integer"
                      },
                      "gameName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "integer"
                      },
                      "playerId": {
                        "type": "integer"
                      },
                      "price": {
                        "type": "number"
                      },
                      "rankRange": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string"
                      }
                    }
                  }
                },
                "meta": {
                  "type": "object",
                  "required": [
                    "total",
                    "offset",
                    "limit"
                  ],
                  "properties": {
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services": {
      "get": {
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "获取所有服务列表",
        "operationId": "playerListServices",
        "parameters": [
          {
            "type": "integer",
            "default": 0,
            "example": 0,
            "name": "offset",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "default": 20,
            "example": 20,
            "name": "limit",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "playerId",
                      "gameId",
                      "gameName",
                      "title",
                      "description",
                      "price",
                      "unit",
                      "availability"
                    ],
                    "properties": {
                      "availability": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      },
                      "gameId": {
                        "type": "integer"
                      },
                      "gameName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "integer"
                      },
                      "playerId": {
                        "type": "integer"
                      },
                      "price": {
                        "type": "number"
                      },
                      "rankRange": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string"
                      }
                    }
                  }
                },
                "meta": {
                  "type": "object",
                  "required": [
                    "total",
                    "offset",
                    "limit"
                  ],
                  "properties": {
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "创建服务",
        "operationId": "playerCreateService",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "price",
                "unit"
              ],
              "properties": {
                "availability": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": {
                  "type": "string"
                },
                "gameId": {
                  "type": "integer"
                },
                "price": {
                  "type": "number"
                },
                "rankRange": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "availability": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": {
                  "type": "string"
                },
                "gameId": {
                  "type": "integer"
                },
                "gameName": {
                  "type": "string"
                },
                "id": {
                  "type": "integer"
                },
                "playerId": {
                  "type": "integer"
                },
                "price": {
                  "type": "number"
                },
                "rankRange": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services/{id}": {
      "get": {
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "获取服务详情",
        "operationId": "playerGetService",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "availability": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": {
                  "type": "string"
                },
                "gameId": {
                  "type": "integer"
                },
                "gameName": {
                  "type": "string"
                },
                "id": {
                  "type": "integer"
                },
                "playerId": {
                  "type": "integer"
                },
                "price": {
                  "type": "number"
                },
                "rankRange": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "更新服务",
        "operationId": "playerUpdateService",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "availability"
              ],
              "properties": {
                "availability": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": {
                  "type": "string"
                },
                "gameId": {
                  "type": "integer"
                },
                "price": {
                  "type": "number"
                },
                "rankRange": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object",
              "properties": {
                "availability": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": {
                  "type": "string"
                },
                "gameId": {
                  "type": "integer"
                },
                "gameName": {
                  "type": "string"
                },
                "id": {
                  "type": "integer"
                },
                "playerId": {
                  "type": "integer"
                },
                "price": {
                  "type": "number"
                },
                "rankRange": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "consumes": [
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json"
        ],
        "schemes": [
          "https"
        ],
        "summary": "删除服务",
        "operationId": "playerDeleteService",
        "parameters": [
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    }
  },
  "x-date": "2026-04-22 22:30:24",
  "x-description": "This is a goctl generated swagger file.",
  "x-github": "https://github.com/zeromicro/go-zero",
  "x-go-zero-doc": "https://go-zero.dev/",
  "x-goctl-version": "1.10.1"
}