5.2 KiB
5.2 KiB
Controller Map 入参改造基线(CMLR-000)
1. 基线范围与统计
- 目标 Controller:
UserController、PkController、AnchorsController、SystemMessageController、ChatController - 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 |
任意 JSON(Map 宽松接收) | 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 200,data 为该用户主播列表;返回字段结构与当前 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 200,data 为系统消息数组,分页偏移逻辑为 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 入参方法。