——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SpringBoot人才求职招聘管理系统(java+springboot+freemarker+jpa+mysql+maven)
项目介绍
基于SpringBoot框架开发的求职招聘管理系统。 本项目分三种角色:管理员、招聘人员、求职者。 用户可以以两种身份注册登录,一种是求职者,另一种是招聘者。 求职者可以浏览查询公司信息、职位信息,并且可以填写自己的简历,然后给自己心仪的职位投递简历。招聘者可以填写自己公司的信息,然后进行认证申请, 申请通过后,就可以进行发布职位,接收求职者投递来简历,并且进行审核和通知。 除此之外,该项目还附带后台管理功能,管理员可以登录后台管系统,进行职位类别添加、管理用户信息、通过审核来更改公司、职位的状态等。 项目功能:注册(引入邮箱验证码功能)、登录、修改密码、按条件查询、填写我的简历、填写公司信息、投递简历、发布职位、接收简历等等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7版本; 5.是否Maven项目:是;
技术栈
SpringBoot + FreeMarker + JPA
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application-dev.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,项目运行成功后,在浏览器中输入网址: http://localhost:8082/home/index/index 访问的是网站首页面 http://localhost:8082/admin/system/login 访问的是后台管理页面
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| if("effective".equals(findById.getState()) || "wait".equals(findById.getState())) { position.setState("wait"); }else if("out".equals(findById.getState())) { position.setState("out"); } BeanUtils.copyProperties(position, findById, "id","createTime","updateTime","number"); if(positionService.save(findById) == null) { return Result.error(CodeMsg.POSITION_SAVE_ERROR); } if("effective".equals(findById.getState()) || "wait".equals(findById.getState())) { return Result.error(url_way_one); }else{ return Result.error(url_way_two); } }else { position.setState("wait"); if(positionService.save(position) == null) { return Result.error(CodeMsg.POSITION_SAVE_ERROR); } return Result.error(url_way_one); }
}
@RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result<Boolean> deletePosition(@RequestParam(name="id",required=true)Long id) { try { List<Resume> findByPositionId = resumeService.findByPositionId(id); for(Resume resume : findByPositionId) { resumeService.delete(resume.getId()); } positionService.delete(id); }catch(Exception e) { e.printStackTrace(); return Result.error(CodeMsg.POSITION_SAVE_ERROR);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| * 删除简历 * @param request * @return */ @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result<Boolean> delete(HttpServletRequest request,@RequestParam(name="id",required=true)Long id) { try { resumeService.delete(id); }catch(Exception e) { return Result.error(CodeMsg.RESUME_DELETE_ERROR); } return Result.success(true); }
@RequestMapping(value="/submit_resume",method=RequestMethod.POST) @ResponseBody public Result<Boolean> submitResume(HttpServletRequest request,@RequestParam(name="id",required=true)Long id) { User user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY); WorkExperience workExperience = workExperienceService.findWorkExperienceByUserId(user.getId()); ProjectExperience projectExperience = projectExperienceService.findProjectExperienceByUserId(user.getId()); EducationBackground educationBackground = educationBackgroundService.findEducationBackgroundByUserId(user.getId()); if(workExperience != null && projectExperience != null && educationBackground != null) { Position findById = positionService.findById(id); Resume resume = new Resume(); resume.setPosition(findById); Resume findByPositionIdAndUserId = resumeService.findByPositionIdAndUserId(user.getId(), findById.getId()); if(findByPositionIdAndUserId != null) { return Result.error(CodeMsg.RESUME_ALREADY_SUBMIT); }else { resume.setUser(user); resume.setCompany(findById.getCompany()); resume.setState("wait"); resumeService.save(resume); findById.setNumber(findById.getNumber()+1); positionService.save(findById); } }else { return Result.error(CodeMsg.RESUME_WRITE_NOT_COMPLETE);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
@RequestMapping(value="/save",method=RequestMethod.POST) @ResponseBody public Result<Boolean> saveUserForm(User user,HttpServletRequest request) { if(user == null){ return Result.error(CodeMsg.DATA_ERROR); } if(StringUtil.isEmpty(user.getUsername())) { return Result.error(CodeMsg.USER_NAME_EMPTY); } if(StringUtil.isEmpty(user.getMobile())) { return Result.error(CodeMsg.USER_MOBILE_EMPTY); } if(user.getMobile().length() != 11) { return Result.error(CodeMsg.USER_MOBILE_NOT_CORRECT); } User session_user = (User) request.getSession().getAttribute("user"); User findById = userService.find(session_user.getId()); if(checkUsername(user,findById.getId())){ return Result.error(CodeMsg.USER_NAME_ALREADY_EXIST); } BeanUtils.copyProperties(user, findById, "id","createTime","updateTime","content","type","email","password"); findById.setUpdateTime(new Date()); if(userService.save(findById) == null){ return Result.error(CodeMsg.USER_SAVE_ERROR); } request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, userService.find(session_user.getId())); return Result.success(true); }
@RequestMapping(value="/save_self_description",method=RequestMethod.POST) @ResponseBody public Result<Boolean> saveSelfDescription(String content,HttpServletRequest request) { User session_user = (User) request.getSession().getAttribute("user"); session_user.setContent(content); session_user.setUpdateTime(new Date()); if(userService.save(session_user) == null){ return Result.error(CodeMsg.USER_SAVE_SELF_DESCRIPTION_ERROR);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public Result<Boolean> submitResume(HttpServletRequest request,@RequestParam(name="id",required=true)Long id) { User user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY); WorkExperience workExperience = workExperienceService.findWorkExperienceByUserId(user.getId()); ProjectExperience projectExperience = projectExperienceService.findProjectExperienceByUserId(user.getId()); EducationBackground educationBackground = educationBackgroundService.findEducationBackgroundByUserId(user.getId()); if(workExperience != null && projectExperience != null && educationBackground != null) { Position findById = positionService.findById(id); Resume resume = new Resume(); resume.setPosition(findById); Resume findByPositionIdAndUserId = resumeService.findByPositionIdAndUserId(user.getId(), findById.getId()); if(findByPositionIdAndUserId != null) { return Result.error(CodeMsg.RESUME_ALREADY_SUBMIT); }else { resume.setUser(user); resume.setCompany(findById.getCompany()); resume.setState("wait"); resumeService.save(resume); findById.setNumber(findById.getNumber()+1); positionService.save(findById); } }else { return Result.error(CodeMsg.RESUME_WRITE_NOT_COMPLETE); } return Result.success(true); }
@RequestMapping(value="/save_expect_work",method=RequestMethod.POST) @ResponseBody public Result<Boolean> saveExpectWorkForm(ExpectWork expectWork,HttpServletRequest request) { if(expectWork == null){ return Result.error(CodeMsg.DATA_ERROR); } User session_user = (User) request.getSession().getAttribute("user");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| if(findCompany == null) { return Result.error(CodeMsg.COMPANY_NAME_AND_VALUE_PRIORITY); }else { if("".equals(company.getIntroduction())){ company.setIntroduction(null); } company.setState("待审核"); BeanUtils.copyProperties(company, findCompany, "id","createTime","updateTime","tags","user","name","value","photo","productPhoto","productTitle","productContent","locale","territory","scale","url","finance","founderName","founderPosition","founderPhoto"); if(companyService.save(findCompany) == null){ return Result.error(CodeMsg.COMPANY_INTRODUCTION_SAVE_ERROR); } } return Result.success(true); }
@RequestMapping(value="/save_company_basic",method=RequestMethod.POST) @ResponseBody public Result<Boolean> saveCompanyBasic(Company company,HttpServletRequest request) { if(company == null){ return Result.error(CodeMsg.DATA_ERROR); } if(StringUtil.isEmpty(company.getLocale())) { return Result.error(CodeMsg.COMPANY_LOCALE_EMPTY); } if(StringUtil.isEmpty(company.getTerritory())) { return Result.error(CodeMsg.COMPANY_TERRITORY_EMPTY); } if(StringUtil.isEmpty(company.getScale())) { return Result.error(CodeMsg.COMPANY_SCALE_EMPTY); } if(StringUtil.isEmpty(company.getUrl())) { return Result.error(CodeMsg.COMPANY_URL_EMPTY); } User session_user = (User) request.getSession().getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY); Company findCompany = companyService.findByUserId(session_user.getId()); if(findCompany == null) {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
@RequestMapping("/admin/position") @Controller public class PositionController {
@Autowired private PositionService positionService;
@RequestMapping(value="/list",method=RequestMethod.GET) public String list(Model model){ return "admin/position/list"; }
@RequestMapping(value="/list",method=RequestMethod.POST) @ResponseBody public Map<String, Object> list(@RequestParam(name="state",required=false,defaultValue="") String state,Page page){ Map<String, Object> ret = new HashMap<String, Object>(); if(!StringUtil.isEmpty(state)) { List<Position> findPositionList = positionService.findPositionList(state, page.getOffset(), page.getRows()); ret.put("rows", findPositionList); ret.put("total", positionService.getPositionTotal(state)); }else { List<Position> findAllPositionList = positionService.findAllPositionList(page.getOffset(), page.getRows()); ret.put("rows", findAllPositionList); ret.put("total", positionService.total()); } return ret; }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=511122512008200nh
https://javayms.pages.dev?id=511122512008200nh