跳至主要內容

地点(机厅)

ArgonarioD大约 6 分钟

根 URL:/place/{cityName}/{placeName}

GET 查询地点详情

查询地点详情

子 URI:

根据地点名(或别名)(可模糊查找)获取地点信息,查询参数 queryType 有四种值可选,对应四种查询结果:

  1. common: 地点基本信息、公告、总卡数、分游戏卡数
  2. forLogs: 地点基本信息、卡数修改日志、公告
  3. forAliases: 地点全称,该地点的全部别名
  4. forGames: 地点全称,该地点已配置的游戏及游戏别名,不返回卡数

Parameters

参数类型字段名数据类型是否必须说明
PathcityNameString准确省市全称
PathplaceNameString模糊地点名/别名
QueryqueryTypeString查询类型:commonforLogsforAliasesforGames
QuerygameNameArray of StringcommonforLogs 支持。按游戏名或游戏别名过滤

gameName 支持多值;当传入时:

  • cardCount 表示被选中游戏的总卡数
  • placeGames 只返回被选中的游戏项
  • 匹配逻辑支持游戏名和游戏别名,如 maichu
  • forLogs
    • 仅保留命中所选游戏的日志
    • 每条日志的 operateCountafterCount 会按命中的 gameLogs 明细重新计算

Responses

queryType=common

字段名数据类型说明
idInteger地点 ID
nameString地点全称
updateTimeDatetime更新时间
cardCountInteger当前总排卡数或过滤后的总卡数
isUpdatedBoolean经每天初始化后是否再次更新过
announcementsArray公告
> idLong公告 ID
> uploaderIdLong发布者 QQ 号
> uploaderGroupIdLong发布者 QQ 群号
> contentString公告内容
> createTimeDatetime公告发布时间
> expireTimeDatetime公告过期时间
placeGamesArray分游戏卡数
> idLong地点-游戏关联 ID
> gameObject游戏信息
>> idLong游戏 ID
>> nameString游戏名称
>> orderInteger游戏顺序,值越小优先级越高
> cardCountInteger该游戏的排卡数

queryType=forLogs

字段名数据类型说明
idInteger地点 ID
nameString地点全称
logsArray卡数修改日志
> idLong日志 ID
> createTimeDatetime日志创建时间
> uploaderIdLong修改者 QQ 号
> uploaderGroupIdLong修改者 QQ 群号
> operateCountInteger修改数量
> afterCountInteger修改后总卡数;过滤时表示命中游戏的修改后总卡数
> gameLogsArray分游戏日志明细
>> idLong分游戏日志明细 ID
>> gameObject游戏信息
>>> idLong游戏 ID
>>> nameString游戏名称
>>> orderInteger游戏顺序
>> operateCountInteger该游戏本次修改数量
>> afterCountInteger该游戏修改后的卡数
announcementsArray公告
> idLong公告 ID
> uploaderIdLong发布者 QQ 号
> uploaderGroupIdLong发布者 QQ 群号
> contentString公告内容
> createTimeDatetime公告发布时间
> expireTimeDatetime公告过期时间

queryType=forAliases

字段名数据类型说明
idInteger地点 ID
nameString地点全称
aliasesArray别名
> idLong别名 ID
> nameString别名名称

queryType=forGames

字段名数据类型说明
idInteger地点 ID
nameString地点全称
placeGamesArray该地点已配置的游戏
> idLong地点-游戏关联 ID
> gameObject游戏信息
>> idLong游戏 ID
>> nameString游戏名称
>> orderInteger游戏顺序
>> aliasesArray游戏别名
>>> idLong游戏别名 ID
>>> nameString游戏别名

Examples

200 OK: GET: /place/安徽省合肥市/泛时空?queryType=common
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "updateTime": "2026-03-28T13:44:52",
  "cardCount": 4,
  "isUpdated": true,
  "announcements": [
    {
      "id": 114514,
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "content": "1p坏了,只能单刷",
      "createTime": "2026-03-21T15:00:26",
      "expireTime": "2026-03-28T04:00:00"
    }
  ],
  "placeGames": [
    {
      "id": 1,
      "game": {
        "id": 1,
        "name": "舞萌",
        "order": 0
      },
      "cardCount": 1
    },
    {
      "id": 3,
      "game": {
        "id": 2,
        "name": "中二节奏",
        "order": 1
      },
      "cardCount": 3
    }
  ]
}
200 OK: GET: /place/安徽省合肥市/泛时空?queryType=common&gameName=mai
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "updateTime": "2026-03-28T13:44:52",
  "cardCount": 1,
  "isUpdated": true,
  "announcements": [
    {
      "id": 114514,
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "content": "1p坏了,只能单刷",
      "createTime": "2026-03-21T15:00:26",
      "expireTime": "2026-03-28T04:00:00"
    }
  ],
  "placeGames": [
    {
      "id": 1,
      "game": {
        "id": 1,
        "name": "舞萌",
        "order": 0
      },
      "cardCount": 1
    }
  ]
}
200 OK: GET: /place/安徽省合肥市/泛时空?queryType=forLogs
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "updateTime": "2026-03-29T18:00:06",
  "isUpdated": true,
  "logs": [
    {
      "id": 281,
      "createTime": "2026-03-29T18:00:05",
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "operateCount": 3,
      "afterCount": 3,
      "gameLogs": [
        {
          "id": 277,
          "game": {
            "id": 1,
            "name": "舞萌",
            "order": 0
          },
          "operateCount": 1,
          "afterCount": 1
        },
        {
          "id": 278,
          "game": {
            "id": 2,
            "name": "中二节奏",
            "order": 1
          },
          "operateCount": 2,
          "afterCount": 2
        }
      ]
    },
    
    {
      "id": 282,
      "createTime": "2026-03-29T18:00:06",
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "operateCount": -1,
      "afterCount": 2,
      "gameLogs": [
        {
          "id": 277,
          "game": {
            "id": 1,
            "name": "舞萌",
            "order": 0
          },
          "operateCount": 1,
          "afterCount": 2
        },
        {
          "id": 278,
          "game": {
            "id": 2,
            "name": "中二节奏",
            "order": 1
          },
          "operateCount": -2,
          "afterCount": 0
        }
      ]
    }
  ],
  "announcements": [
    {
      "id": 114515,
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "content": "今天 20:00 后可能断电",
      "createTime": "2026-03-28T12:00:00",
      "expireTime": "2026-04-04T04:00:00"
    }
  ]
}
200 OK: GET: /place/安徽省合肥市/泛时空?queryType=forLogs&gameName=mai
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "updateTime": "2026-03-29T18:00:06",
  "isUpdated": true,
  "logs": [
    {
      "id": 281,
      "createTime": "2026-03-29T18:00:05",
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "operateCount": 1,
      "afterCount": 1,
      "gameLogs": [
        {
          "id": 277,
          "game": {
            "id": 1,
            "name": "舞萌",
            "order": 0
          },
          "operateCount": 1,
          "afterCount": 1
        }
      ]
    },
    
    {
      "id": 282,
      "createTime": "2026-03-29T18:00:06",
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "operateCount": 1,
      "afterCount": 2,
      "gameLogs": [
        {
          "id": 277,
          "game": {
            "id": 1,
            "name": "舞萌",
            "order": 0
          },
          "operateCount": 1,
          "afterCount": 2
        }
      ]
    }
  ],
  "announcements": [
    {
      "id": 114515,
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "content": "今天 20:00 后可能断电",
      "createTime": "2026-03-28T12:00:00",
      "expireTime": "2026-04-04T04:00:00"
    }
  ]
}
200 OK: GET: /place/安徽省合肥市/泛时空?queryType=forAliases
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "aliases": [
    {
      "id": 92,
      "name": "宜家"
    },
    {
      "id": 317,
      "name": "泛"
    }
  ]
}
200 OK: GET: /place/安徽省合肥市/泛时空?queryType=forGames
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "updateTime": "2026-03-28T13:44:52",
  "isUpdated": true,
  "placeGames": [
    {
      "id": 1,
      "game": {
        "id": 1,
        "name": "舞萌",
        "order": 0,
        "aliases": [
          {
            "id": 11,
            "name": "mai"
          },
          {
            "id": 12,
            "name": "m"
          }
        ]
      }
    },
    {
      "id": 3,
      "game": {
        "id": 2,
        "name": "中二节奏",
        "order": 1,
        "aliases": [
          {
            "id": 21,
            "name": "中二"
          },
          {
            "id": 22,
            "name": "chu"
          }
        ]
      }
    }
  ]
}
PUT 更新地点卡数

更新地点卡数

子 URI:

根据地点名(或别名)(可模糊查找)更新卡数并登记在日志中。

Parameters

参数类型字段名数据类型是否必须说明
PathcityNameString准确省市全称
PathplaceNameString模糊地点名/别名
BodyuploaderIdInteger更新者 QQ 号
BodyuploaderGroupIdInteger更新者 QQ 群号
BodyupdateExpressionString总卡数更新表达式,形如 +1-2=8
BodygameUpdateMapMap<String, Object>按游戏更新卡数的映射,和 updateExpression 二选一
Body> {gameName}String(key)key 为游戏名或游戏别名,例如 maichu
Body>> updateExpressionString该游戏的更新表达式,形如 +1-2=8

规则说明:

  • updateExpressiongameUpdateMap 必须二选一,不能都传入也不能都不传入。
  • 默认不传游戏时,写接口只写默认游戏“舞萌”
  • 当使用总 updateExpression 时:
    • +n:优先增加默认游戏
    • -n:优先减少默认游戏,再按游戏 order 从小到大继续减少
    • =n:按当前总数与目标值的差额自动在各游戏间调整
  • 当使用 gameUpdateMap 时,只会更新被指定的游戏

Responses

响应为 Place 对象。

字段名数据类型说明
idInteger地点 ID
nameString地点全称
updateTimeDatetime更新时间
cardCountInteger当前总排卡数
isUpdatedBoolean经每天初始化后是否再次更新过
announcementsArray公告
> idLong公告 ID
> uploaderIdLong发布者 QQ 号
> uploaderGroupIdLong发布者 QQ 群号
> contentString公告内容
> createTimeDatetime公告发布时间
> expireTimeDatetime公告过期时间
placeGamesArray分游戏卡数
> idLong地点-游戏关联 ID
> gameObject游戏信息
>> idLong游戏 ID
>> nameString游戏名称
>> orderInteger游戏顺序,值越小优先级越高
> cardCountInteger该游戏的排卡数

Examples

200 OK: PUT: /place/安徽省合肥市/泛时空
{
  "id": 114,
  "name": "泛时空合肥庐阳店",
  "updateTime": "2026-03-28T13:44:12",
  "cardCount": 5,
  "isUpdated": true,
  "announcements": [
    {
      "id": 114514,
      "uploaderId": 12345678,
      "uploaderGroupId": 87654321,
      "content": "1p坏了,只能单刷",
      "createTime": "2026-03-21T15:00:26",
      "expireTime": "2026-03-28T04:00:00"
    }
  ],
  "placeGames": [
    {
      "id": 1,
      "game": {
        "id": 1,
        "name": "舞萌",
        "order": 0
      },
      "cardCount": 2
    },
    {
      "id": 3,
      "game": {
        "id": 2,
        "name": "中二节奏",
        "order": 1
      },
      "cardCount": 3
    }
  ]
}
请求体示例:按总数更新
{
  "uploaderId": 12345678,
  "uploaderGroupId": 87654321,
  "updateExpression": "=4"
}
请求体示例:按游戏更新
{
  "uploaderId": 12345678,
  "uploaderGroupId": 87654321,
  "gameUpdateMap": {
    "mai": {
      "updateExpression": "=2"
    },
    "chu": {
      "updateExpression": "=3"
    }
  }
}
上次编辑于:
贡献者: ArgonarioD,ArgonarioD