SpringBoot招聘求职平台
第一章 相关技术介绍
1.1 Spring Boot框架
SpringBoot框架源于Spring平台对复杂配置、部署流程的简化要求。该框架利用自动配置来减少开发过程中的人工干预。内嵌的Servlet容器使得应用程序不需要打包成WAR文件就可以独立运行。框架内部采用约定优于配置的设计思想,根据类路径中依赖项自动注册相应的Bean。控制器层接收前端传过来的请求参数。服务层做参数合法性校验和业务逻辑组装。数据持久层用ORM技术完成关系型数据库的交互操作。框架支持用属性文件来对运行时行为进行外部化配置。监控模块提供HTTP接口,可以查看系统运行状态以及指标采集。异常处理机制把控制器层抛出的各种异常都统一捕获,然后返回标准化的响应结构。SpringBoot提供了一套版本化的依赖管理方案来避免类库之间发生版本冲突。创建工具可执行文件打包,生成可以直接启动的JAR格式归档。
1.2 Vue框架
Vue的渐进式架构使得开发者可以在现有的页面中逐步地引入这项技术。核心库只关注视图层的渲染工作,模板语法把DOM节点和底层的数据实例建立起声明式的绑定关系。当数据对象属性变化的时候,响应式系统就通知相关组件进行重新渲染。虚拟DOM技术是在内存中创建轻量级的节点树,从而减少对真实DOM的操作次数。组件定义机制可以将样式结构和与其相关的动作逻辑封装在一起。单个组件内部包含模板片段、脚本对象和样式描述三部分。父组件用属性传递方式把动态数据传给子组件。子组件利用事件派发的方式把交互意图传递给父层级。招聘信息列表的渲染任务由循环指令控制[14]。简历表单域和数据模型用双向绑定指令保持同步。路由管理器会根据浏览器地址栏的变化动态匹配到对应的视图组件。状态管理容器集中存放跨组件共享的响应式数据。该容器中的状态改变必须由显式事务描述对象来完成。构建工具在开发阶段有模块热替换的功能。
1.3 MySQL数据库技术
MySQL使用关系模型作为数据组织的基本方式。数据库实例可以同时管理多个互相独立的模式对象集合。表结构是由列定义和约束条件一起形成的。每一行表示一个实体的所有属性。存储引擎层管理内存缓冲区和磁盘文件的读写。InnoDB引擎用B+树索引结构来加快数据检索操作。事务处理机制保证在并发环境下多个写操作具有原子性隔离性。锁管理器根据操作类型为事务分配行级或者表级锁定资源。日志模块记录数据变更之前的状态映像和提交后的持久化内容。复制拓扑中主库把二进制日志传送到从库节点来完成数据同步。SQL解析器把查询语句进行词法语法分析后生成执行计划。根据统计信息,选择代价最小的索引访问路径。查询缓存组件在某个版本中缓存完整的SELECT语句的结果集。账号权限系统对用户访问不同数据库对象的权限进行控制。管理员可以给求职用户表设置读、写权限的隔离策略。简历信息表的主键使用自增数字列来唯一标识。
1.4 MyBatis
MyBatis将应用程序代码和SQL字符串的大量手工拼接操作给消除了。该框架把SQL语句集中地配置在映射描述文件中。映射文件用命名空间来关联到某个数据操作接口。接口中每一个抽象方法对应映射文件中的一个独立标识符。方法调用的时候,框架动态生成代理实例完成参数解析、语句路由。参数对象的属性值用预编译占位符注入到要执行的SQL模板中。查询结果集经由反射机制自动填充至用户自定义的实体类型。结果映射规则可以对嵌套对象关联和集合类型属性进行填充。动态SQL组件根据传入参数的有无状态来组合条件片段。批量操作接口可以允许多条数据变更指令在一次网络往返中完成。缓存模块默认开启会话级结果复用功能,对相同的查询语句进行结果复用。二级缓存可以被多个会话使用来保存跨事务边界的数据快照。代码生成工具可以逆向分析数据表定义,自动生成对应的映射文件和实体类定义。框架不强制应用程序继承某个父类或者实现某个标记型接口。招聘岗位分类的树状结构数据用递归查询映射来完成。反馈结果记录的时间戳属性是由数据库端生成的,然后映射到实体对象的日期类型字段上。
第二章 系统分析
2.1 功能需求分析
求职用户在系统内执行招聘信息浏览操作。招聘信息查阅功能给用户展示企业发布的岗位详情。简历信息模块可以供用户创建自己的简历,填写教育经历、工作经历和技能标签,已经提交的简历可以进行修改。求职用户用例图如图3-1所示。
图3-1求职用户用例图
企业用户在系统里发布招聘信息。简历信息模块可以供企业查阅求职者投递的简历。反馈结果功能是企业对求职者面试评价或者录用结论进行填写。评论管理模块可以使得企业回复求职者对招聘岗位的提问或者留言。企业用户用例图如图3-2所示。
图3-2企业用户用例图
管理员对系统用户执行账户启用禁用和角色权限调整的操作。职位分类管理功能维护岗位所处的行业、职能类别层级结构。简历信息管理模块可以管理员审核求职者提交的简历内容,对违规信息进行下架处理。核查企业所填评价结论有无异常表述。系统管理模块配置平台的基本运行参数。资源管理功能上传发布招聘资讯、政策文件等非结构化内容,管理员用例图如图3-3所示。
图3-3管理员用例图
2.2 可行性分析
2.2.1 技术可行性
系统采用浏览器和服务器的交互式架构,用户端使用网页访问,服务端集中处理业务逻辑和数据存取。程序语言选用Java与JavaScript,两类语言在长期演进过程中形成稳定语言规范与成熟的编译器支持。后端采用SpringBoot框架开发,该框架对于Web开发常见的需求做了高度的封装,开发阶段可以快速搭建出可运行的应用原型。前端使用Vue框架完成用户界面的创建,该框架采用声明式渲染和组件化组织的方式。数据库采用的是MySQL社区版,支持多用户并发读写和事务完整性约束。开发环境采用IntelliJ IDEA和Visual Studio Code两种工具来完成编码调试,为目前高校普遍使用的开发环境。在校期间作者完成Java程序设计、数据库原理、Web前端开发三门课程的学习,课程实践过程中完整地完成了基于SpringBoot和Vue框架的小型项目开发过程,具有独立完成本系统编码和调试的能力。系统运行过程中注册用户量、岗位发布数量不断增加,数据库检索操作会遇到响应延迟的情况,可以创建索引对核心业务表进行优化,将高频访问但是低频变更的配置数据存入缓存中,从而减轻检索压力。用户密码在传输过程中使用哈希处理后存入数据库,防止明文存储造成的数据泄露。因此系统技术上是可行的。
2.2.2 操作可行性
求职用户长期使用招聘类网站、移动应用,对岗位检索、简历投递、资讯查阅等操作路径有先验认知。系统在页面布局上把职位列表放在中央区域,搜索框固定在顶部导航栏,简历填写采用分步引导的方式,用户进入页面之后不需要额外学习就可以完成主要的操作。企业用户日常通过各种企业管理系统处理业务,对于表单填写、数据查阅、状态修改等交互模式比较熟悉,系统提供的招聘信息录入界面和常用办公软件风格接近,填写字段按照业务逻辑分组排列,用户可以直接迁移已有操作经验。原来的招聘流程中企业通过邮箱接收简历文件,然后手动下载归档,系统上线后简历集中展示在同一个界面上,企业用户只需登录平台就可以查看所有的投递记录,操作环节减少,不需要切换工具。系统上线之后的目标是稳定运行,管理员通过后台监控页面观察用户反馈和异常日志,对故障模块进行功能修复和版本更新。因此系统从操作上讲是可行的。
2.2.3 经济可行性
项目的投入主要是需求分析、编码实现、功能测试三个人员成本。开发成员为作者本人,没有额外人员的薪酬支出。硬件运行环境采用作者个人计算机进行编码和调试,系统部署阶段使用校内实验室服务器或者公有云基础实例,公有云提供按需计费模式,前期投入可以控制在百元以内。软件开发工具IntelliJ IDEA社区版、Visual Studio Code、MySQL Community Server、JDK等核心组件均使用开源或者免费授权版本,不需要购买软件。项目总体资金需求限定在设备折旧和少量云资源消耗上,属于高校学生可以独立承担的范围。系统上线以后,通过给企业提供招聘信息置顶展示、简历刷新加速等增值服务可以获得持续性的收入,收入规模与平台活跃岗位数量正相关。增值服务定价参照同类招聘平台同类功能定价区间下限设置,企业用户付费意愿受可控支出额度影响具备转化基础。因此系统在经济上可行。
第三章 系统设计
3.1 系统架构设计
系统整体采用模块化组织方式,各个功能单元职责边界分明。用户通过浏览器访问前端界面,前端工程使用Vue框架构建,页面组件和路由配置在开发阶段已经声明。用户执行招聘资讯查阅、简历投递、反馈结果填写等操作时,浏览器通过Axios拦截器附加身份凭证,将请求异步发送到服务端接口。请求到达Spring Boot控制器层后,控制器根据URL映射把参数传递给对应的Service实现类。Service层主要处理岗位检索逻辑、简历与岗位匹配度计算、用户权限校验等业务规则。数据持久化由MySQL存储引擎完成,事务管理器保证简历投递、反馈结果更新等跨表写操作满足原子性要求。缓存抽象出高频读取的职位分类数据的临时存储位置,减小了重复查询造成的数据库轮询压力[17]。分层结构把界面展示、业务决策、数据存取三个关注点分开,局部修改不会引发整体连锁调整。系统整体结构如图4-1所示。
图4-1系统整体架构图
3.2 功能结构图
系统以求职用户、企业用户、系统管理员三类用户为核心,分为功能边界。求职用户模块包含招聘资讯检索、招聘信息查阅、简历信息维护这三个主要业务。企业用户模块集成招聘信息发布、投递简历查阅、反馈结果填写、评论管理四个操作。管理员后台包含系统用户账户管理、职位分类层级维护、全站简历信息审核、反馈结果合规核查、系统运行参数配置、招聘资讯及政策文件资源发布六个方面的功能范围。三类角色的功能集合就构成了平台的全部业务能力。该系统功能结构如图4-2所示。
图4-2系统功能结构图
3.3 流程图设计
3.3.1 总体业务流程图流程设计
系统总体业务流程是从求职用户和企业用户在平台完成注册开始的。求职用户登录之后编辑个人简历,浏览企业发布的招聘岗位。用户选择意向职位,执行简历投递操作,投递记录进入企业用户处理列表。企业用户登录系统发布招聘信息,查看投至本企业岗位的求职者简历。企业对于每一份简历填写的反馈评价,会推送给对应的求职用户。求职用户查阅反馈结果后可以对评价内容发表评论或者向管理员申诉。管理员登录后台审核企业资质和招聘信息的合规性,对反馈结论中出现的异常表述进行核查,对违规内容进行下架处理。总体业务流程图如图4-3所示。
图4-3系统总体业务流程图
3.3.2 招聘信息发布流程设计
企业用户进入招聘信息发布模块,填写岗位名称、招聘人数、学历要求、专业背景、薪资范围、工作地点、岗位职责和福利待遇。系统对必填字段进行空值校验,校验通过的岗位信息进入待审核状态。管理员登录后台查看待审核岗位列表,核对企业的资质文件和岗位描述的真实性。审核通过的招聘信息会出现在前端招聘列表页面中供求职者查看。审核不通过的信息返回给企业用户修改界面,并附上退回原因。企业用户根据退回意见修改之后重新提交审核。企业用户根据退回意见编辑后重新提交审核。招聘信息发布流程如图4-4所示。
图4-4招聘信息发布流程图
3.3.3 简历投递流程设计
求职用户登录系统之后,根据职位类别筛选或者关键词检索来定位意向岗位。用户点击岗位卡片进入详情页面,页面显示职位描述、任职要求、企业基本信息和已投递人数。用户确认岗位匹配度之后点击投递按钮。系统检测当前用户是否已经完成了简历的编辑,如果用户没有填写简历,则引导用户到简历填写页面。已经具备完整简历的用户直接进行投递操作,系统生成投递记录并更新岗位投递计数器。企业用户登录之后可以查看投递列表。简历投递流程如图4-5所示。
图4-5简历投递流程图
3.3.4 反馈结果填写流程设计
企业用户在简历查阅列表中选择待处理的投递记录,进入简历详情页。展示求职者教育经历、工作履历、技能标签、已上传的简历附件。企业用户根据岗位匹配度和面试表现来选择反馈结论,反馈结论分为已查阅、待面试、已录用、不匹配四种状态。系统校验反馈结论字段是否填写,未填写时提示用户补全。校验通过之后,将结论推送到求职用户的消息中心。企业用户对已经填写好的反馈记录支持状态变更修改,修改操作保留历史版本。反馈结果填写流程如图4-6所示。
图4-6反馈结果填写流程图
3.3.5 简历信息审核流程设计
求职用户提交简历之后系统就把简历状态设置成待审核。管理员登录后台进入简历信息管理模块,系统以列表形式展示所有的待审核简历记录。管理员逐份查看简历的内容,核对教育经历时间上的逻辑性、工作经历的真实性、技能标签的合规性。审核通过的简历状态为已通过并开放给企业用户查看。审核不通过的简历退回给求职用户编辑页面,退回时附带具体的修改意见。求职用户根据意见修正后重新提交审核。简历信息审核流程如图4-7所示。
图4-7简历信息审核流程图
3.4 数据库设计
关系型数据库使用二维表格结构来组织数据,利用行和列交叉定位的方式实现高效的存储和检索。实体完整性约束要求主键字段取值唯一且非空,参照完整性约束用外键来保证表间关联的一致性。规范化设计把属性项归到最适合的表结构里,消除数据冗余和更新异常。事务的原子性保证一组数据库操作全部提交或者全部回滚,隔离性防止并发事务相互干扰。本系统使用MySQL数据库来支撑用户档案、岗位信息、投递记录、评价结论等核心业务数据的持久化存取。
3.4.1 概念设计
企业用户实体主要包括企业名称、企业地址、企业资质、企业简介等属性。企业用户实体属性图如图4-8所示。
图4-8企业用户实体属性图
求职用户实体主要包括求职者姓名、求职者手机、最高学历、毕业院校等属性。求职用户实体属性图如图4-9所示。
图4-9求职用户实体属性图
招聘信息实体主要包括职位名称、职位类别、招聘人数、职位薪资、工作地点等属性。招聘信息实体属性图如图4-10所示。
图4-10招聘信息实体属性图
简历信息实体主要包括求职者姓名、教育经历、工作经历、简历文件等属性。简历信息实体属性图如图4-11所示。
图4-11简历信息实体属性图
反馈结果实体主要包括反馈结果、反馈内容等属性。反馈结果实体属性图如图4-12所示。
图4-12反馈结果实体属性图
职位分类实体主要包括职位类别等属性。职位分类实体属性图如图4-13所示。
图4-13职位分类实体属性图
系统用户实体主要包括用户名、昵称、密码、手机等属性。系统用户实体属性图如图4-14所示。
图4-14系统用户实体属性图
评论实体主要包括内容、昵称、回复评论等属性。评论实体属性图如图4-15所示。
图4-15评论实体属性图
文章实体主要包括标题、文章分类、正文、封面图等属性。文章实体属性图如图4-16所示。
图4-16文章实体属性图
通知记录实体主要包括标题、状态、内容等属性。通知记录实体属性图如图4-17所示。
图4-17通知记录实体属性图
3.4.2 E-R图设计
系统全局E-R图如图4-18所示。
图4-18系统E-R图
3.4.3 数据库表设计
企业用户表主要用于存储注册企业的工商信息与资质文件。主要包括企业名称、企业地址、企业资质、企业简介等字段。如表4-1所示。
表4-1企业用户表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | enterprise_users_id | int | 11 | 是 | 是 | 企业用户ID |
| 2 | name_of_enterprise | varchar | 64 | 是 | 否 | 企业名称 |
| 3 | enterprise_address | varchar | 64 | 否 | 否 | 企业地址 |
| 4 | enterprise_qualification | varchar | 255 | 否 | 否 | 企业资质 |
| 5 | enterprise_profile | text | 65535 | 否 | 否 | 企业简介 |
求职用户表主要用于存储求职者的个人身份与教育背景。主要包括求职者姓名、求职者手机、最高学历、毕业院校等字段。如表4-2所示。
表4-2求职用户表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | job_users_id | int | 11 | 是 | 是 | 求职用户ID |
| 2 | name_of_job_seeker | varchar | 64 | 否 | 否 | 求职者姓名 |
| 3 | job_seekers_phone | varchar | 16 | 是 | 否 | 求职者手机 |
| 4 | highest_degree | varchar | 64 | 否 | 否 | 最高学历 |
| 5 | graduate_school | varchar | 64 | 否 | 否 | 毕业院校 |
招聘信息表主要用于存储企业发布的岗位详情与招聘条件。主要包括职位名称、职位类别、招聘人数、职位薪资、工作地点等字段。如表4-3所示。
表4-3招聘信息表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | recruitment_information_id | int | 11 | 是 | 是 | 招聘信息ID |
| 2 | job_title | varchar | 64 | 否 | 否 | 职位名称 |
| 3 | position_category | varchar | 64 | 否 | 否 | 职位类别 |
| 4 | number_of_recruits | double | - | 否 | 否 | 招聘人数 |
| 5 | position_salary | varchar | 64 | 否 | 否 | 职位薪资 |
| 6 | place_of_work | varchar | 64 | 否 | 否 | 工作地点 |
简历信息表主要用于存储求职者提交的教育履历与工作经历。主要包括求职者姓名、教育经历、工作经历、简历文件等字段。如表4-4所示。
表4-4简历信息表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | resume_information_id | int | 11 | 是 | 是 | 简历信息ID |
| 2 | name_of_job_seeker | varchar | 64 | 否 | 否 | 求职者姓名 |
| 3 | education_experience | text | 65535 | 否 | 否 | 教育经历 |
| 4 | work_experience | text | 65535 | 否 | 否 | 工作经历 |
| 5 | resume_file | varchar | 255 | 否 | 否 | 简历文件 |
反馈结果表主要用于存储企业对求职者面试评价与录用结论。主要包括反馈结果、反馈内容等字段。如表4-5所示。
表4-5反馈结果表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | feedback_results_id | int | 11 | 是 | 是 | 反馈结果ID |
| 2 | feedback_results | varchar | 64 | 否 | 否 | 反馈结果 |
| 3 | feedback_content | text | 65535 | 否 | 否 | 反馈内容 |
职位分类表主要用于存储岗位所属行业与职能类别。主要包括职位类别等字段。如表4-6所示。
表4-6职位分类表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | position_class_nameification_id | int | 11 | 是 | 是 | 职位分类ID |
| 2 | position_category | varchar | 64 | 否 | 否 | 职位类别 |
系统用户表主要用于存储平台注册账户的登录凭证与基本资料。主要包括用户名、昵称、密码、手机等字段。如表4-7所示。
表4-7系统用户表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | user_id | int | 11 | 是 | 是 | 用户ID |
| 2 | username | varchar | 16 | 是 | 否 | 用户名 |
| 3 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 4 | password | varchar | 64 | 是 | 否 | 密码 |
| 5 | phone | varchar | 11 | 否 | 否 | 手机 |
评论表主要用于存储求职者与企业用户之间的互动留言。主要包括内容、昵称、回复评论等字段。如表4-8所示。
表4-8评论表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | comment_id | int | 11 | 是 | 是 | 评论ID |
| 2 | content | longtext | 4294967295 | 否 | 否 | 内容 |
| 3 | nickname | varchar | 255 | 否 | 否 | 昵称 |
| 4 | reply_to_id | int | 11 | 否 | 否 | 回复评论ID |
文章表主要用于存储平台发布的招聘资讯与政策文件。主要包括标题、文章分类、正文、封面图等字段。如表4-9所示。
表4-9文章表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | article_id | mediumint | 9 | 是 | 是 | 文章ID |
| 2 | title | varchar | 125 | 是 | 否 | 标题 |
| 3 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 4 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 5 | img | varchar | 255 | 否 | 否 | 封面图 |
通知记录表主要用于存储系统向用户推送的消息内容。主要包括标题、状态、内容等字段。如表4-10所示。
表4-10通知记录表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | inform_id | int | 11 | 是 | 是 | 通知ID |
| 2 | title | varchar | 255 | 否 | 否 | 标题 |
| 3 | state | varchar | 255 | 否 | 否 | 状态 |
| 4 | content | varchar | 255 | 否 | 否 | 内容 |
第四章 系统实现
4.1 求职用户功能实现
4.1.1 招聘资讯功能实现
用户在首页可以浏览招聘资讯列表。资讯条目按照发布时间倒序排列,标题下面显示资讯摘要和发布时间。用户点击任意一张资讯卡片进入详情页,页面全部显示正文内容、来源信息、相关标签。阅读过程中用户可以返回到列表页中继续查看其它资讯。招聘资讯界面如图5-1所示。
图5-1招聘资讯界面
4.1.2 招聘信息功能实现
用户进入招聘信息模块之后,系统就会加载出所有的审核通过的岗位卡片。卡片区域只显示职位名称、企业名称、薪资范围和工作地点四项主要信息。用户点击卡片跳转到岗位详情页,页面显示职位描述、任职要求、福利待遇、企业资质文件。详情页底部设置投递按钮供用户发起申请。招聘信息界面如图5-2所示。
图5-2招聘信息界面
4.1.3 简历信息功能实现
用户在简历模块中填写自己的教育经历、工作经历、项目经历和技能标签。表单使用分段布局,每完成一段信息的录入就自动保存到草稿状态。用户上传简历附件之后,系统会解析文件名并将之与当前简历相关联。已投递的岗位简历状态在列表页用标签来显示。简历信息界面如图5-3所示。
图5-3简历信息界面
4.2 企业用户功能实现
4.2.1 招聘信息功能实现
企业用户进入招聘信息模块可以查看本企业发布的全部岗位记录。职位名称、职位类别、招聘人数、审核状态列表页展示。用户点击添加按钮,进入岗位发布表单,填写岗位职责、任职条件、薪资待遇等信息后提交审核。已经发布的岗位下架操作,下架后不再对外展示。招聘信息界面如图5-4所示。
图5-4招聘信息界面
4.2.2 简历信息功能实现
企业用户在简历信息模块中查看投递到本企业岗位的求职者简历。列表页按照投递时间倒序排列,每条记录显示求职者姓名、所投职位、最高学历、投递时间。用户点击详情按钮进入简历详情页,简历详情页完整地显示教育经历、工作经历和附件下载入口。企业对于简历的筛选结果可以标记为待面试或者已阅。简历信息界面如图5-5所示。
图5-5简历信息界面
4.2.3 反馈结果功能实现
企业用户在反馈结果模块中填写自己对已经查阅过的简历的评价结论。表单中给出的已查阅、待面试、已录用、不匹配这四个选项。用户选定结论后可以补充反馈内容的文本,提交后系统会把评价信息推送到对应的求职用户的消息中心。历史反馈记录被长期保存在列表页里供企业查看。反馈结果界面如图5-6所示。
图5-6反馈结果界面
4.2.4 评论管理功能实现
企业用户可以查看求职者对于招聘岗位所提出的问题、留言等。评论内容、评论人昵称、评论时间三者并列排列。用户选中目标评论后在输入框中编辑回复内容,提交回复之后评论区域同步显示企业回复状态。用户可以对含有不当表述的评论发起举报操作。评论管理界面如图5-7所示。
图5-7评论管理界面
4.3 管理员功能实现
4.3.1 系统用户管理功能实现
管理员对系统用户管理模块所有注册账户的状态进行维护。列表页根据用户角色分组展示,管理员可以通过用户名或者手机号来检索目标账户。账户状态异常时管理员执行禁用操作,被禁用的账户不能登录系统。用户角色变更时管理员在编辑页面更改其所属用户组。系统用户管理界面如图5-8所示。
图5-8系统用户管理界面
4.3.2 职位分类管理功能实现
管理员进入职位分类管理模块维护岗位所属行业和职能类别层级。列表页用树形结构展示所有的分类节点,管理员可以新增分类并指定上一级分类。分类名称可以进行编辑修改,冗余分类选中之后执行删除操作。分类层级调整后招聘信息发布时职位类别下拉菜单也同步更新。职位分类管理界面如图5-9所示。
图5-9职位分类管理界面
4.3.3 简历信息管理功能实现
管理员在简历信息管理模块对求职者提交的简历信息进行审核。求职者姓名、投递职位、企业名称、提交时间等信息用列表形式展示。管理员点击审核按钮进入详情页,对教育经历时间逻辑、工作履历真实性进行核查。审核通过的简历状态变成已通过,审核不通过的记录退回至求职者编辑页面,加上修改意见。简历信息管理界面如图5-10所示。
图5-10简历信息管理界面
4.3.4 反馈结果管理功能实现
管理员进入反馈结果管理模块核对企业填写好的面试评价和录用结论。列表页展示所有的反馈记录,每条记录包括企业名称、职位名称、求职者姓名和反馈结论。管理员对于表述异常或者结论与事实不符的反馈进行复核,复核通过后反馈状态标记为已核查。求职者对反馈结果有异议的,可在申诉入口提交说明。反馈结果管理界面如图5-11所示。
图5-11反馈结果管理界面
4.3.5 系统管理功能实现
管理员在系统管理模块中配置平台的基础运行参数。轮播图管理子页面可以上传首页展示图片并设置跳转链接,已经上传的轮播图可以调整显示顺序或者执行下架操作。公告信息管理子页面用来发布平台通知,公告标题和正文编辑完成后提交后,在前端公告栏区域显示。系统管理界面如图5-12所示。
图5-12系统管理界面
4.3.6 资源管理功能实现
管理员进入资源管理模块发布招聘资讯和政策文件。资讯编辑页有标题输入框,富文本编辑器以及封面图上传组件。管理员选择资讯分类后提交内容,资讯在前端招聘资讯列表页按发布时间排序展示。已发布的资讯可以进行编辑、修改、下架操作。资源管理界面如图5-13所示。
图5-13资源管理界面
完整项目源码、论文参考、答辩 PPT 和演示视频已整理,关注博主后私信领取