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

3.9 KiB
Raw Blame 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 个展位(KJ01KJ20),且全部 status=available。弹窗标题说明“红色为本企业展位”,但响应中没有当前企业展位,页面只显示 20 个未预定展位。

浏览器证据

  • 页面截图:JF-EN-011-outdoor-booth-map-count-mismatch.png
  • 列表 GET /api/shihezi/cms/outdoor-fair/list?current=1&pageSize=20id=6 返回 boothCount=80reservedBoothCount=0signedUp=truereviewStatus=\"1\"
  • 展位图 GET /api/shihezi/cms/outdoor-fair/6/company/booth-mapHTTP 200响应 data.booths 长度为 20编号为 KJ01KJ20,全部状态为 availablecompanyId=null
  • accessibility snapshot 显示弹窗文案“本企业展位 / 其他已预定展位 / 未预定展位”和“展位图仅供查看,不能编辑或调整”,但没有显示总展位数量或当前企业展位编号。

管理端同一招聘会的复现

在监管管理员端打开同一 id=6 的户外招聘会详情:

  • 招聘会基本信息显示“展位数量80”。
  • 绑定场地“石河子市人民广场户外招聘区”的场地信息显示“展位数量10”。
  • “展位图 → 展位列表”展示 KJ01KJ20 共 20 个展位,全部为“未预定”。
  • GET /api/shihezi/cms/venue-info/fair/6/booth-mapHTTP 200响应 data 长度为 20所有记录 status="available"companyId=null
  • 管理端截图:JF-AD-014-admin-outdoor-booth-mismatch.png

管理端同时暴露了招聘会容量 80、绑定场地容量 10 和实际展位图 20 三种口径,说明该问题不仅是企业端弹窗展示问题,还影响监管端容量配置和现场展位管理。

影响范围

企业无法可靠判断本场招聘会真实可预定展位数量、已占用数量和自身展位分配状态;管理端、企业端和现场参会安排可能依据不同数量产生容量误判。对已通过报名企业,展位图没有红色本企业展位也会造成“报名通过但未分配展位”的状态疑问。

初步定位

列表的 boothCount 与展位图接口返回的 booths 似乎来自不同数据源或不同模板:列表记录显示 80 个展位,而当前场地图生成 20 个展位。需要进一步核对场地模板、招聘会展位数量字段、预定关系和企业报名审核后的分配逻辑。

建议

统一展位数量的业务口径和接口来源;展位图加载后显示总数、已预定数、当前企业展位编号;如果企业审核通过但尚未分配展位,明确显示“已通过,待分配展位”,不要只用“本企业展位”图例造成误解。