招聘求职公司后台操作
招聘求职 · 服务发布综合版块操作及逻辑流程说明
适用项目:baoan(法律站)/ba(保安站)
最后更新:2026-07-07
关联方案:招聘求职综合服务版块设计方案.md(改造背景与表结构摘要)
1. 模块定位
原「分类信息」为通用同城信息(二手、车辆等)。本版块将其改造为 招聘求职 · 服务发布 综合入口,并与以下模块打通:
| 模块 | 数据表 | 角色 |
|---|---|---|
| 个人发布 | by_life + by_life_cate | 会员按十大频道发招聘/求职/服务信息 |
| 公司岗位 | by_work | 公司后台结构化职位 |
| 应职人才 | by_user_career_* | 公开职业档案、筛选、邀请加入 |
| 招标投标 | by_tender_info | 与招聘并列展示,支持留言 |
| 留言 | by_recruit_inquiry | 对 life/work/career/tender 的「感兴趣 / 留言」 |
| 加入公司 | by_user_shop_join_request | 用户申请加入 / 公司邀请加入 |
综合 Hub 统一入口,避免会员在 life、work、career、tender 之间找不到路。
2. 数据表与模型
2.1 核心表
| 模型 | 物理表 | 说明 |
|---|---|---|
LifeModel | by_life | 个人发布的分类信息(招聘求职类) |
LifecateModel | by_life_cate | 子类目;channel_id 1–10 对应十大频道 |
WorkModel | by_work | 公司结构化招聘职位 |
UserCareerService | by_user_career_profile 等 | 职业档案(见职业档案专题文档) |
RecruitinquiryModel | by_recruit_inquiry | 招聘求职留言 |
TenderinfoModel | by_tender_info | 招标信息 |
2.2 by_recruit_inquiry 字段
| 字段 | 含义 |
|---|---|
biz_type | life / work / career / tender |
biz_id | 业务主键(life_id、work_id、user_id、tender_id) |
target_user_id | 接收方会员 ID(发布者或公司注册人) |
shop_id | 关联公司(work、tender 有 shop 时写入) |
from_user_id | 留言人 |
contact_name / contact_mobile | 联系人(默认取会员昵称/手机) |
message | 留言内容 |
is_read | 0 未读 / 1 已读 |
2.3 十大频道
法律站(baoan) — LifecateModel::channelMeans:
- 法律招聘 2. 律师求职 3. 法律兼职 4. 法律外包 5. 法律培训
- 法律讲座 7. 法律项目 8. 法律服务 9. 法律实习 10. 其他法律信息
保安站(ba) — 域名含 baoanfuwu 时自动切换 channelMeansBa:
- 保安招聘 2. 保安求职 3. 保安兼职 4. 安保外包 5. 保安培训
- 安全讲座 7. 安保项目 8. 安保服务 9. 保安实习 10. 其他安保信息
子类名称由迁移 SQL 种子 + 系统后台 → 分类管理 维护。
3. 总体逻辑架构
┌─────────────────────────────────────┐
│ 招聘求职 · 服务发布 综合 Hub │
│ WAP: /wap/recruit/ │
│ PC 列表: /home/life/index(主入口) │
│ PC 旧 Hub: /home/recruit/ → 302 跳转│
└──────────────┬──────────────────────┘
┌──────────┬────────────┼────────────┬──────────┐
▼ ▼ ▼ ▼ ▼
life 个人 work 公司 career 人才 tender 招标 发布 fabu
十大频道 结构化岗位 公开档案 招采信息 life/fabu
│ │ │ │
└──────────┴────────────┴────────────┘
│
recruit_inquiry 留言
│
┌───────────────┼───────────────┐
▼ ▼ ▼
个人收件箱 公司收件箱 系统后台
/user/recruitinquiry /merchant/... /backstage/recruitinquiry
4. 个人发布(life)逻辑流程
4.1 流程图
会员登录
│
▼
进入 Hub 或 fabu ──► 选择频道(1–10)──► 选择子类目(life_cate)
│
▼
填写标题、扩展字段、正文、联系方式、图片
│
▼
提交 ──► audit 待审核(或站点配置免审)
│
▼
前台 life 列表/详情展示 ──► 他人可留言(recruit_inquiry, biz_type=life)
│
▼
发布者在「我的 → 招聘留言」查看
4.2 关键代码
| 环节 | 文件 |
|---|---|
| WAP 发布 | Wap/LifeAction::fabu |
| PC 发布 | Home/LifeAction::fabu |
| 频道名 | LifecateModel::getChannelMeans() |
| 详情留言 | Wap/LifeAction::inquiry → RecruitInquiryService::submit('life', …) |
4.3 可见性
- 前台列表统一条件:
life_public_list_map()→audit=1、closed=0、且 免费或已付款(price=0或status=1) - 免审开关:设置 → 分类信息 → 分类信息免审核(
fabu_life_audit=1时发布即audit=1) - 免费发布自动
status=1;默认不按当前城市过滤,可选?local=1只看同城 - 详情页底部「留言 / 感兴趣」:登录且非本人发布
5. 公司岗位(work)逻辑流程
5.1 与公司后台关系
| 路径 | 说明 |
|---|---|
PC /merchant/work/ | 创建/编辑/审核公司职位(by_work) |
WAP /distributors/nearwork/ | 公司 WAP 端招聘管理 |
| 前台展示 | 公司 WAP 主页「招聘」Tab → nearwork/detail |
5.2 留言流程
会员浏览公司页职位列表
│
▼
/wap/nearwork/detail/work_id/{id}.html
│
▼
提交留言 ──► RecruitInquiryService::submit('work', work_id, …)
│ target_user_id = 公司 shop.user_id
│ shop_id = 职位所属公司
▼
公司注册人站内信 + 公司后台「招聘留言」
5.3 与 life 的分工
| 场景 | 建议渠道 |
|---|---|
| 公司正式岗位、需结构化字段 | work(公司后台维护) |
| 个人快速发招聘/求职/兼职信息 | life 对应频道 |
| 律师/保安个人求职 | life「律师求职/保安求职」或 career 公开档案 |
6. 应职人才(career)与邀请加入
6.1 公开人才库
| 端 | URL |
|---|---|
| WAP | /wap/career/index.html |
| PC | /home/career/index.html |
筛选:职业类型、工作年限、关键词。仅 is_public=1 的档案出现在列表。
6.2 留言(biz_type=career)
- 人才详情页 → 非本人登录会员可留言
biz_id= 人才user_id- 人才本人在 我的 → 招聘留言 查看
6.3 邀请加入本公司
公司注册人登录 ──► 浏览 career 详情
│
▼
「邀请加入本公司」表单 ──► UserCareerService::inviteFromShop()
│
▼
写入 by_user_shop_join_request(request_source=shop_invite)
│
▼
对方在「职业档案 → 加入单位」确认/拒绝
│
▼
审核通过后同步员工/资质(见职业档案专题文档)
公司 WAP 菜单:加入申请审核(/distributors/careerjoin/)。
7. 招标(tender)关联
- Hub / 列表页入口 →
/wap/tender/、/home/tender/ - PC 列表与详情均采用 主栏 + 右侧栏 布局:热门招标、最新招标、商家发布、应标留言
- 详情页支持 留言 / 合作意向(
biz_type=tender) - 若招标关联
shop_id,留言进入该公司 招聘留言;纯采集招标无 shop 时仅系统后台可见
8. 前端入口一览
8.1 WAP
| 功能 | 路径 |
|---|---|
| 综合 Hub | /wap/recruit/index.html |
| 发布 | /wap/life/fabu.html |
| 我的 → 招聘求职中心 | /wap/recruit/index.html |
| 我的 → 招聘留言 | /user/recruitinquiry/index.html |
| 应职人才 | /wap/career/index.html |
| 职业档案 | /user/career/index.html |
| 首页 | 「招聘求职」入口(若导航已配置) |
8.2 PC
| 功能 | 路径 |
|---|---|
| 主列表(顶栏导航应指向此页) | /home/life/index.html |
| 旧综合 Hub(兼容跳转) | /home/recruit/index.html → 302 到 life/index |
| 发布 | /life/fabu.html → life/create 填表 |
| 应职人才 | /home/career/index.html |
| 招标投标 | /home/tender/index.html(详情页同布局含右侧栏) |
| 会员中心侧栏 | 信息订阅 → 招聘求职中心、招聘留言 |
| 顶栏 | 「招聘求职」→ life/index(nav_id=48,执行 V20260707_003) |
界面:life / tender PC 页使用 var(--theme-color) 主题色,随 设置 → 主题 变更。
9. 个人中心操作
9.1 WAP(/user/、/wap/member/)
| 菜单 | 操作 |
|---|---|
| 招聘求职中心 | 进入 Hub,选频道浏览或发布 |
| 信息发布 → 招聘求职/服务发布 | 同 Hub |
| 招聘留言 | 查看他人对自己 life/career 等的留言,可标记已读 |
| 职业档案 | 维护身份、证件、业绩、申请加入单位 |
| 我的分类信息 | 管理已发布的 life 信息 |
9.2 PC 会员中心(/members/)
| 侧栏 | 操作 |
|---|---|
| 信息订阅中心 → 招聘求职中心 | 跳转 /home/life/(或 WAP Hub) |
| 信息订阅中心 → 招聘留言 | 跳转 /user/recruitinquiry/ |
| 账户中心 → 职业档案 | /members/career/ |
| 我的分类信息 | /members/life/ |
10. 公司 PC 后台(/merchant/)
前提:当前登录会员为该公司 shop.user_id,或经组织 RBAC 授权;公司等级需开通对应模块。
| 菜单 | 路径 | 说明 |
|---|---|---|
| 人才招聘 | work/index | 维护 by_work 结构化职位 |
| 招聘留言 | recruitinquiry/index | 查看 work/tender/career 等关联本公司的留言 |
| 员工管理 | worker/index | 在职员工 |
| 加入申请审核 | careerjoin/index | 用户申请 + 公司邀请的待审记录 |
| 同城信息 | life/index | 若等级开通,公司发 life 信息 |
留言列表 类型 显示:分类信息 / 公司职位 / 应职人才 / 招标投标。
11. WAP 公司后台(/distributors/)
与 PC 商家能力对齐的常用入口:
| 菜单 | 说明 |
|---|---|
| 人才招聘 | nearwork/index |
| 招聘留言 | 跳转 PC merchant/recruitinquiry |
| 应职人才库 | 跳转公开 /wap/career/ |
| 加入申请审核 | careerjoin/index |
| 同城信息 | life/index(若开通) |
12. 系统后台(/backstage/)
权限:站点管理员 by_admin + by_menu 角色,与公司后台 /merchant/ 权限体系 独立。
| 菜单(分类信息下) | 路径 | 操作 |
|---|---|---|
| 分类管理 | lifecate/index | 维护十大频道下子类、扩展字段 text1–text5 |
| 信息列表 | life/index | 审核/编辑/删除个人 life 发布 |
| 招聘留言 | recruitinquiry/index | 全站留言审计、筛选类型/状态、删除 |
| 举报信息 | lifereport/index | 原有 life 举报 |
| 基本配置 | setting/life | 分类信息开关、频道自定义(life_channel_type) |
公司职位 work 仍在后台 公司 → 人才招聘(或对应 work 菜单)审核,与 life 分开。
12.1 开关
- 运营设置 → 分类信息:
operation.life = 1开启后 Hub、fabu、recruit 入口才可用 - 关闭时访问
/wap/recruit/提示「招聘求职版块未开启」
13. 留言服务逻辑(RecruitInquiryService)
13.1 提交流程
submit(bizType, bizId, fromUserId, data)
│
├─ tablesReady? ──否──► 提示执行 SQL 迁移
├─ 未登录 / bizId 无效 ──► 失败
├─ 解析 target_user_id、shop_id(按 bizType)
├─ 不能给自己留言
├─ message 不能为空
└─ 写入 by_recruit_inquiry + 可选站内信 Msg
13.2 各 biz_type 接收方
| biz_type | target_user_id | shop_id |
|---|---|---|
| life | life.user_id | 0 |
| work | shop.user_id | work.shop_id |
| career | 人才 user_id | 可选(表单 shop_id) |
| tender | shop.user_id(有 shop 时) | tender.shop_id |
13.3 查看与已读
| 角色 | 方法 | 入口 |
|---|---|---|
| 个人 | listForUser | User/RecruitinquiryAction |
| 公司 | listForShop | Merchant/RecruitinquiryAction |
| 系统 | listForAdmin | Backstage/RecruitinquiryAction |
14. 数据库迁移
| 站点 | 文件 | 内容 |
|---|---|---|
| baoan | V20260706_001_legal_recruit_platform.sql | inquiry 表、join request 扩展、法律子类种子 |
| baoan | V20260706_003_recruit_inquiry_backstage_menu.sql | 后台「招聘留言」菜单 |
| ba | V20260706_002_ba_recruit_platform.sql | inquiry 表、保安子类种子 |
| ba | V20260706_003_recruit_inquiry_backstage_menu.sql | 同上菜单 |
执行后清除 Banyan/Runtime/Cache/*,并运行 php tools/build_help_pages.php。
15. 权限说明(易混淆)
| 后台 | URL | 无权限时的典型提示 |
|---|---|---|
| 系统后台 | /backstage/ | 「很抱歉您没有权限操作模块」 |
| 公司 PC | /merchant/ | 「当前公司等级无权管理该后台版块」 |
| 公司 WAP | /distributors/ | 同上(公司等级模块 visibleMap) |
公司 注册人(shop.user_id === 当前会员)对公司后台模块有 bypass,详见权限专题文档。
16. 常见问题
Q:选频道后没有子类目?
A:执行对应站点迁移 SQL,或在 分类管理 为该 channel_id 添加子类。
Q:留言提交失败「尚未启用」?
A:未创建 by_recruit_inquiry,执行 V20260706_001 或 V20260706_002。
Q:公司看不到招标留言?
A:仅 商家发布 且带 shop_id 的招标会进入公司留言;采集类招标只在系统后台可见。
Q:life 与 work 重复发招聘?
A:建议 formal 岗位用 work;life 适合个人或临时信息。Hub 中两者并列展示。
Q:保安站仍显示「法律招聘」?
A:检查访问域名是否触发 LifecateModel::siteChannelMeans();或后台 life_channel_type=1 自定义频道名。
17. 相关帮助链接
| 文档 | 说明 |
|---|---|
| 帮助中心-招聘求职发布操作说明 | 会员快速操作摘要 |
| 招聘求职综合服务版块设计方案 | 改造方案与表结构 |
| 帮助中心-职业档案使用说明 | 档案、加入单位、邀请 |
| 资讯操作及逻辑流程说明 | 格式参考(审核、推送) |
