个人职业档案与加入公司全面方案
文档性质:功能改造与设计方案(归入帮助中心「网站更新修复说明」)
版本:V1.0 · 2026-07
适用站点:baoan(法律/律所)、ba(保安)及同架构分站
一、背景与目标
1.1 现状问题
| 问题 | 说明 |
|---|
| 个人信息分散 | 实名在 usersaux,员工资质在 worker_qualification,个人无统一档案 |
| 无个人职业入口 | 未加入公司的人无法维护保安证、律师证、业绩 |
| 加入公司单向 | 仅公司后台添加员工,个人无法申请加入 |
| 数据不同步 | 个人填写的资质与公司员工编辑页 /distributors/worker/edit/ 不互通 |
| 站点差异 | 保安站与法律站职业类型、证件类型不同,需可配置 |
1.2 建设目标
- 每位会员拥有 职业档案(身份、资质、业绩),无需入驻公司 也可维护。
- 支持 申请加入公司/律所,公司后台 审核(PC + WAP 同步)。
- 审核通过或已是员工时,个人资质 自动同步 至
worker_qualification / worker_achievement。
- 为后续 应职版块、公司人员展示页、电子证件夹提供数据源。
- 帮助中心 网站操作说明 全面覆盖注册、认证、加入公司、职业认证、业绩等流程。
二、产品方案
2.1 菜单命名建议
| 方案 | 名称 | 位置 | 推荐 |
|---|
| A(推荐) | 职业档案 | 我的 → 独立一级菜单 | ★★★★★ |
| B | 我的资质 | 我的 → 独立菜单 | ★★★★ |
| C | 执业信息 | 账户管理 → 认证 子项 | ★★★ |
| D | 职业身份 | 与实名认证并列 | ★★★ |
推荐方案 A:「职业档案」
- 语义覆盖身份 + 资质 + 业绩 + 加入单位,比「认证」更宽。
- 与「实名认证」区分:实名 = 身份证;职业档案 = 职业与执业。
- 英文/internal key:
user_career 或 career_profile。
2.2 信息架构
我的(WAP /user/member/index.html)
├── 账户管理(已有)
│ └── 实名认证(usersaux,已有)
├── 职业档案(新增)★
│ ├── 基本身份(职业类型、简介、从业年限)
│ ├── 执业/上岗证件(多证上传)
│ ├── 工作业绩(多条)
│ └── 我的单位(已加入 / 申请中 / 申请加入)
├── 公司管理(已有)
└── 员工管理(已有)
PC 个人中心 /members/ 侧栏 账户中心 下增加 职业档案,URL:/members/career/index.html(规划)。
2.3 页面功能明细
(1)基本身份
| 字段 | 类型 | 说明 |
|---|
| 职业类型 | 下拉 | 站点配置:保安、律师、法务、公务员、职工、项目经理… |
| 职业子类 | 下拉 | 如律师 → 诉讼/非诉/仲裁 |
| 从业年限 | 数字 | 可选 |
| 个人简介 | 文本 | 展示用 |
| 是否公开 | 开关 | 应职版块/人员展示用 |
(2)执业/上岗证件
| 字段 | 说明 |
|---|
| 证件名称 | 如:律师执业证、保安员证 |
| 证件编号 | 可选 |
| 证件照片 | 正反面,支持多张 |
| 有效期 | 可选 |
| 是否在电子证件夹展示 | 同步 show_in_doc |
站点差异配置示例:
| 站点 | 预设职业 | 预设证件类型 |
|---|
| baoan 法律 | 律师、法务、实习律师、行政 | 律师执业证、法律职业资格证 |
| ba 保安 | 保安员、保安队长、消防、监控 | 保安员证、消防证、退伍证 |
(3)工作业绩
| 字段 | 说明 |
|---|
| 业绩标题 | 必填 |
| 业绩描述 | 富文本/纯文本 |
| 关联时间 | 可选 |
| 证明材料 | 图片/PDF |
| 是否公开展示 | 开关 |
(4)加入单位
| 状态 | 说明 |
|---|
| 未申请 | 可搜索公司/律所名称,选择职业后提交申请 |
| 待审核 | 公司已收到通知,等待同意/拒绝 |
| 已加入 | 显示公司名称,同步员工关系 |
| 已拒绝 | 显示拒绝理由,可重新申请 |
无公司也可:仅填职业 + 证件 + 业绩,不选单位。
三、业务流程
3.1 个人维护职业档案
flowchart LR
A[会员登录] --> B[我的-职业档案]
B --> C[填写职业类型]
C --> D[上传证件]
D --> E[添加业绩]
E --> F{是否加入单位?}
F -->|否| G[保存个人档案]
F -->|是| H[搜索选择公司]
H --> I[提交加入申请]
I --> J[公司后台待审]
3.2 公司审核加入申请
flowchart LR
J[待审列表] --> K{审核}
K -->|同意| L[创建/更新 shop_worker]
L --> M[同步资质到 worker_qualification]
M --> N[通知个人已通过]
K -->|拒绝| O[填写理由并通知个人]
3.3 资质同步规则
| 触发时机 | 同步方向 | 规则 |
|---|
| 加入审核通过 | 个人 → 员工 | user_qualification → worker_qualification(按 user_id + worker_id 映射) |
| 个人修改证件 | 个人 → 员工 | 若已是该公司员工,可选「同步到公司档案」 |
| 公司编辑员工资质 | 员工 → 个人 | 可选「回写个人职业档案」(默认开启) |
| 首次创建员工 | 双向 | 若个人档案已有数据,创建 worker 时自动导入 |
同步服务:UserCareerSyncService(规划)
四、数据库设计(草案)
4.1 表:by_user_career_profile
| 字段 | 类型 | 说明 |
|---|
| profile_id | int PK | |
| user_id | int | 会员 ID,唯一 |
| profession_code | varchar(32) | 职业编码 |
| profession_sub_code | varchar(32) | 子类 |
| work_years | int | 从业年限 |
| intro | text | 简介 |
| is_public | tinyint | 是否公开 |
| update_time | int | |
4.2 表:by_user_qualification
| 字段 | 类型 | 说明 |
|---|
| qual_id | int PK | |
| user_id | int | |
| title | varchar(128) | 证件名称 |
| cert_no | varchar(64) | 编号 |
| photo | varchar(255) | 图片路径 |
| expire_date | date | 有效期 |
| show_in_doc | tinyint | 电子证件夹 |
| closed | tinyint | |
| create_time | int | |
结构与 worker_qualification 对齐,便于同步。
4.3 表:by_user_achievement
| 字段 | 类型 | 说明 |
|---|
| ach_id | int PK | |
| user_id | int | |
| title | varchar(128) | |
| content | text | |
| photo | varchar(255) | |
| ach_date | date | |
| is_public | tinyint | |
| closed | tinyint | |
4.4 表:by_user_shop_join_request
| 字段 | 类型 | 说明 |
|---|
| request_id | int PK | |
| user_id | int | 申请人 |
| shop_id | int | 目标公司 |
| profession_code | varchar(32) | 申请职业 |
| message | varchar(512) | 申请说明 |
| audit | tinyint | 0待审 1通过 -1拒绝 |
| audit_reason | varchar(255) | 拒绝理由 |
| audit_user_id | int | 审核人 |
| worker_id | int | 通过后关联员工 ID |
| create_time / update_time | int | |
4.5 配置表:by_career_profession(站点级)
| 字段 | 说明 |
|---|
| site_key | baoan / ba / default |
| profession_code | 编码 |
| profession_name | 显示名 |
| cert_templates | JSON 推荐证件类型 |
| orderby | 排序 |
五、后台改造清单
5.1 个人端(WAP User + PC Members)
| 模块 | 文件(规划) | 功能 |
|---|
| WAP | User/CareerAction | index, profile, qual, achievement, join, join_submit |
| WAP 模板 | themes/default/User/career/*.html | 职业档案各 Tab |
| PC | Members/CareerAction | 同上 |
| 会员中心入口 | member/index.html | 增加「职业档案」菜单 |
| 账户管理 | information/index.html | 认证区增加跳转链接 |
5.2 公司后台(Merchant + Distributors)
| 模块 | 功能 |
|---|
| 待审通知 | 首页/消息:X 人申请加入 |
| 审核列表 | worker/join_requests 或 org/ 下新菜单 |
| 同意 | 创建 shop_worker + 同步资质 + 通知个人 |
| 拒绝 | 填写理由 + 通知个人 |
| 员工编辑 | /distributors/worker/edit/ 资质 Tab 显示「来自个人档案」标识 |
5.3 系统后台(Backstage)
| 功能 | 说明 |
|---|
| 职业类型配置 | 按站点维护 profession 字典 |
| 证件模板配置 | 保安证/律师证等 |
| 加入申请监管 | 全站审核记录 |
六、ba(保安)与 baoan(法律)差异
| 维度 | ba 保安站 | baoan 法律站 |
|---|
| 默认职业 | 保安员、班长、消防、监控 | 律师、法务、实习律师 |
| 证件 | 保安员证、消防证 | 律师执业证、法考证书 |
| 业绩示例 | 安保项目、处突记录 | 案件代理、法律顾问 |
| 公司类型 | 保安公司 shop_cate | 律所 shop_cate |
| 配置方式 | career_profession.site_key=ba | site_key=baoan |
共用同一套代码,通过 站点配置 + profession 字典 区分,不 fork 业务逻辑。
七、帮助中心文档更新计划
7.1 网站操作说明(ops)新增/重写
| slug | 标题 |
|---|
| member-register | 个人会员注册操作说明 |
| member-center-wap | WAP 个人中心菜单总览 |
| member-account | 账户管理操作说明 |
| member-payment | 商业收款操作说明 |
| member-company | 公司管理入口操作说明 |
| member-worker-login | 员工登录与退出 |
| member-pc-center | PC 个人中心操作说明 |
| member-project-worker | 项目员工调整 |
| member-career-profile | 职业档案使用说明(功能上线后) |
| member-join-company | 申请加入公司操作说明(功能上线后) |
7.2 网站更新修复说明(updates)收录本文
- slug:
user-career-profile-plan
- 标题: 个人职业档案与加入公司全面方案
八、实施阶段建议
| 阶段 | 内容 | 工期估 |
|---|
| P0 | 帮助中心操作说明重写(本文档配套 MD) | 1–2 天 ✅ 进行中 |
| P1 | 数据库迁移 + UserCareer CRUD(WAP) | 3–5 天 |
| P2 | 加入公司申请 + 公司后台审核(WAP+PC) | 3–5 天 |
| P3 | 资质同步至 worker_qualification | 2–3 天 |
| P4 | PC Members 同步 + ba 站点 profession 配置 | 2 天 |
| P5 | 帮助文档补全 + 应职版块预留接口 | 2 天 |
九、验收标准
- 未加入公司的会员可完整维护职业档案。
- 申请加入公司后,公司 WAP/PC 后台均能看到待审并操作。
- 审核通过后员工工作台可登录,员工编辑页资质与个人档案一致。
- ba / baoan 职业下拉内容按站点不同。
- 帮助中心「网站操作说明」覆盖个人中心全部主要菜单,与「网站更新说明」严格分离。
十、相关现有表与代码
| 资源 | 路径 |
|---|
| 员工资质 | worker_qualification、WorkerqualificationModel |
| 员工业绩 | worker_achievement |
| 员工编辑 | Distributors/WorkerAction、themes/.../worker/edit.html |
| 实名认证 | usersaux、User/usersaux/ |
| 会员中心 | User/member/index.html |
| 帮助构建 | tools/build_help_pages.php |