SpringBoot高校毕业生就业信息管理系统 附带详细运行指导视频

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SpringBoot框架开发的高校毕业生就业信息管理系统项目。首先,这是一个响应式的项目,代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个高校毕业生就业信息管理系统该有的所有功能。

项目功能:该项目分为学生辅导员管理员三个角色。学生角色用户的功能:登录、浏览辅导员信息和管理员信息、浏览学院信息、浏览宣讲会信息和企业招聘信息、管理个人的就业考研考公创业信息、浏览公告信息、修改个人信息等等功能。辅导员角色用户有登录、管理学生信息的功能、管理宣讲会信息和企业招聘信息、管理所有学生就业考研考公创业信息、管理公告信息等等功能。管理员角色用户除了有前面所有功能外,还有管理辅导员信息的功能等等。

应用技术:SpringBoot + MyBatis + Thymeleaf + Bootstrap + MySQL

运行环境:Eclipse/IntelliJ IDEA(项目压缩包中自带) + MySQL5.7(项目压缩包中自带) + Maven3.6.3(项目压缩包中自带) + JDK1.8(项目压缩包中自带)

三、运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、主要代码

1.登录业务逻辑代码:

   /**
    * 用户登录操作
    * @param userDTO
    * @return
    */
   @Override
   public ResponseDTO<Boolean> login(UserDTO userDTO, HttpServletRequest request) {
       if(userDTO == null) {
           return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);
       }
       if(CommonUtil.isEmpty(userDTO.getNo())) {
           return ResponseDTO.errorByMsg(CodeMsg.NO_EMPTY);
       }
       if(CommonUtil.isEmpty(userDTO.getPassword())) {
           return ResponseDTO.errorByMsg(CodeMsg.PASSWORD_EMPTY);
       }
       UserExample userExample = new UserExample();
       userExample.createCriteria()
               .andNoEqualTo(userDTO.getNo())
               .andPasswordEqualTo(userDTO.getPassword())
               .andRoleIdEqualTo(userDTO.getRoleId());
       List<User> userList = userMapper.selectByExample(userExample);
       if(userList.size() == 0) {
           return ResponseDTO.errorByMsg(CodeMsg.USERNAME_PASSWORD_ERROR);
       }
       request.getSession().setAttribute(SessionConstant.SESSION_LOGIN_KEY, userList.get(0));

       return ResponseDTO.successByMsg(true, "登录成功!");
   }

2.用户添加修改业务逻辑代码:

 /**
  * 保存用户信息
  * @param userDTO
  * @return
  */
 @Override
 public ResponseDTO<Boolean> save(UserDTO userDTO) {
     if(userDTO == null) {
         return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);
     }
     // 进行统一表单验证
     CodeMsg validate = ValidateEntityUtil.validate(userDTO);
     if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {
         return ResponseDTO.errorByMsg(validate);
     }
     College college = new College();
     if(!RoleEnum.ADMIN.getCode().equals(userDTO.getRoleId())) {
         // 判断输入的学院是否存在
         college = collegeMapper.selectByPrimaryKey(userDTO.getCollegeId());
         if(college == null) {
             return ResponseDTO.errorByMsg(CodeMsg.COLLEGE_NOT_EXIST);
         }
     }
     User user = CopyUtil.copy(userDTO, User.class);
     if(CommonUtil.isEmpty(user.getId())){
         // 添加操作
         // 判断学号学工号是否存在
         if(isNoExist(user, "")){
             return ResponseDTO.errorByMsg(CodeMsg.NO_EXIST);
         }
         user.setId(UuidUtil.getShortUuid());
         if(userMapper.insertSelective(user) == 0){
             return ResponseDTO.errorByMsg(CodeMsg.USER_ADD_ERROR);
         }
         if(RoleEnum.STUDENT.getCode().equals(user.getRoleId())) {
             // 更新学院班级人数
             college.setNum(college.getNum() + 1);
             collegeMapper.updateByPrimaryKeySelective(college);
         }
     }else {
         // 修改操作
         // 判断学号学工号是否存在
         if(isNoExist(user, user.getId())){
             return ResponseDTO.errorByMsg(CodeMsg.NO_EXIST);
         }
         User preStudent = userMapper.selectByPrimaryKey(user.getId());
         College preCollege = collegeMapper.selectByPrimaryKey(preStudent.getCollegeId());
         if(userMapper.updateByPrimaryKeySelective(user) == 0){
             return ResponseDTO.errorByMsg(CodeMsg.USER_EDIT_ERROR);
         }
         if(RoleEnum.STUDENT.getCode().equals(user.getRoleId()) && preCollege != null) {
             // 更新学院班级人数
             preCollege.setNum(preCollege.getNum() - 1);
             collegeMapper.updateByPrimaryKeySelective(preCollege);
             college.setNum(college.getNum() + 1);
             collegeMapper.updateByPrimaryKeySelective(college);
         }

     }
     return ResponseDTO.success(true);
 }

3.统计近五年就业数和就业率:

 /**
  * 获取近五年就业数和就业率
  * @return
  */
 @Override
 public ResponseDTO<Map<String, Object>> statusByFiveYear() {
     Map<String, Object> responseMap = new HashMap<>();
     Calendar calendar = Calendar.getInstance();
     int year = calendar.get(Calendar.YEAR);
     List<Integer> yearList = new ArrayList<>();
     List<Integer> employmentList = new ArrayList<>();
     List<BigDecimal> rateList = new ArrayList<>();
     for(int i=4; i>=0; i--) {
         yearList.add(year - i);
         UserExample userExample = new UserExample();
         UserExample.Criteria criteria = userExample.createCriteria();
         criteria.andRoleIdEqualTo(RoleEnum.STUDENT.getCode());
         criteria.andGraduateYearEqualTo(year-i);
         Integer userTotal = userMapper.countByExample(userExample);
         criteria.andDirectionEqualTo(DirectionEnum.EMPLOYMENT.getCode());
         Integer employmentTotal = userMapper.countByExample(userExample);
         rateList.add(userTotal != 0 ? BigDecimal.valueOf(((double)employmentTotal/userTotal)*100).setScale(2, RoundingMode.HALF_UP) : new BigDecimal(0));
         employmentList.add(employmentTotal);
     }
     responseMap.put("yearList", yearList);
     responseMap.put("rateList", rateList);
     responseMap.put("employmentList", employmentList);

     return ResponseDTO.success(responseMap);
 }
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
------------------------------------------------------------------------------ 高校毕业生就业信息管理系统v1.0项目介绍。 ----------------------------------------------------------------------------- 项目所用到的技术 1、maven 的分模块管理 2、Spring +hibernate + Springmvc 3、poi文件导入和导出 4、js 采用jquery 5、 树采用z-tree 6、文件上传,uploaify 7、ajax,dwr 8.弹窗、dialog使用jquery easyui 9.ajax 文件上传。 10.ajax局部刷新页面 11.ifream布局。 12.html和css布局。 ---------------------------------------------------------------------------------- 1、maven的分模块管理 -- basic-basic-common -- 公共工具模块 -- basic-hibernate 封装基本对数据库的操作 -- graempinf-core --model,dao 核心实体类和dao -- graempinf-user -- 用户管理 user,role,group service -- graempinf-student -- 学生信息管理管理 (学生信息、就业信息、生源地信息 维护和管理) -- graempinf-channel -- 菜单管理 -- graempinf-careerfair -- 招聘会信息 -- graempinf-web ---web集成 -- graempinf-org 组织机构 -- graempinf-question 问题反馈模块 -- graempinf-->parent 所有模块的父模块 -------------------------------------------------------------------------------- 2、角色权限模型 RBAC Role Base Access control --实体 张三 Role 角色 本系统角色 --系统管理员(admin) -- 拥有所有最高权限 --学生(student) -- 学生信息完善 --就业信息完善 --生源地信息完善 --招聘会信息查看 --问题反馈 --就业材料查询 --招聘会预约查询 --反馈答复查看 --教师(teacher) --毕业生信息管理 --生源地信息管理 --就业信息管理 --招聘会信息管理 --招聘会信息管理 --招聘会信息查看 --招聘会预约情况查看 --问题反馈 --处理学生反馈的问题 Group 组 -- 管理员 -- 教师 -- 学生 --------------------------------------------------- 模块介绍 --------------------------------------------------- 3、m1 系统配置 -- 用户管理 添加用户、修改用户、删除用户。 -- 角色管理 增删改查 --用户组管理 增删改查+用户管理模块查看+管理模块设置 --组织机构管理 增删改查 --在线用户查看 查看在线用户信息查看 --------------------------------------------------- 4、m2 毕业生信息管理 --------------------------------------------------- --毕业生信息管理 --毕业生信息管理 --生源地信息管理 --就业信息管理 --学生生信息完善 --就业信息完善 --生源地信息完善 --------------------------------------------------- 5、m3 菜单信息管理 -------------------------------------------------- --菜单管理 曾删改查 --------------------------------------------------- 6、m4 招聘会信息管理 --------------------------------------------------- --招聘会信息管理 --添加招聘会信息 --修改 --发布 --取消发布 --删除 -查询 --招聘会预约情况查看 --分类统计每个招聘会的预约情况 --招聘会信息预约 --预约、参加、取消预约 --------------------------------------------------- 7、m5 反馈问题信息管理 --------------------------------------------------- --问题反馈 -- 学生反馈问题 --反馈问题查看 --答复反馈的问题 --------------------------------------------------- 7、m6 信息查询 --------------------------------------------------- --就业材料查询 --查看上传的就业材料 --招聘会预约查询 --已预约招聘会信息查看 --反馈问题答复查询 --反馈问题答复查看 --------------------------------------------------- 部署方式: 1、首先搭建maven环境。 2、新建MySQL数据库名为:graempinf。 3、执行脚本中的文件初始化数据。 4、导入本项目到有maven的myeclipse中。 5、在Tomcat中发布项目即可访问。 6、默认用户名admin 密码1 。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这里是杨杨吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值