Files
shz-backend/docs/test-reports/job-fair/2026-07-25/bugs/BUG-009-outdoor-booth-count-mismatch.md

56 lines
3.9 KiB
Markdown
Raw Normal View History

# BUG-009企业端户外招聘会展位数量与展位图实际展位数不一致
- 严重级别P2容量信息与可用展位视图不一致
- 状态:代码已增加双口径展示;历史容量口径待确认
- 环境test
- 角色PC 企业端已登录测试企业角色、PC 监管管理员
- 入口:企业端 `/shihezi/jobfair/jobfair/outdoorfair`;管理端 `/shihezi/jobfair/outdoor-fair/detail?id=6`
- 招聘会:`id=6`“2026年第八师团场农业技术人才户外招聘会”
- 发现时间2026-07-25
## 复现步骤
1. 在企业端户外招聘会列表中找到 `id=6` 的招聘会。
2. 对照列表字段“展位数量”和“已预定摊位数”。
3. 对已通过报名的企业记录点击“查看展位图”。
4. 统计展位图接口返回的 `booths` 数量,并对照列表展示值。
## 预期结果
列表“展位数量”应与该招聘会展位图的实际可用/已预定展位总数一致;如果列表数量代表另一种容量,应明确标注含义,并由接口同时返回可对照的展位图总数。
## 实际结果
列表显示 `展位数量=80``已预定摊位数=0`;展位图接口只返回 20 个展位(`KJ01``KJ20`),且全部 `status=available`。弹窗标题说明“红色为本企业展位”,但响应中没有当前企业展位,页面只显示 20 个未预定展位。
## 浏览器证据
- 页面截图:[JF-EN-011-outdoor-booth-map-count-mismatch.png](../screenshots/JF-EN-011-outdoor-booth-map-count-mismatch.png)
- 列表 `GET /api/shihezi/cms/outdoor-fair/list?current=1&pageSize=20``id=6` 返回 `boothCount=80``reservedBoothCount=0``signedUp=true``reviewStatus=\"1\"`
- 展位图 `GET /api/shihezi/cms/outdoor-fair/6/company/booth-map`HTTP 200响应 `data.booths` 长度为 20编号为 `KJ01``KJ20`,全部状态为 `available``companyId=null`
- accessibility snapshot 显示弹窗文案“本企业展位 / 其他已预定展位 / 未预定展位”和“展位图仅供查看,不能编辑或调整”,但没有显示总展位数量或当前企业展位编号。
### 管理端同一招聘会的复现
在监管管理员端打开同一 `id=6` 的户外招聘会详情:
- 招聘会基本信息显示“展位数量80”。
- 绑定场地“石河子市人民广场户外招聘区”的场地信息显示“展位数量10”。
- “展位图 → 展位列表”展示 `KJ01``KJ20` 共 20 个展位,全部为“未预定”。
- `GET /api/shihezi/cms/venue-info/fair/6/booth-map`HTTP 200响应 `data` 长度为 20所有记录 `status="available"``companyId=null`
- 管理端截图:[JF-AD-014-admin-outdoor-booth-mismatch.png](../screenshots/JF-AD-014-admin-outdoor-booth-mismatch.png)。
管理端同时暴露了招聘会容量 80、绑定场地容量 10 和实际展位图 20 三种口径,说明该问题不仅是企业端弹窗展示问题,还影响监管端容量配置和现场展位管理。
## 影响范围
企业无法可靠判断本场招聘会真实可预定展位数量、已占用数量和自身展位分配状态;管理端、企业端和现场参会安排可能依据不同数量产生容量误判。对已通过报名企业,展位图没有红色本企业展位也会造成“报名通过但未分配展位”的状态疑问。
## 初步定位
列表的 `boothCount` 与展位图接口返回的 `booths` 似乎来自不同数据源或不同模板:列表记录显示 80 个展位,而当前场地图生成 20 个展位。需要进一步核对场地模板、招聘会展位数量字段、预定关系和企业报名审核后的分配逻辑。
## 建议
统一展位数量的业务口径和接口来源;展位图加载后显示总数、已预定数、当前企业展位编号;如果企业审核通过但尚未分配展位,明确显示“已通过,待分配展位”,不要只用“本企业展位”图例造成误解。