Files
hzdyjs/docs/开发文档/API/企业信息管理API.md
T

16 KiB
Raw Blame History

企业信息管理API接口文档

文档创建人:admin 创建日期:2023-07-05 更新日期:2026-03-30 文档状态:已完成

1. 概述

本文档描述了企业信息管理模块的API接口设计。企业信息管理模块包含企业基本信息管理、招聘岗位管理以及招聘简章PDF生成功能。

核心变更(2026-03-30):

  • 企业信息新增「企业简介」「办公电话」「官网」字段
  • 企业信息与岗位信息在新增/编辑时一体化处理
  • 新增招聘简章PDF生成功能(单个/批量)
  • 新增Excel导入功能(支持企业+岗位一次性导入)
  • 废弃原招聘海报管理、招聘岗位管理菜单(功能整合至本模块)

1.1 基础信息

项目 说明
接口基础路径 /zsjy/enterprise
请求方式 GET、POST、PUT、DELETE
认证方式 Bearer Token
响应格式 统一响应格式 R<T>,列表分页用 TableDataInfo<T>

1.2 数据结构

1.2.1 企业信息 (EnterpriseVO)

字段 类型 说明
id Long 企业ID
enterpriseName String 企业名称
industry String 所属行业(字典值)
industryName String 所属行业名称(字典标签)
mainBusiness String 主营业务(兼容保留)
enterpriseScale String 企业规模(字典值)
enterpriseScaleName String 企业规模名称(字典标签)
enterpriseIntro String 新增 企业简介(≤1500字符,用于招聘简章)
contactName String 联系人姓名
contactPhone String 联系电话
officePhone String 新增 办公电话
email String 电子邮箱
website String 新增 企业官网
address String 企业地址
status String 状态(0正常 1停用)
remark String 备注(兼容保留)
jobList List<EnterpriseJobVO> 新增 岗位列表(用于招聘简章)
jobCount Integer 新增 岗位数量(列表展示用)
createBy Long 创建者
createTime Date 创建时间
updateBy Long 更新者
updateTime Date 更新时间

1.2.2 招聘岗位信息 (EnterpriseJobVO)

字段 类型 说明
id Long 岗位ID
enterpriseId Long 所属企业ID
positionName String 岗位名称
requirements String 岗位要求(用于招聘简章)
benefits String 待遇(用于招聘简章)
status String 状态(0正常 1停用)
createBy Long 创建者
createTime Date 创建时间
updateBy Long 更新者
updateTime Date 更新时间

1.2.3 简章生成记录 (EnterpriseBrochureVO)

字段 类型 说明
id Long 记录ID
enterpriseId Long 企业ID
enterpriseName String 企业名称(关联)
brochurePath String PDF文件存储路径
fileName String 文件名称
fileSize Long 文件大小(字节)
generateBy Long 生成人ID
generateByName String 生成人姓名
generateTime Date 生成时间
createTime Date 创建时间

1.2.4 企业导入模板 (ZsjyEnterpriseImportVo)

导入模板共19列(H~AC为岗位信息,最多支持6个岗位):

列 字段名 必填 说明
A 企业名称 是 唯一性校验
B 企业简介 否 ≤1500字符
C 企业地址 是 —
D 联系人 是 —
E 联系电话 是 手机号格式
F 办公电话 否 —
G 电子邮箱 是 邮箱格式
H 招聘岗位1 否 岗位名称
I 要求1 否 岗位要求
J 待遇1 否 待遇信息
K 招聘岗位2 否 —
L 要求2 否 —
M 待遇2 否 —
N 招聘岗位3 否 —
O 要求3 否 —
P 待遇3 否 —
Q 招聘岗位4 否 —
R 要求4 否 —
S 待遇4 否 —
T 招聘岗位5 否 —
U 要求5 否 —
V 待遇5 否 —
W 招聘岗位6 否 —
X 要求6 否 —
Y 待遇6 否 —

2. 接口详细说明

2.1 查询企业信息列表

接口地址:GET /zsjy/enterprise/list

权限标识:zsjy:enterprise:list

请求参数:

参数名 类型 必填 说明
enterpriseName String 否 企业名称(模糊查询)
industry String 否 所属行业(字典值)
enterpriseScale String 否 企业规模(字典值)
status String 否 状态(0正常 1停用)
contactName String 否 联系人(模糊查询)
contactPhone String 否 联系电话(模糊查询)
email String 否 邮箱(模糊查询)
address String 否 地址(模糊查询)
pageNum Integer 否 页码(默认1)
pageSize Integer 否 每页条数(默认10)

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "total": 10,
  "rows": [
    {
      "id": 1,
      "enterpriseName": "杭州某某科技有限公司",
      "industry": "01",
      "industryName": "互联网",
      "enterpriseScale": "01",
      "enterpriseScaleName": "小型企业",
      "enterpriseIntro": "公司成立于2010年,专注于软件开发...",
      "contactName": "张三",
      "contactPhone": "13800138000",
      "officePhone": "0571-88888888",
      "email": "hr@example.com",
      "website": "https://www.example.com",
      "address": "浙江省杭州市西湖区xxx路xxx号",
      "status": "0",
      "jobCount": 3,
      "createTime": "2026-03-30 10:00:00"
    }
  ]
}

2.2 获取企业详细信息

接口地址:GET /zsjy/enterprise/{id}

权限标识:zsjy:enterprise:query

路径参数:

参数名 类型 必填 说明
id Long 是 企业ID

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "enterpriseName": "杭州某某科技有限公司",
    "industry": "01",
    "enterpriseIntro": "公司成立于2010年...",
    "contactName": "张三",
    "contactPhone": "13800138000",
    "officePhone": "0571-88888888",
    "email": "hr@example.com",
    "website": "https://www.example.com",
    "address": "浙江省杭州市xxx路xxx号",
    "status": "0",
    "jobList": [
      {
        "id": 1,
        "enterpriseId": 1,
        "positionName": "前端开发工程师",
        "requirements": "1. 熟练掌握Vue3\n2. 熟悉TypeScript",
        "benefits": "薪资范围:8000-15000元/月\n提供五险一金",
        "status": "0"
      },
      {
        "id": 2,
        "enterpriseId": 1,
        "positionName": "后端开发工程师",
        "requirements": "1. 熟练掌握Java\n2. 熟悉Spring Boot",
        "benefits": "薪资范围:10000-20000元/月",
        "status": "0"
      }
    ]
  }
}

2.3 新增企业信息

接口地址:POST /zsjy/enterprise

权限标识:zsjy:enterprise:add

请求体:

{
  "enterpriseName": "杭州某某科技有限公司",
  "industry": "01",
  "enterpriseIntro": "公司成立于2010年,专注于软件开发...",
  "contactName": "张三",
  "contactPhone": "13800138000",
  "officePhone": "0571-88888888",
  "email": "hr@example.com",
  "website": "https://www.example.com",
  "address": "浙江省杭州市西湖区xxx路xxx号",
  "enterpriseScale": "01",
  "status": "0",
  "jobList": [
    {
      "positionName": "前端开发工程师",
      "requirements": "1. 熟练掌握Vue3\n2. 熟悉TypeScript",
      "benefits": "薪资范围:8000-15000元/月\n提供五险一金",
      "status": "0"
    },
    {
      "positionName": "后端开发工程师",
      "requirements": "1. 熟练掌握Java\n2. 熟悉Spring Boot",
      "benefits": "薪资范围:10000-20000元/月",
      "status": "0"
    }
  ]
}

响应示例:

{
  "code": 200,
  "msg": "操作成功"
}

2.4 修改企业信息

接口地址:PUT /zsjy/enterprise

权限标识:zsjy:enterprise:edit

说明:编辑企业信息时,会先删除该企业下所有旧岗位,再批量插入新岗位列表。

请求体:同 2.3 新增


2.5 删除企业信息

接口地址:DELETE /zsjy/enterprise/{ids}

权限标识:zsjy:enterprise:remove

路径参数:

参数名 类型 必填 说明
ids Long[] 是 企业ID数组

说明:删除企业时会同时删除关联的岗位信息。


2.6 导出企业信息

接口地址:POST /zsjy/enterprise/export

权限标识:zsjy:enterprise:export

请求参数:同列表查询参数(用于条件导出)

响应:Excel文件流下载


2.7 下载导入模板

接口地址:GET /zsjy/enterprise/importTemplate

权限标识:无需权限

响应:Excel模板文件流下载,文件名:enterprise_import_template.xlsx


2.8 导入企业信息

接口地址:POST /zsjy/enterprise/importData

权限标识:zsjy:enterprise:import

请求方式:multipart/form-data

表单参数:

参数名 类型 必填 说明
file File 是 Excel文件(.xlsx/.xls)
updateSupport Boolean 否 是否支持更新(同名覆盖,默认false)

响应示例:

{
  "code": 200,
  "msg": "恭喜您,数据已全部导入成功!共 5 条,数据如下:<br/>1、企业 xxx 导入成功"
}

导入规则:

  • 企业名称唯一,重复时根据 updateSupport 决定是跳过还是覆盖
  • 岗位按模板列顺序解析,岗位名称非空则创建一条岗位记录

2.9 生成招聘简章PDF(单个)

接口地址:POST /zsjy/enterprise/brochure/{enterpriseId}

权限标识:zsjy:enterprise:brochure

路径参数:

参数名 类型 必填 说明
enterpriseId Long 是 企业ID

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "enterpriseId": 1,
    "enterpriseName": "杭州某某科技有限公司",
    "brochurePath": "/app/uploadPath/enterprise-brochure/2026/03/30/xxx.pdf",
    "fileName": "杭州某某科技有限公司_1743300000000.pdf",
    "fileSize": 102400,
    "generateBy": 1,
    "generateByName": "admin",
    "generateTime": "2026-03-30 10:00:00"
  }
}

错误示例(无岗位时):

{
  "code": 500,
  "msg": "该企业下没有招聘岗位,无法生成简章"
}

2.10 批量生成招聘简章PDF

接口地址:POST /zsjy/enterprise/brochure/batch/{enterpriseIds}

权限标识:zsjy:enterprise:brochure

路径参数:

参数名 类型 必填 说明
enterpriseIds String 是 企业ID列表,逗号分隔,如:1,2,3

响应示例:

{
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": 1,
      "enterpriseId": 1,
      "enterpriseName": "杭州某某科技有限公司",
      "fileName": "杭州某某科技有限公司_xxx.pdf",
      "generateTime": "2026-03-30 10:00:00"
    }
  ]
}

2.11 获取最新简章信息

接口地址:GET /zsjy/enterprise/brochure/{enterpriseId}

权限标识:zsjy:enterprise:query

路径参数:

参数名 类型 必填 说明
enterpriseId Long 是 企业ID

响应示例:同 2.9


2.12 下载招聘简章PDF(通过企业ID)

接口地址:GET /zsjy/enterprise/brochure/download/{enterpriseId}

权限标识:zsjy:enterprise:brochure

路径参数:

参数名 类型 必填 说明
enterpriseId Long 是 企业ID

响应:PDF文件流,Content-Type: application/pdf

文件名:招聘简章_{企业名称}.pdf


2.13 下载招聘简章PDF(通过记录ID)

接口地址:GET /zsjy/enterprise/brochure/downloadById/{id}

权限标识:zsjy:enterprise:brochure

路径参数:

参数名 类型 必填 说明
id Long 是 简章记录ID

响应:PDF文件流


3. 招聘简章PDF版式说明

生成的招聘简章PDF每家企业一份,结构如下:

┌─────────────────────────────────────────┐
│            企业名称(大标题)              │ ← 蓝色背景标题区
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│              企业简介                   │ ← 企业简介区块
│   公司成立于2010年,专注于软件开发...    │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ 联系人 | 联系电话 | 办公电话 | 电子邮箱  │ ← 联系信息表格
│ 企业地址:xxx路xxx号                     │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│              招聘岗位                   │ ← 岗位标题
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ 岗位1名称                              │ ← 岗位1
│ 岗位要求:...                          │
│ 待遇:...                              │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ 岗位2名称                              │ ← 岗位2
│ 岗位要求:...                          │
│ 待遇:...                              │
└─────────────────────────────────────────┘

... 更多岗位 ...

┌─────────────────────────────────────────┐
│ 联系人: 张三 | 电话: 13800138000         │ ← 页脚联系信息
│ 邮箱: hr@example.com | 地址: xxx        │
└─────────────────────────────────────────┘

4. 权限标识清单

权限标识 说明
zsjy:enterprise:list 列表查询
zsjy:enterprise:query 查看详情
zsjy:enterprise:add 新增
zsjy:enterprise:edit 修改(含岗位增删)
zsjy:enterprise:remove 删除
zsjy:enterprise:export 导出
zsjy:enterprise:import 导入
zsjy:enterprise:brochure 生成简章 / 下载

5. 数据库表结构

表名 说明
zsjy_enterprise 企业信息表(改造:新增enterprise_intro、office_phone、website字段)
zsjy_enterprise_job 企业招聘岗位表(新建)
zsjy_enterprise_brochure 简章生成记录表(新建)

6. 变更记录

日期 版本 变更内容
2023-07-05 v1.0 初始版本(企业基本信息CRUD)
2026-03-30 v2.0 重大改造:新增岗位子表、招聘简章PDF生成、Excel导入功能