Files
pkAssistant/plan/2026-02-08_20-03-29-controller-map-baseline.md

5.2 KiB
Raw Permalink Blame History

Controller Map 入参改造基线CMLR-000

1. 基线范围与统计

  • 目标 Controller: UserControllerPkControllerAnchorsControllerSystemMessageControllerChatController
  • Map 入参接口总数: 18
  • HTTP Method: 全部为 POST
  • 基线冻结日期: 2026-02-08

2. Map 入参接口清单URL/字段/返回类型/调用链)

Controller URL 入参字段Map key 返回类型 主要调用链
UserController /user/inputUserInfo code,id ResponseData<Object> UserController.inputUserInfo -> VVRequester.loginApp -> UserDao.updateById
UserController /user/loginWithPhoneNumber code,inviterId(可选) ResponseData<Object> UserController.loginWithPhoneNumber -> VVRequester.queryPhoneNumber -> UserDao.queryWithPhoneNumber/insert
UserController /user/queryMyAllPkData userId,page,size ResponseData<Object> UserController.queryMyAllPkData -> PkInfoDao.queryAllPkData
UserController /user/handlePkInfo type,userId,page,size ResponseData<Object> UserController.handlePkInfo -> UserDao.findCreatedPk/getMyGuestPkList
UserController /user/pkRecordDetail id ResponseData<Object> UserController.pkRecordDetail -> PkRecordDetailDao.queryDetail
UserController /user/pinToTop articleId,pinExpireTime ResponseData<Object> UserController.pinToTop -> UserDao.selectById/updateById + PkInfoDao.updateById
UserController /user/cancelPin articleId ResponseData<Object> UserController.cancelPin -> UserDao.updateById + PkInfoDao.updateById
UserController /user/pointsDetail userId,page,size ResponseData<Object> UserController.pointsDetail -> CoinRecordsDao.fetchMyPointsData
PkController /pk/pkList page,size,condition,userId(可选) ResponseData<Object> PkController.pkList -> PKService.getPKList
PkController /pk/queryMyCanUsePkData userId ResponseData<Object> PkController.queryMyCanUsePkData -> PkInfoDao.queryCanUseData
PkController /pk/pkInfoDetail id,userId,from ResponseData<Object> PkController.pkInfoDetail -> PKService.pkInfoDetail
PkController /pk/deletePkDataWithId id ResponseData<Object> PkController.deletePkDataWithId -> PkInfoDao.deletePkDataWithId
PkController /pk/fetchDetailPkDataWithId id ResponseData<Object> PkController.fetchDetailPkDataWithId -> PkRecordDao.fetchDetailPkDataWithId
PkController /pk/listUninvitedPublishedAnchorsByUserId userId ResponseData<Object> PkController.listUninvitedPublishedAnchorsByUserId -> PkInfoDao.listUninvitedPublishedAnchorsByUserId
AnchorsController /anchor/list id ResponseData<Object> AnchorsController.myAnchorList -> AnchorsService.selectMyAnchor
AnchorsController /anchor/deleteMyAnchor id ResponseData<Object> AnchorsController.deleteMyAnchor -> AnchorsService.deleteMyAnchor
SystemMessageController /systemMessage/list page,size ResponseData<Object> SystemMessageController.messageList -> SystemMessageDao.messageList
ChatController /chat/receiveImMessage 任意 JSONMap 宽松接收) Map<String,Object> ChatController.receiveImMessage -> 返回固定 code/content

3. 抽样 5 条请求-响应对照(可复现)

说明:以下样本用于回归字段级比对。BASE_URL 默认 http://127.0.0.1:8086

Case-01 /user/queryMyAllPkData

curl -sS -X POST "$BASE_URL/user/queryMyAllPkData" \
  -H "Content-Type: application/json" \
  -d '{"userId":1,"page":0,"size":10}'

期望HTTP 200顶层为 ResponseData 结构,data 为数组;数组元素包含原有 PkInfoModel 字段集合且保留 isPin 计算结果。

Case-02 /pk/deletePkDataWithId

curl -sS -X POST "$BASE_URL/pk/deletePkDataWithId" \
  -H "Content-Type: application/json" \
  -d '{"id":123}'

期望HTTP 200若目标处于置顶中返回错误结构与文案 "该信息在置顶中。如要删除清先取消置顶";否则成功返回空字符串。

Case-03 /anchor/list

curl -sS -X POST "$BASE_URL/anchor/list" \
  -H "Content-Type: application/json" \
  -d '{"id":1}'

期望HTTP 200data 为该用户主播列表;返回字段结构与当前 AnchorsService.selectMyAnchor 一致。

Case-04 /systemMessage/list

curl -sS -X POST "$BASE_URL/systemMessage/list" \
  -H "Content-Type: application/json" \
  -d '{"page":0,"size":20}'

期望HTTP 200data 为系统消息数组,分页偏移逻辑为 page * size

Case-05 /chat/receiveImMessage

curl -sS -X POST "$BASE_URL/chat/receiveImMessage" \
  -H "Content-Type: application/json" \
  -d '{"eventType":"im","payload":{"k":"v"},"unknownField":1}'

期望HTTP 200返回固定结构 {"code":200,"content":"success"},并保持对未知字段的宽松接收。

4. 快速核验命令(接口数量)

rg -n "Map<.*>\\s+\\w+\\)" src/main/java/vvpkassistant/controller/{UserController.java,PkController.java,AnchorsController.java,SystemMessageController.java,ChatController.java}

期望:匹配到 18 个 Map 入参方法。