源码获取:俺的博客首页 "资源" 里下载!
项目介绍
基于springboot Vue毕业生信息招聘平台
角色:管理员、企业、毕业生三种角色
毕业生:用户系统,在系统首页可以查看首页,空中宣讲会,招聘岗位查看,求职信息查看,论坛信息查看,试卷列表,招聘咨讯、个人中心等内容
企业:企业登录系统后,可以对首页,个人中心,空中宣讲会管理、招聘岗位管理、信息咨询管理、岗位应聘管理、线上面试管理、面试回复管理、试卷管理、试题管理、考试管理等
管理员:管理员登录进入毕业生信息招聘平台可以查看首页、个人中心、企业管理、空中宣讲会管理、招聘岗位管理、毕业生管理、个人简历管理、求职信息管理、信息咨询管理、岗位应聘管理、线上面试管理、面试回复管理、试卷管理、试题管理、管理员管理、论坛管理、系统管理、考试管理等内容
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Vue+ElementUI+Layui+HTML+CSS+JS
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 前台地址:http://localhost:8080/springbootan251/front/index.html 后台地址:http://localhost:8080/springbootan251/admin/dist/index.html#/login 管理员: abo/abo 企业:000/000 毕业生:001/001
企业架构图例子:
文档介绍:
首页展示:
岗位介绍:
论坛信息页面展示:
咨询信息展示:
毕业生角色注册页面:
登录页面:
毕业生角色后台用户信息查看:
管理员后台信息管理:
用户管理控制层:
/**
* 后端用户管理控制器
*
*/
@RequestMapping("/admin/user")
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private ResumeService resumeService;
@Autowired
private WorkExperienceService workExperienceService;
@Autowired
private WorkShowService workShowService;
@Autowired
private ProjectExperienceService projectExperienceService;
@Autowired
private ExpectWorkService expectWorkService;
@Autowired
private EducationBackgroundService educationBackgroundService;
@Autowired
private CompanyService companyService;
@Autowired
private PositionService PositionService;
/**
* 后台用户管理信息页面
* @param model
* @return
*/
@RequestMapping(value="/user_info",method=RequestMethod.GET)
public String myInfo(Model model){
return "admin/admin/user_info";
}
/**
* 后台用户信息列表
* @param request
* @param page
* @return
*/
@RequestMapping(value="/user_info_list",method=RequestMethod.POST)
@ResponseBody
public Map
Map
List
ret.put("rows", findAllUserList);
ret.put("total", userService.total());
return ret;
}
/**
* 删除用户
* @param id
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result
User user = userService.find(id);
try {
if(user.getType() == 1) {
//如果用户身份是招聘者
Company findCompany = companyService.findByUserId(id);
if(findCompany != null) {
//删除该用户认证的公司下所有简历
List
for(Resume resume : findResumeList) {
resumeService.delete(resume.getId());
}
//删除该用户认证的公司下所有职位
List
for(Position position : findPositionList) {
PositionService.delete(position.getId());
}
//删除该用户所属公司
companyService.delete(findCompany.getId());
}
}
if(user.getType() == 0) {
//如果用户身份是应聘者
//删除该用户的所有简历
List
for(Resume resume : findResume) {
resumeService.delete(resume.getId());
}
//删除该用户的工作经验
WorkExperience findWorkExperience = workExperienceService.findWorkExperienceByUserId(id);
if(findWorkExperience != null) {
workExperienceService.delete(findWorkExperience.getId());
}
//删除该用户的作品展示
WorkShow findWorkShow = workShowService.findWorkShowByUserId(id);
if(findWorkShow != null) {
workShowService.delete(findWorkShow.getId());
}
//删除该用户的项目经验
ProjectExperience findProjectExperience = projectExperienceService.findProjectExperienceByUserId(id);
if(findProjectExperience != null) {
projectExperienceService.delete(findProjectExperience.getId());
}
//删除该用户的期望工作
ExpectWork findExpectWork = expectWorkService.findExpectWorkByUserId(id);
if(findExpectWork != null) {
expectWorkService.delete(findExpectWork.getId());
}
//删除该用户的教育背景
EducationBackground findEducationBackground = educationBackgroundService.findEducationBackgroundByUserId(id);
if(findEducationBackground != null) {
educationBackgroundService.delete(findEducationBackground.getId());
}
}
//最后删除该用户
userService.delete(id);
}catch(Exception e){
e.printStackTrace();
return Result.error(CodeMsg.FOREIGN_KEY_RESTRAIN);
}
return Result.success(true);
}
}
管理员控制类:
/**
* 管理员控制类
*
*/
@RequestMapping("/admin/admin")
@Controller
public class AdminController {
@Autowired
private AdminService adminService;
@Autowired
private OperaterLogService operaterLogService;
/**
* 后台管理员管理
* @param model
* @return
*/
@RequestMapping(value="/my_info",method=RequestMethod.GET)
public String myInfo(Model model){
return "admin/admin/my_info";
}
/**
* 后台管理员信息列表
* @param request
* @param page
* @return
*/
@RequestMapping(value="/my_info_list",method=RequestMethod.POST)
@ResponseBody
public Map
Map
Admin admin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
List
ret.put("rows", findList);
ret.put("total", 1);
return ret;
}
/**
* 管理员信息修改处理
* @param admin
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result
{
if(admin == null)
{
return Result.error(CodeMsg.DATA_ERROR);
}
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(admin);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
//判断有无接收到对应管理员的id
if(admin.getId() == null || admin.getId().longValue() <= 0)
{
return Result.error(CodeMsg.USER_EDIT_ID_EMPTY);
}
Admin findAdmin = adminService.find(admin.getId());
//将提交的管理员信息指定字段复制到已存在的admin对象findAdmin中,该方法会覆盖新字段内容
BeanUtils.copyProperties(admin, findAdmin, "id","createTime","updateTime");
//进行修改操作
if(adminService.save(findAdmin) == null)
{
return Result.error(CodeMsg.USER_EDIT_ERROR);
}
//添加操作日志
OperaterLog operaterLog = new OperaterLog();
operaterLog.setOperator("【"+findAdmin.getAdminName()+"】:");
operaterLog.setContent("修改了管理员信息:【"+findAdmin+"】。");
operaterLogService.save(operaterLog);
return Result.success(true);
}
}
公司管理控制层:
/**
*后端公司管理控制器
*
*/
@RequestMapping("/admin/company")
@Controller
public class CompanyController {
@Autowired
private CompanyService companyService;
@Autowired
private ResumeService resumeService;
@Autowired
private PositionService positionService;
/**
* 后台公司管理信息页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public String list(Model model){
return "admin/company/list";
}
/**
* 获取后台公司信息列表
* @param request
* @param page
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map
Map
if(!StringUtil.isEmpty(state)) {
//如果state不为空
List
ret.put("rows", findCompanyList);
ret.put("total", companyService.getCompanyTotal(state));
}else {
//如果state为空
List
ret.put("rows", findAllCompanyList);
ret.put("total", companyService.total());
}
return ret;
}
/**
* 改变公司状态
* @param request
* @param page
* @return
*/
@RequestMapping(value="/change_state",method=RequestMethod.POST)
@ResponseBody
public Result
if(company == null) {
return Result.error(CodeMsg.DATA_ERROR);
}
Company findCompany = companyService.find(company.getId());
findCompany.setState(company.getState());
if(companyService.save(findCompany) == null) {
return Result.error(CodeMsg.COMPANY_CHANGE_STATE_ERROR);
}
return Result.success(true);
}
/**
*删除公司
* @param request
* @param page
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result
try {
List
//先删除该公司所有的简历
for(Resume resume : findResumeList) {
resumeService.delete(resume.getId());
}
//再删除该公司所有职位
List
for(Position position : findPositionList) {
positionService.delete(position.getId());
}
//最后删除公司
companyService.delete(id);
}catch(Exception e) {
e.printStackTrace();
return Result.error(CodeMsg.FOREIGN_KEY_RESTRAIN);
}
return Result.success(true);
}
}
源码获取:俺的博客首页 "资源" 里下载!
参考阅读
发表评论