基于SpringBoot+Vue的大学生就业需求分析管理系统设计与实现毕设(文档+源码)

        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的大学生就业需求分析管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb  SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。 

一、项目介绍

        信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的大学生就业需求分析系统实现了字典管理、公司管理、简历管理、简历投递管理、学生就业信息管理、邀请面试管理、用户管理、招聘信息管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让大学生就业需求分析系统更能从理念走到现实,确确实实的让人们提升信息处理效率。

关键信息管理,时效性,安全性,MySql

二、开发环境

开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue

三、功能介绍

        管理员管理学生就业信息的数据,主要实现学生就业信息的增加、修改、删除、查看的功能。招聘信息管理页面提供的功能操作有:新增招聘,修改招聘,删除招聘操作。招聘岗位类型管理页面显示所有招聘岗位类型,在此页面既可以让管理员添加新的招聘信息类型,也能对已有的招聘岗位类型信息执行编辑更新,失效的招聘岗位类型信息也能让管理员快速删除。

四、核心代码

/**
 * 学生就业信息
 * 后端接口
 * @author
 * @email
*/
@RestController
@Controller
@RequestMapping("/xueshengjiuye")
public class XueshengjiuyeController {
    private static final Logger logger = LoggerFactory.getLogger(XueshengjiuyeController.class);

    @Autowired
    private XueshengjiuyeService xueshengjiuyeService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;

    //级联表service
    @Autowired
    private YonghuService yonghuService;

    @Autowired
    private GongsiService gongsiService;


    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("学生".equals(role))
            params.put("yonghuId",request.getSession().getAttribute("userId"));
        else if("公司".equals(role))
            params.put("gongsiId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = xueshengjiuyeService.queryPage(params);

        //字典表数据转换
        List<XueshengjiuyeView> list =(List<XueshengjiuyeView>)page.getList();
        for(XueshengjiuyeView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        XueshengjiuyeEntity xueshengjiuye = xueshengjiuyeService.selectById(id);
        if(xueshengjiuye !=null){
            //entity转view
            XueshengjiuyeView view = new XueshengjiuyeView();
            BeanUtils.copyProperties( xueshengjiuye , view );//把实体数据重构到view中

                //级联表
                YonghuEntity yonghu = yonghuService.selectById(xueshengjiuye.getYonghuId());
                if(yonghu != null){
                    BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setYonghuId(yonghu.getId());
                }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody XueshengjiuyeEntity xueshengjiuye, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,xueshengjiuye:{}",this.getClass().getName(),xueshengjiuye.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永远不会进入");
        else if("学生".equals(role))
            xueshengjiuye.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

        Wrapper<XueshengjiuyeEntity> queryWrapper = new EntityWrapper<XueshengjiuyeEntity>()
            .eq("yonghu_id", xueshengjiuye.getYonghuId())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        XueshengjiuyeEntity xueshengjiuyeEntity = xueshengjiuyeService.selectOne(queryWrapper);
        if(xueshengjiuyeEntity==null){
            xueshengjiuye.setInsertTime(new Date());
            xueshengjiuye.setCreateTime(new Date());
            xueshengjiuyeService.insert(xueshengjiuye);
            return R.ok();
        }else {
            return R.error(511,"该学生已有就业信息");
        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody XueshengjiuyeEntity xueshengjiuye, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,xueshengjiuye:{}",this.getClass().getName(),xueshengjiuye.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("学生".equals(role))
//            xueshengjiuye.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
        //根据字段查询是否有相同数据
        Wrapper<XueshengjiuyeEntity> queryWrapper = new EntityWrapper<XueshengjiuyeEntity>()
            .notIn("id",xueshengjiuye.getId())
            .andNew()
            .eq("yonghu_id", xueshengjiuye.getYonghuId())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        XueshengjiuyeEntity xueshengjiuyeEntity = xueshengjiuyeService.selectOne(queryWrapper);
        if(xueshengjiuyeEntity==null){
            xueshengjiuyeService.updateById(xueshengjiuye);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"该学生已有就业信息");
        }
    }



    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        xueshengjiuyeService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

}

五、效果图

六、源码获取:

👇🏻获取联系方式在文章末尾👇🏻
有需要的伙伴可以点击下方名片,与我联系哦~
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值