计算机毕业设计 高校实习信息发布网站的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

news/2024/5/18 14:40:34 标签: java, 毕业设计, SpringBoot, Vue, 论文, 信息发布系统

🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》

目录

1.技术选型

2.数据库表结构

3.开发工具

4.功能

4.1【角色】

4.2【前台功能模块】

4.3【后台功能模块】

5.项目演示截图

5.1 前台登录

5.2 论坛

5.3 公告

5.4 企业

5.5 个人中心

5.6 实习申请

5.7 基础数据管理

5.8 简历管理

5.9 实习申请管理

5.10 就业分布统计报表

6.数据库文件设计

7.核心代码 

7.1 实习申请Controller

7.2 实习申请Service

7.3 实习申请ServiceImpl

7.4 实习申请DAO

8.参考文档


1.技术选型

springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8

2.数据库表结构

14张 

3.开发工具

idea、navicat

4.功能

4.1【角色】

管理员、用户

4.2【前台功能模块】

  • 登录注册
  • 首页
  • 论坛
  • 公告
  • 企业
  • 职位实习
  • 个人中心

4.3【后台功能模块】

  • 登录
  • 首页
  • 个人中心
  • 管理员管理
  • 基础数据管理
  • 论坛管理
  • 公告管理
  • 简历管理
  • 企业管理
  • 职位实习管理
  • 实习申请管理
  • 用户管理
  • 轮播图管理

5.项目演示截图

5.1 前台登录

5.2 论坛

 

5.3 公告

 

5.4 企业

 

5.5 个人中心

 

5.6 实习申请

 

5.7 基础数据管理

 

5.8 简历管理

 

5.9 实习申请管理

 

5.10 就业分布统计报表

 

6.数据库文件设计


CREATE TABLE `forum` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `forum_name` varchar(200) DEFAULT NULL COMMENT '帖子标题  Search111 ',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `qiye_id` int(11) DEFAULT NULL COMMENT '企业',
  `users_id` int(11) DEFAULT NULL COMMENT '管理员',
  `forum_content` longtext COMMENT '发布内容',
  `super_ids` int(11) DEFAULT NULL COMMENT '父id',
  `forum_types` int(11) DEFAULT NULL COMMENT '帖子类型  Search111 ',
  `forum_state_types` int(11) DEFAULT NULL COMMENT '帖子状态',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '发帖时间',
  `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show2',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='论坛';


CREATE TABLE `gonggao` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `gonggao_name` varchar(200) DEFAULT NULL COMMENT '公告名称 Search111  ',
  `gonggao_photo` varchar(200) DEFAULT NULL COMMENT '公告图片 ',
  `gonggao_types` int(11) NOT NULL COMMENT '公告类型 Search111 ',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '公告发布时间 ',
  `gonggao_content` text COMMENT '公告详情 ',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 nameShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='公告';



CREATE TABLE `jianli` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `jianli_uuid_number` varchar(200) DEFAULT NULL COMMENT '简历唯一编号 ',
  `jianli_name` varchar(200) DEFAULT NULL COMMENT '简历标题',
  `jianli_xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `jianli_types` int(11) DEFAULT NULL COMMENT '求职意向 Search111',
  `jianli_xinzi` varchar(200) DEFAULT NULL COMMENT '期望工资 Search111',
  `jianli_xueli` varchar(200) DEFAULT NULL COMMENT '学历 Search111',
  `jianli_jingli` varchar(200) DEFAULT NULL COMMENT '工作经历 Search111',
  `sex_types` int(11) DEFAULT NULL COMMENT '性别',
  `jianli_file` varchar(200) DEFAULT NULL COMMENT '简历文件',
  `jianli_phone` varchar(200) DEFAULT NULL COMMENT '手机号',
  `jianli_photo` varchar(200) DEFAULT NULL COMMENT '照片',
  `jianli_address` varchar(200) DEFAULT NULL COMMENT '现在位置',
  `jiaoyu_text` text COMMENT '教育经历',
  `shixi_text` text COMMENT '实习或工作经历',
  `geren_text` text COMMENT '个人介绍',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='简历';


CREATE TABLE `qiye` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `username` varchar(200) DEFAULT NULL COMMENT '账户 ',
  `password` varchar(200) DEFAULT NULL COMMENT '密码 ',
  `qiye_name` varchar(200) DEFAULT NULL COMMENT '企业名称 Search111 ',
  `qiye_types` int(11) DEFAULT NULL COMMENT '企业类型',
  `qiye_phone` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `qiye_email` varchar(200) DEFAULT NULL COMMENT '邮箱',
  `qiye_photo` varchar(200) DEFAULT NULL COMMENT '企业logo',
  `qiye_chenglishijian_time` timestamp NULL DEFAULT NULL COMMENT '企业成立时间',
  `qiye_content` text COMMENT '企业介绍',
  `qiye_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow ',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='企业';



CREATE TABLE `shixijilu` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `shixijilu_uuid_number` varchar(200) DEFAULT NULL COMMENT '实习记录编号 ',
  `shixijilu_name` varchar(200) DEFAULT NULL COMMENT '实习单位名称',
  `shixizhiwei_types` int(11) DEFAULT NULL COMMENT '实习职位 Search111',
  `danwei_address` varchar(200) DEFAULT NULL COMMENT '单位位置',
  `danwei_lianxiren` varchar(200) DEFAULT NULL COMMENT '联系人',
  `danwei_lianxi_phone` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `shixijilu_xinzi` decimal(10,2) DEFAULT NULL COMMENT '实习薪资',
  `shixijilu_kaishi_time` timestamp NULL DEFAULT NULL COMMENT '实习开始时间',
  `shixijilu_jieshu_time` timestamp NULL DEFAULT NULL COMMENT '实习结束时间',
  `shixijilu_content` text COMMENT '实习内容',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '上传时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='实习记录';


CREATE TABLE `shixizhiwei` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `qiye_id` int(11) DEFAULT NULL COMMENT '企业',
  `shixizhiwei_name` varchar(200) DEFAULT NULL COMMENT '实习信息名称  Search111 ',
  `shixizhiwei_photo` varchar(200) DEFAULT NULL COMMENT '实习信息照片',
  `shixizhiwei_daiyu` varchar(200) DEFAULT NULL COMMENT '薪资待遇',
  `shixizhiwei_address` varchar(200) DEFAULT NULL COMMENT '上班地点',
  `lianxiren_name` varchar(200) DEFAULT NULL COMMENT '联系人',
  `shixizhiwei_phone` varchar(200) DEFAULT NULL COMMENT '实习电话',
  `shixizhiwei_types` int(11) DEFAULT NULL COMMENT '实习职位 Search111',
  `shixizhiwei_renshu_number` int(11) DEFAULT NULL COMMENT '实习人数',
  `shangxia_types` int(11) DEFAULT NULL COMMENT '是否上架 ',
  `shixizhiwei_content` text COMMENT '实习信息详情',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='职位实习';


CREATE TABLE `shixizhiwei_collection` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `shixizhiwei_id` int(11) DEFAULT NULL COMMENT '职位',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `shixizhiwei_collection_types` int(11) DEFAULT NULL COMMENT '类型',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='职位收藏';



CREATE TABLE `shixizhiwei_liuyan` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `shixizhiwei_id` int(11) DEFAULT NULL COMMENT '职位',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `shixizhiwei_liuyan_text` text COMMENT '留言内容',
  `reply_text` text COMMENT '回复内容',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',
  `update_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='职位留言';


CREATE TABLE `shixizhiwei_toudi` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `jianli_id` int(11) DEFAULT NULL COMMENT '简历',
  `shixizhiwei_id` int(11) DEFAULT NULL COMMENT '实习',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '投递时间',
  `shixizhiwei_toudi_yesno_types` int(11) DEFAULT NULL COMMENT '审核状态 Search111',
  `shixizhiwei_toudi_yesno_text` text COMMENT '投递回复',
  `shixizhiwei_toudi_shenhe_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COMMENT='实习申请';



CREATE TABLE `token` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `userid` bigint(20) NOT NULL COMMENT '学生id',
  `username` varchar(100) NOT NULL COMMENT '学生名',
  `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
  `role` varchar(100) DEFAULT NULL COMMENT '角色',
  `token` varchar(200) NOT NULL COMMENT '密码',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='token表';


CREATE TABLE `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(100) NOT NULL COMMENT '学生名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员';



CREATE TABLE `yonghu` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(200) DEFAULT NULL COMMENT '账户',
  `password` varchar(200) DEFAULT NULL COMMENT '密码',
  `yonghu_name` varchar(200) DEFAULT NULL COMMENT '用户姓名 Search111 ',
  `yonghu_photo` varchar(255) DEFAULT NULL COMMENT '头像',
  `yonghu_phone` varchar(200) DEFAULT NULL COMMENT '用户手机号',
  `yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '用户身份证号 ',
  `yonghu_email` varchar(200) DEFAULT NULL COMMENT '邮箱',
  `sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111 ',
  `yonghu_delete` int(11) DEFAULT '1' COMMENT '假删',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户';

7.核心代码 

7.1 实习申请Controller

java">
package com.controller;

/**
 * 实习申请
 * 后端接口
 * @author 计算机编程-吉哥
 * @email
*/
@RestController
@Controller
@RequestMapping("/shixizhiweiToudi")
public class ShixizhiweiToudiController {
    private static final Logger logger = LoggerFactory.getLogger(ShixizhiweiToudiController.class);

    private static final String TABLE_NAME = "shixizhiweiToudi";

    @Autowired
    private ShixizhiweiToudiService shixizhiweiToudiService;


    @Autowired
    private TokenService tokenService;

    @Autowired
    private DictionaryService dictionaryService;//字典表
    @Autowired
    private ForumService forumService;//论坛
    @Autowired
    private GonggaoService gonggaoService;//公告
    @Autowired
    private JianliService jianliService;//简历
    @Autowired
    private QiyeService qiyeService;//企业
    @Autowired
    private ShixizhiweiService shixizhiweiService;//职位实习
    @Autowired
    private ShixizhiweiCollectionService shixizhiweiCollectionService;//职位收藏
    @Autowired
    private ShixizhiweiLiuyanService shixizhiweiLiuyanService;//职位留言
    @Autowired
    private YonghuService yonghuService;//用户
    @Autowired
    private UsersService usersService;//管理员


    /**
    * 后端列表
    */
    @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("qiyeId",request.getSession().getAttribute("userId"));
        CommonUtil.checkMap(params);
        PageUtils page = shixizhiweiToudiService.queryPage(params);

        //字典表数据转换
        List<ShixizhiweiToudiView> list =(List<ShixizhiweiToudiView>)page.getList();
        for(ShixizhiweiToudiView 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);
        ShixizhiweiToudiEntity shixizhiweiToudi = shixizhiweiToudiService.selectById(id);
        if(shixizhiweiToudi !=null){
            //entity转view
            ShixizhiweiToudiView view = new ShixizhiweiToudiView();
            BeanUtils.copyProperties( shixizhiweiToudi , view );//把实体数据重构到view中
            //级联表 简历
            //级联表
            JianliEntity jianli = jianliService.selectById(shixizhiweiToudi.getJianliId());
            if(jianli != null){
            BeanUtils.copyProperties( jianli , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表
            view.setJianliId(jianli.getId());
            }
            //级联表 职位实习
            //级联表
            ShixizhiweiEntity shixizhiwei = shixizhiweiService.selectById(shixizhiweiToudi.getShixizhiweiId());
            if(shixizhiwei != null){
            BeanUtils.copyProperties( shixizhiwei , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表
            view.setShixizhiweiId(shixizhiwei.getId());
            }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

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

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永远不会进入");

        Wrapper<ShixizhiweiToudiEntity> queryWrapper = new EntityWrapper<ShixizhiweiToudiEntity>()
            .eq("jianli_id", shixizhiweiToudi.getJianliId())
            .eq("shixizhiwei_id", shixizhiweiToudi.getShixizhiweiId())
            .in("shixizhiwei_toudi_yesno_types", new Integer[]{1,2})
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        ShixizhiweiToudiEntity shixizhiweiToudiEntity = shixizhiweiToudiService.selectOne(queryWrapper);
        if(shixizhiweiToudiEntity==null){
            shixizhiweiToudi.setInsertTime(new Date());
            shixizhiweiToudi.setShixizhiweiToudiYesnoTypes(1);
            shixizhiweiToudi.setCreateTime(new Date());
            shixizhiweiToudiService.insert(shixizhiweiToudi);
            return R.ok();
        }else {
            if(shixizhiweiToudiEntity.getShixizhiweiToudiYesnoTypes()==1)
                return R.error(511,"有相同的待审核的数据");
            else if(shixizhiweiToudiEntity.getShixizhiweiToudiYesnoTypes()==2)
                return R.error(511,"有相同的审核通过的数据");
            else
                return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody ShixizhiweiToudiEntity shixizhiweiToudi, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
        logger.debug("update方法:,,Controller:{},,shixizhiweiToudi:{}",this.getClass().getName(),shixizhiweiToudi.toString());
        ShixizhiweiToudiEntity oldShixizhiweiToudiEntity = shixizhiweiToudiService.selectById(shixizhiweiToudi.getId());//查询原先数据

        String role = String.valueOf(request.getSession().getAttribute("role"));
            shixizhiweiToudiService.updateById(shixizhiweiToudi);//根据id更新
            return R.ok();
    }


    /**
    * 审核
    */
    @RequestMapping("/shenhe")
    public R shenhe(@RequestBody ShixizhiweiToudiEntity shixizhiweiToudiEntity, HttpServletRequest request){
        logger.debug("shenhe方法:,,Controller:{},,shixizhiweiToudiEntity:{}",this.getClass().getName(),shixizhiweiToudiEntity.toString());

        ShixizhiweiToudiEntity oldShixizhiweiToudi = shixizhiweiToudiService.selectById(shixizhiweiToudiEntity.getId());//查询原先数据

        shixizhiweiToudiEntity.setShixizhiweiToudiShenheTime(new Date());//回复时间
        shixizhiweiToudiService.updateById(shixizhiweiToudiEntity);//审核

        return R.ok();
    }

    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids, HttpServletRequest request){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        List<ShixizhiweiToudiEntity> oldShixizhiweiToudiList =shixizhiweiToudiService.selectBatchIds(Arrays.asList(ids));//要删除的数据
        shixizhiweiToudiService.deleteBatchIds(Arrays.asList(ids));

        return R.ok();
    }


    /**
     * 批量上传
     */
    @RequestMapping("/batchInsert")
    public R save( String fileName, HttpServletRequest request){
        logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
        Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //.eq("time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
        try {
            List<ShixizhiweiToudiEntity> shixizhiweiToudiList = new ArrayList<>();//上传的东西
            Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
            Date date = new Date();
            int lastIndexOf = fileName.lastIndexOf(".");
            if(lastIndexOf == -1){
                return R.error(511,"该文件没有后缀");
            }else{
                String suffix = fileName.substring(lastIndexOf);
                if(!".xls".equals(suffix)){
                    return R.error(511,"只支持后缀为xls的excel文件");
                }else{
                    URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径
                    File file = new File(resource.getFile());
                    if(!file.exists()){
                        return R.error(511,"找不到上传文件,请联系管理员");
                    }else{
                        List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
                        dataList.remove(0);//删除第一行,因为第一行是提示
                        for(List<String> data:dataList){
                            //循环
                            ShixizhiweiToudiEntity shixizhiweiToudiEntity = new ShixizhiweiToudiEntity();
                            shixizhiweiToudiList.add(shixizhiweiToudiEntity);

                            //把要查询是否重复的字段放入map中
                        }

                        //查询是否重复
                        shixizhiweiToudiService.insertBatch(shixizhiweiToudiList);
                        return R.ok();
                    }
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            return R.error(511,"批量插入数据异常,请联系管理员");
        }
    }




    /**
    * 前端列表
    */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));

        CommonUtil.checkMap(params);
        PageUtils page = shixizhiweiToudiService.queryPage(params);

        //字典表数据转换
        List<ShixizhiweiToudiView> list =(List<ShixizhiweiToudiView>)page.getList();
        for(ShixizhiweiToudiView c:list)
            dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段

        return R.ok().put("data", page);
    }

    /**
    * 前端详情
    */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        ShixizhiweiToudiEntity shixizhiweiToudi = shixizhiweiToudiService.selectById(id);
            if(shixizhiweiToudi !=null){


                //entity转view
                ShixizhiweiToudiView view = new ShixizhiweiToudiView();
                BeanUtils.copyProperties( shixizhiweiToudi , view );//把实体数据重构到view中

                //级联表
                    JianliEntity jianli = jianliService.selectById(shixizhiweiToudi.getJianliId());
                if(jianli != null){
                    BeanUtils.copyProperties( jianli , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setJianliId(jianli.getId());
                }
                //级联表
                    ShixizhiweiEntity shixizhiwei = shixizhiweiService.selectById(shixizhiweiToudi.getShixizhiweiId());
                if(shixizhiwei != null){
                    BeanUtils.copyProperties( shixizhiwei , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setShixizhiweiId(shixizhiwei.getId());
                }
                //修改对应字典表字段
                dictionaryService.dictionaryConvert(view, request);
                return R.ok().put("data", view);
            }else {
                return R.error(511,"查不到数据");
            }
    }


    /**
    * 前端保存
    */
    @RequestMapping("/add")
    public R add(@RequestBody ShixizhiweiToudiEntity shixizhiweiToudi, HttpServletRequest request){
        logger.debug("add方法:,,Controller:{},,shixizhiweiToudi:{}",this.getClass().getName(),shixizhiweiToudi.toString());
        Wrapper<ShixizhiweiToudiEntity> queryWrapper = new EntityWrapper<ShixizhiweiToudiEntity>()
            .eq("jianli_id", shixizhiweiToudi.getJianliId())
            .eq("shixizhiwei_id", shixizhiweiToudi.getShixizhiweiId())
            .in("shixizhiwei_toudi_yesno_types", new Integer[]{1,2})
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        ShixizhiweiToudiEntity shixizhiweiToudiEntity = shixizhiweiToudiService.selectOne(queryWrapper);
        if(shixizhiweiToudiEntity==null){
            shixizhiweiToudi.setInsertTime(new Date());
            shixizhiweiToudi.setShixizhiweiToudiYesnoTypes(1);
            shixizhiweiToudi.setCreateTime(new Date());
        shixizhiweiToudiService.insert(shixizhiweiToudi);

            return R.ok();
        }else {
            if(shixizhiweiToudiEntity.getShixizhiweiToudiYesnoTypes()==1)
                return R.error(511,"您已经申请了该岗位的实习,请等待审核");
            else if(shixizhiweiToudiEntity.getShixizhiweiToudiYesnoTypes()==2)
                return R.error(511,"您已经通过了该岗位的实习,不能重复申请");
            else
                return R.error(511,"表中有相同数据");
        }
    }

}

7.2 实习申请Service

java">package com.service;

import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.ShixizhiweiToudiEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;

/**
 * 实习申请 服务类
 */
public interface ShixizhiweiToudiService extends IService<ShixizhiweiToudiEntity> {

    /**
    * @param params 查询参数
    * @return 带分页的查询出来的数据
    */
     PageUtils queryPage(Map<String, Object> params);

}

7.3 实习申请ServiceImpl

java">package com.service.impl;

/**
 * 实习申请 服务实现类
 */
@Service("shixizhiweiToudiService")
@Transactional
public class ShixizhiweiToudiServiceImpl extends ServiceImpl<ShixizhiweiToudiDao, ShixizhiweiToudiEntity> implements ShixizhiweiToudiService {

    @Override
    public PageUtils queryPage(Map<String,Object> params) {
        Page<ShixizhiweiToudiView> page =new Query<ShixizhiweiToudiView>(params).getPage();
        page.setRecords(baseMapper.selectListView(page,params));
        return new PageUtils(page);
    }


}

7.4 实习申请DAO

java">package com.dao;

import com.entity.ShixizhiweiToudiEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

import org.apache.ibatis.annotations.Param;
import com.entity.view.ShixizhiweiToudiView;

/**
 * 实习申请 Dao 接口
 *
 * @author 
 */
public interface ShixizhiweiToudiDao extends BaseMapper<ShixizhiweiToudiEntity> {

   List<ShixizhiweiToudiView> selectListView(Pagination page,@Param("params")Map<String,Object> params);

}

8.参考文档

 

你可能还有感兴趣的项目👇🏻👇🏻👇🏻

更多项目推荐:计算机毕业设计项目

如果大家有任何疑虑,请在下方咨询或评论


http://www.niftyadmin.cn/n/5089711.html

相关文章

使用UiPath和AA构建的解决方案 6. 完成RPA挑战

我们来到了本书的最后一个UiPath项目——RPA挑战。 该项目也是我们Automation Anywhere项目的开始,因为我们也将与A2019一起执行RPA挑战。 本RPA挑战章将向您介绍在表单中处理动态元素的概念。此挑战具有动态变化的字段,是尝试新获得的UiPath web自动化技能的一种有趣方式。…

Pytorch之MobileViT图像分类

文章目录 前言一、Transformer存在的问题二、MobileViT1.MobileViT网络结构&#x1f353; Vision Transformer结构&#x1f349;MobileViT结构 2.MV2(MobileNet v2 block)3.MobileViT block&#x1f947;Local representations&#x1f948;Transformers as Convolutions (glob…

Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载

另一个完全不同的redis图形化界面教程链接&#xff08;带安装包&#xff09;&#xff1a; https://blog.csdn.net/dream_ready/article/details/133817466 redis图形化界面的压缩包&#xff0c;直接解压缩即可&#xff0c;双击 Another Redis Desktop Manager.exe 即可打开 1、…

顺序表之(条条有注释助你吃透顺序表以及基于顺序表实现的通讯录)

顺序表 顺序表是线性表的一种&#xff0c;而线性表指的是具有相同特性的一类数据结构的统称&#xff0c;这些相同特性即在逻辑结构&#xff08;人为想象&#xff09;上一定是线性的&#xff0c;在物理结构&#xff08;内存存储中&#xff09;上不一定是线性的 顺序表的底层结构…

java springboot通过EnableConfigurationProperties全局声明bean并处理装配

Spring Boot中 我们想条件装配一个类 首先 我们要声明他的bean 而 EnableConfigurationProperties 可以直接将 要全局声明的类绑定在 属性类中 例如 我们随便创建一个类 就叫 textData 吧 参考代码如下 package com.example.webdom.domain;import org.springframework.boot.co…

【神印王座】悲啸洞穴中隐藏的人有多强?实力不如魔神皇,靠一绝招魔神皇都怕

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 神印王座动漫现在已经更到龙皓晨等人深入魔族地界抵达悲啸洞穴的阶段。而刚到悲啸洞穴龙皓晨等人就被悲啸声所阻&#xff0c;龙皓晨生怕队友进入其中后有人会死亡&#xff0c;所以决定自己一个人进去探索。而小…

【Linux】常用命令

目录 文件解压缩服务器文件互传scprsync 进程资源网络curl发送简单get请求发送 POST 请求发送 JSON 数据保存响应到文件 文件 ls,打印当前目录下所有文件和目录; ls -l,打印每个文件的基本信息 pwd,查看当前目录的路径 查看文件 catless&#xff1a;可以左右滚动阅读more :翻…

区块链(11):java区块链项目之页面部分实现

addPeer.html <!DOCTYPE html> <html> <head><meta charset="utf-8"> <title>java区块链</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="styles…