# 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 个展位。需要进一步核对场地模板、招聘会展位数量字段、预定关系和企业报名审核后的分配逻辑。 ## 建议 统一展位数量的业务口径和接口来源;展位图加载后显示总数、已预定数、当前企业展位编号;如果企业审核通过但尚未分配展位,明确显示“已通过,待分配展位”,不要只用“本企业展位”图例造成误解。