计算机毕业设计 基于SpringBoot的高校宣讲会管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌

目录

1、项目介绍及开发技术

1.1 项目介绍

1.2 开发技术

2、系统功能设计结构图

3、功能截图

3.1 前台功能

3.2 后台功能

4、数据库表结构设计

5、关键代码

5.1 宣讲会Controller模块 

5.2 宣讲会Service模块 

5.3 宣讲会ServiceImpl模块

5.4 宣讲会Dao模块

6、论文目录结构

7、源码获取


1、项目介绍及开发技术

1.1 项目介绍

传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装高校宣讲会管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,高校宣讲会管理系统的有效运用可以帮助管理人员准确快速地处理信息。

高校宣讲会管理系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现高校宣讲会管理系统的功能。其中管理员管理用户,新闻公告。

高校宣讲会管理系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,高校宣讲会管理系统都可以轻松应对。

1.2 开发技术

Java开发语言、SpringBoot、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。

2、系统功能设计结构图

3、功能截图

3.1 前台功能

登录

首页

论坛:用户可以在这里浏览和发布帖子。

企业:用户在这里可以看到各个企业的介绍以及联系方式并进行搜索。

公告信息:用户在这里可以看到各个公告信息并进行搜索。

宣讲会:用户可以在该模块下浏览以及搜索相关的宣讲会并进行报名预约。

个人中心

3.2 后台功能

学生信息:管理员可以对学生信息的进行查询管理,可以删除学生信息、修改学生信息、新增学生信息等。

 企业信息管理:管理员可以查看已发布的企业信息数据,修改企业信息,企业信息作废,即可删除,还进行了对企业信息名称的模糊查询 企业信息信息的类型查询等等一些条件。

宣讲会管理:管理员根据宣讲会进行条件查询,还可以对宣讲会进行新增、修改、查询操作等等。

公告信息管理: 管理员可以根据公告信息进行新增、修改、查询操作等等。

4、数据库表结构设计

/*
SQLyog Ultimate v11.3 (64 bit)
MySQL - 5.7.32-log : Database - gaoxiaoxuanjianghuiguanli
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`gaoxiaoxuanjianghuiguanli` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `gaoxiaoxuanjianghuiguanli`;/*Table structure for table `config` */DROP TABLE IF EXISTS `config`;CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) DEFAULT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';/*Data for the table `config` */insert  into `config`(`id`,`name`,`value`) values (1,'轮播图1','upload/config1.jpg'),(2,'轮播图2','upload/config2.jpg'),(3,'轮播图3','upload/config3.jpg');/*Table structure for table `dangqianqingkuang` */DROP TABLE IF EXISTS `dangqianqingkuang`;CREATE TABLE `dangqianqingkuang` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',`dangqianqingkuang_types` int(11) DEFAULT NULL COMMENT '就业状态 Search111',`dangqianqingkuang_text` longtext COMMENT '备注',`insert_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='就业情况';/*Data for the table `dangqianqingkuang` */insert  into `dangqianqingkuang`(`id`,`yonghu_id`,`dangqianqingkuang_types`,`dangqianqingkuang_text`,`insert_time`,`create_time`) values (1,1,1,'备注1','2023-03-21 11:53:52','2023-03-21 11:53:52'),(2,3,2,'备注2','2023-03-21 11:53:52','2023-03-21 11:53:52'),(3,1,2,'备注3','2023-03-21 11:53:52','2023-03-21 11:53:52'),(4,3,1,'备注4','2023-03-21 11:53:52','2023-03-21 11:53:52'),(5,2,1,'备注5','2023-03-21 11:53:52','2023-03-21 11:53:52'),(6,3,1,'备注6','2023-03-21 11:53:52','2023-03-21 11:53:52'),(7,2,2,'备注7','2023-03-21 11:53:52','2023-03-21 11:53:52'),(8,3,1,'备注8','2023-03-21 11:53:52','2023-03-21 11:53:52'),(9,1,1,'备注9','2023-03-21 11:53:52','2023-03-21 11:53:52'),(10,3,1,'备注10','2023-03-21 11:53:52','2023-03-21 11:53:52'),(11,1,1,'备注11','2023-03-21 11:53:52','2023-03-21 11:53:52'),(12,2,1,'备注12','2023-03-21 11:53:52','2023-03-21 11:53:52'),(13,2,2,'备注13','2023-03-21 11:53:52','2023-03-21 11:53:52'),(14,1,2,'备注14','2023-03-21 11:53:52','2023-03-21 11:53:52'),(15,1,2,'123123123','2023-03-21 15:28:46','2023-03-21 15:28:46');/*Table structure for table `dictionary` */DROP TABLE IF EXISTS `dictionary`;CREATE TABLE `dictionary` (`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`dic_code` varchar(200) DEFAULT NULL COMMENT '字段',`dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',`code_index` int(11) DEFAULT NULL COMMENT '编码',`index_name` varchar(200) DEFAULT NULL COMMENT '编码名字  Search111 ',`super_id` int(11) DEFAULT NULL COMMENT '父字段id',`beizhu` varchar(200) DEFAULT NULL COMMENT '备注',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COMMENT='字典表';/*Data for the table `dictionary` */insert  into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`beizhu`,`create_time`) values (20,'sex_types','性别',1,'男',NULL,NULL,'2023-03-21 11:53:20'),(21,'sex_types','性别',2,'女',NULL,NULL,'2023-03-21 11:53:20'),(22,'news_types','公告信息类型',1,'公告信息类型1',NULL,NULL,'2023-03-21 11:53:20'),(23,'news_types','公告信息类型',2,'公告信息类型2',NULL,NULL,'2023-03-21 11:53:20'),(24,'news_types','公告信息类型',3,'公告信息类型3',NULL,NULL,'2023-03-21 11:53:20'),(25,'zhuanye_types','专业',1,'专业1',NULL,NULL,'2023-03-21 11:53:20'),(26,'zhuanye_types','专业',2,'专业2',NULL,NULL,'2023-03-21 11:53:20'),(27,'zhuanye_types','专业',3,'专业3',NULL,NULL,'2023-03-21 11:53:20'),(28,'xueyuan_types','学院',1,'学院1',NULL,NULL,'2023-03-21 11:53:20'),(29,'xueyuan_types','学院',2,'学院2',NULL,NULL,'2023-03-21 11:53:20'),(30,'xueyuan_types','学院',3,'学院3',NULL,NULL,'2023-03-21 11:53:20'),(31,'gongsi_types','企业类型',1,'企业类型1',NULL,NULL,'2023-03-21 11:53:20'),(32,'gongsi_types','企业类型',2,'企业类型2',NULL,NULL,'2023-03-21 11:53:20'),(33,'gongsi_types','企业类型',3,'企业类型3',NULL,NULL,'2023-03-21 11:53:20'),(34,'xuanjianghui_types','宣讲会类型',1,'宣讲会类型1',NULL,NULL,'2023-03-21 11:53:20'),(35,'xuanjianghui_types','宣讲会类型',2,'宣讲会类型2',NULL,NULL,'2023-03-21 11:53:20'),(36,'xuanjianghui_types','宣讲会类型',3,'宣讲会类型3',NULL,NULL,'2023-03-21 11:53:20'),(37,'xianxia_types','线下面试',1,'是',NULL,NULL,'2023-03-21 11:53:20'),(38,'xianxia_types','线下面试',2,'否',NULL,NULL,'2023-03-21 11:53:21'),(39,'xuanjianghui_yesno_types','审核状态',1,'待审核',NULL,NULL,'2023-03-21 11:53:21'),(40,'xuanjianghui_yesno_types','审核状态',2,'同意',NULL,NULL,'2023-03-21 11:53:21'),(41,'xuanjianghui_yesno_types','审核状态',3,'拒绝',NULL,NULL,'2023-03-21 11:53:21'),(42,'xuanjianghui_collection_types','收藏表类型',1,'收藏',NULL,NULL,'2023-03-21 11:53:21'),(43,'dangqianqingkuang_types','就业状态',1,'已就业',NULL,NULL,'2023-03-21 11:53:21'),(44,'dangqianqingkuang_types','就业状态',2,'未就业',NULL,NULL,'2023-03-21 11:53:21'),(45,'forum_state_types','帖子状态',1,'发帖',NULL,NULL,'2023-03-21 11:53:21'),(46,'forum_state_types','帖子状态',2,'回帖',NULL,NULL,'2023-03-21 11:53:21');/*Table structure for table `forum` */DROP TABLE IF EXISTS `forum`;CREATE TABLE `forum` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`forum_name` varchar(200) DEFAULT NULL COMMENT '帖子标题  Search111 ',`gongsi_id` int(11) DEFAULT NULL COMMENT '企业',`yonghu_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_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=18 DEFAULT CHARSET=utf8 COMMENT='论坛';/*Data for the table `forum` */insert  into `forum`(`id`,`forum_name`,`gongsi_id`,`yonghu_id`,`users_id`,`forum_content`,`super_ids`,`forum_state_types`,`insert_time`,`update_time`,`create_time`) values (1,'帖子标题1',NULL,1,NULL,'发布内容1',387,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(2,'帖子标题2',NULL,3,NULL,'发布内容2',114,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(3,'帖子标题3',NULL,1,NULL,'发布内容3',159,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(4,'帖子标题4',NULL,2,NULL,'发布内容4',195,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(5,'帖子标题5',NULL,3,NULL,'发布内容5',474,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(6,'帖子标题6',NULL,1,NULL,'发布内容6',280,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(7,'帖子标题7',NULL,1,NULL,'发布内容7',237,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(8,'帖子标题8',NULL,3,NULL,'发布内容8',422,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(9,'帖子标题9',NULL,3,NULL,'发布内容9',471,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(10,'帖子标题10',NULL,1,NULL,'发布内容10',422,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(11,'帖子标题11',NULL,1,NULL,'发布内容11',367,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(12,'帖子标题12',NULL,3,NULL,'发布内容12',7,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(13,'帖子标题13',NULL,1,NULL,'发布内容13',197,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(14,'帖子标题14',NULL,3,NULL,'发布内容14',208,1,'2023-03-21 11:53:52','2023-03-21 11:53:52','2023-03-21 11:53:52'),(15,NULL,NULL,1,NULL,'123123',14,2,'2023-03-21 15:28:02',NULL,'2023-03-21 15:28:02'),(16,NULL,1,NULL,NULL,'1213212',14,2,'2023-03-21 15:29:48',NULL,'2023-03-21 15:29:48'),(17,NULL,NULL,NULL,1,'1111111111',14,2,'2023-03-21 15:32:07',NULL,'2023-03-21 15:32:07');/*Table structure for table `gongsi` */DROP TABLE IF EXISTS `gongsi`;CREATE TABLE `gongsi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`username` varchar(200) DEFAULT NULL COMMENT '账户 ',`password` varchar(200) DEFAULT NULL COMMENT '密码 ',`gongsi_name` varchar(200) DEFAULT NULL COMMENT '企业名称 Search111 ',`gongsi_types` int(11) DEFAULT NULL COMMENT '企业类型',`gongsi_phone` varchar(200) DEFAULT NULL COMMENT '联系方式',`gongsi_email` varchar(200) DEFAULT NULL COMMENT '邮箱',`gongsi_photo` varchar(200) DEFAULT NULL COMMENT '企业封面',`gongsi_content` longtext COMMENT '企业简介 ',`gongsi_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='企业';/*Data for the table `gongsi` */insert  into `gongsi`(`id`,`username`,`password`,`gongsi_name`,`gongsi_types`,`gongsi_phone`,`gongsi_email`,`gongsi_photo`,`gongsi_content`,`gongsi_delete`,`create_time`) values (1,'a1','123456','企业名称1',3,'17703786901','1@qq.com','upload/gongsi1.jpg','企业简介1',1,'2023-03-21 11:53:52'),(2,'a2','123456','企业名称2',1,'17703786902','2@qq.com','upload/gongsi2.jpg','企业简介2',1,'2023-03-21 11:53:52'),(3,'a3','123456','企业名称3',2,'17703786903','3@qq.com','upload/gongsi3.jpg','企业简介3',1,'2023-03-21 11:53:52');/*Table structure for table `news` */DROP TABLE IF EXISTS `news`;CREATE TABLE `news` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`news_name` varchar(200) DEFAULT NULL COMMENT '公告信息标题  Search111 ',`news_types` int(11) DEFAULT NULL COMMENT '公告信息类型  Search111 ',`news_photo` varchar(200) DEFAULT NULL COMMENT '公告信息图片',`insert_time` timestamp NULL DEFAULT NULL COMMENT '公告信息时间',`news_content` longtext COMMENT '公告信息详情',`news_delete` int(11) DEFAULT '1' COMMENT '假删',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 nameShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='公告信息';/*Data for the table `news` */insert  into `news`(`id`,`news_name`,`news_types`,`news_photo`,`insert_time`,`news_content`,`news_delete`,`create_time`) values (1,'公告信息标题1',3,'upload/news1.jpg','2023-03-21 11:53:52','公告信息详情1',1,'2023-03-21 11:53:52'),(2,'公告信息标题2',1,'upload/news2.jpg','2023-03-21 11:53:52','公告信息详情2',1,'2023-03-21 11:53:52'),(3,'公告信息标题3',2,'upload/news3.jpg','2023-03-21 11:53:52','公告信息详情3',1,'2023-03-21 11:53:52'),(4,'公告信息标题4',1,'upload/news4.jpg','2023-03-21 11:53:52','公告信息详情4',1,'2023-03-21 11:53:52'),(5,'公告信息标题5',2,'upload/news5.jpg','2023-03-21 11:53:52','公告信息详情5',1,'2023-03-21 11:53:52'),(6,'公告信息标题6',3,'upload/news6.jpg','2023-03-21 11:53:52','公告信息详情6',1,'2023-03-21 11:53:52'),(7,'公告信息标题7',3,'upload/news7.jpg','2023-03-21 11:53:52','公告信息详情7',1,'2023-03-21 11:53:52'),(8,'公告信息标题8',3,'upload/news8.jpg','2023-03-21 11:53:52','公告信息详情8',1,'2023-03-21 11:53:52'),(9,'公告信息标题9',1,'upload/news9.jpg','2023-03-21 11:53:52','公告信息详情9',1,'2023-03-21 11:53:52'),(10,'公告信息标题10',1,'upload/news10.jpg','2023-03-21 11:53:52','公告信息详情10',1,'2023-03-21 11:53:52'),(11,'公告信息标题11',3,'upload/news11.jpg','2023-03-21 11:53:52','公告信息详情11',1,'2023-03-21 11:53:52'),(12,'公告信息标题12',2,'upload/news12.jpg','2023-03-21 11:53:52','公告信息详情12',1,'2023-03-21 11:53:52'),(13,'公告信息标题13',2,'upload/news13.jpg','2023-03-21 11:53:52','公告信息详情13',1,'2023-03-21 11:53:52'),(14,'公告信息标题14',2,'upload/news14.jpg','2023-03-21 11:53:52','公告信息详情14',1,'2023-03-21 11:53:52');/*Table structure for table `token` */DROP TABLE IF EXISTS `token`;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表';/*Data for the table `token` */insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,4,'123','yonghu','学生','pya4p8y482rwfgxojt4bxvtwyrarf63f','2023-03-21 13:09:58','2023-03-21 14:09:59'),(2,1,'a1','yonghu','学生','8ixk9x5mdlxip4d5jxgu5z69c9r7h1rx','2023-03-21 13:10:37','2023-03-21 16:27:45'),(3,1,'admin','users','管理员','m4wx576u121oyqg4vsyxvnzwftlvytdm','2023-03-21 13:15:29','2023-03-21 16:33:45'),(4,1,'a1','gongsi','企业','p71dubqfgzne92no0pw02u2d2c8fhjlt','2023-03-21 15:28:55','2023-03-21 16:28:55');/*Table structure for table `users` */DROP TABLE IF EXISTS `users`;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='管理员';/*Data for the table `users` */insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2023-03-21 11:53:20');/*Table structure for table `xuanjianghui` */DROP TABLE IF EXISTS `xuanjianghui`;CREATE TABLE `xuanjianghui` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`gongsi_id` int(11) DEFAULT NULL COMMENT '企业',`xuanjianghui_name` varchar(200) DEFAULT NULL COMMENT '宣讲会标题  Search111 ',`xuanjianghui_photo` varchar(200) DEFAULT NULL COMMENT '宣讲会封面',`xuanjianghui_daiyu` varchar(200) DEFAULT NULL COMMENT '企业资质',`xuanjianghui_types` int(11) DEFAULT NULL COMMENT '宣讲会类型 Search111',`zhuanye_types` int(11) DEFAULT NULL COMMENT '专业 Search111',`xuanjianghui_gangwei` varchar(200) DEFAULT NULL COMMENT '招聘岗位 ',`xuanjianghui_renshu_number` int(11) DEFAULT NULL COMMENT '招聘人数',`xuanjianghui_time` timestamp NULL DEFAULT NULL COMMENT '宣讲时间',`xianxia_types` int(11) DEFAULT NULL COMMENT '线下面试 Search111',`xuanjianghui_content` longtext COMMENT '宣讲会详情',`xuanjianghui_yesno_types` int(11) DEFAULT NULL COMMENT '审核状态 Search111 ',`xuanjianghui_yesno_text` longtext COMMENT '审核回复',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='宣讲会';/*Data for the table `xuanjianghui` */insert  into `xuanjianghui`(`id`,`gongsi_id`,`xuanjianghui_name`,`xuanjianghui_photo`,`xuanjianghui_daiyu`,`xuanjianghui_types`,`zhuanye_types`,`xuanjianghui_gangwei`,`xuanjianghui_renshu_number`,`xuanjianghui_time`,`xianxia_types`,`xuanjianghui_content`,`xuanjianghui_yesno_types`,`xuanjianghui_yesno_text`,`create_time`) values (1,2,'宣讲会标题1','upload/xuanjianghui1.jpg','企业资质1',2,1,'招聘岗位1',195,'2023-03-21 11:53:52',2,'宣讲会详情1',2,'同意','2023-03-21 11:53:52'),(2,3,'宣讲会标题2','upload/xuanjianghui2.jpg','企业资质2',1,1,'招聘岗位2',464,'2023-03-21 11:53:52',2,'宣讲会详情2',2,'同意','2023-03-21 11:53:52'),(3,2,'宣讲会标题3','upload/xuanjianghui3.jpg','企业资质3',2,3,'招聘岗位3',232,'2023-03-21 11:53:52',2,'宣讲会详情3',2,'同意','2023-03-21 11:53:52'),(4,1,'宣讲会标题4','upload/xuanjianghui4.jpg','企业资质4',3,3,'招聘岗位4',74,'2023-03-21 11:53:52',2,'宣讲会详情4',2,'同意','2023-03-21 11:53:52'),(5,2,'宣讲会标题5','upload/xuanjianghui5.jpg','企业资质5',2,3,'招聘岗位5',322,'2023-03-21 11:53:52',1,'宣讲会详情5',2,'同意','2023-03-21 11:53:52'),(6,3,'宣讲会标题6','upload/xuanjianghui6.jpg','企业资质6',1,2,'招聘岗位6',68,'2023-03-21 11:53:52',2,'宣讲会详情6',2,'同意','2023-03-21 11:53:52'),(7,2,'宣讲会标题7','upload/xuanjianghui7.jpg','企业资质7',1,3,'招聘岗位7',201,'2023-03-21 11:53:52',2,'宣讲会详情7',2,'同意','2023-03-21 11:53:52'),(8,2,'宣讲会标题8','upload/xuanjianghui1.jpg','企业资质8',3,3,'招聘岗位8',172,'2023-03-21 11:53:52',2,'宣讲会详情8',2,'同意','2023-03-21 11:53:52'),(9,3,'宣讲会标题9','upload/xuanjianghui2.jpg','企业资质9',2,3,'招聘岗位9',473,'2023-03-21 11:53:52',1,'宣讲会详情9',1,NULL,'2023-03-21 11:53:52'),(10,1,'宣讲会标题10','upload/xuanjianghui3.jpg','企业资质10',3,3,'招聘岗位10',51,'2023-03-21 11:53:52',1,'宣讲会详情10',1,NULL,'2023-03-21 11:53:52'),(11,1,'宣讲会标题11','upload/xuanjianghui4.jpg','企业资质11',2,2,'招聘岗位11',64,'2023-03-21 11:53:52',1,'宣讲会详情11',1,NULL,'2023-03-21 11:53:52'),(12,3,'宣讲会标题12','upload/xuanjianghui5.jpg','企业资质12',3,2,'招聘岗位12',158,'2023-03-21 11:53:52',1,'宣讲会详情12',1,NULL,'2023-03-21 11:53:52'),(13,2,'宣讲会标题13','upload/xuanjianghui6.jpg','企业资质13',2,1,'招聘岗位13',19,'2023-03-21 11:53:52',1,'宣讲会详情13',1,NULL,'2023-03-21 11:53:52'),(14,2,'宣讲会标题14','upload/xuanjianghui7.jpg','企业资质14',1,3,'招聘岗位14',495,'2023-03-21 11:53:52',2,'宣讲会详情14',1,NULL,'2023-03-21 11:53:52'),(15,1,'申请宣讲会1111','/upload/1679383756491.jpg','123',3,3,'123',123,'2023-03-23 00:00:00',1,'<p>123</p>',2,'12','2023-03-21 15:29:26');/*Table structure for table `xuanjianghui_collection` */DROP TABLE IF EXISTS `xuanjianghui_collection`;CREATE TABLE `xuanjianghui_collection` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`xuanjianghui_id` int(11) DEFAULT NULL COMMENT '宣讲会',`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',`xuanjianghui_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=17 DEFAULT CHARSET=utf8 COMMENT='宣讲会收藏';/*Data for the table `xuanjianghui_collection` */insert  into `xuanjianghui_collection`(`id`,`xuanjianghui_id`,`yonghu_id`,`xuanjianghui_collection_types`,`insert_time`,`create_time`) values (1,1,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(2,2,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(3,3,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(4,4,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(5,5,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(6,6,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(9,9,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(10,10,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(11,11,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(12,12,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(13,13,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(14,14,3,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(16,8,1,1,'2023-03-21 15:28:35','2023-03-21 15:28:35');/*Table structure for table `xuanjianghui_yuyue` */DROP TABLE IF EXISTS `xuanjianghui_yuyue`;CREATE TABLE `xuanjianghui_yuyue` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`xuanjianghui_yuyue_uuid_number` varchar(200) DEFAULT NULL COMMENT '报名编号 Search111 ',`xuanjianghui_id` int(11) DEFAULT NULL COMMENT '宣讲会',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`insert_time` timestamp NULL DEFAULT NULL COMMENT '报名时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COMMENT='宣讲会报名';/*Data for the table `xuanjianghui_yuyue` */insert  into `xuanjianghui_yuyue`(`id`,`xuanjianghui_yuyue_uuid_number`,`xuanjianghui_id`,`yonghu_id`,`insert_time`,`create_time`) values (1,'1679370832132',1,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(2,'1679370832100',2,1,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(3,'1679370832076',3,3,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(4,'1679370832111',4,3,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(5,'1679370832123',5,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(6,'1679370832141',6,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(7,'1679370832130',7,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(8,'1679370832124',8,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(10,'1679370832139',10,3,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(11,'1679370832109',11,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(12,'1679370832089',12,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(13,'1679370832099',13,2,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(14,'1679370832045',14,3,'2023-03-21 11:53:52','2023-03-21 11:53:52'),(19,'1679383666214',7,1,'2023-03-21 15:27:46','2023-03-21 15:27:46');/*Table structure for table `yonghu` */DROP TABLE IF EXISTS `yonghu`;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 ',`xueyuan_types` int(11) DEFAULT NULL COMMENT '学院 Search111 ',`zhuanye_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='学生';/*Data for the table `yonghu` */insert  into `yonghu`(`id`,`username`,`password`,`yonghu_name`,`yonghu_photo`,`yonghu_phone`,`yonghu_id_number`,`yonghu_email`,`sex_types`,`xueyuan_types`,`zhuanye_types`,`yonghu_delete`,`create_time`) values (1,'a1','123456','学生姓名1','upload/yonghu1.jpg','17703786901','410224199010102001','1@qq.com',2,2,2,1,'2023-03-21 11:53:52'),(2,'a2','123456','学生姓名2','upload/yonghu2.jpg','17703786902','410224199010102002','2@qq.com',1,1,1,1,'2023-03-21 11:53:52'),(3,'a3','123456','学生姓名3','upload/yonghu3.jpg','17703786903','410224199010102003','3@qq.com',1,3,3,1,'2023-03-21 11:53:52');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

5、关键代码

5.1 宣讲会Controller模块 

/*** 宣讲会* 后端接口* @author 学长编程* @email* WeChat jsjbysj88
*/
@RestController
@Controller
@RequestMapping("/xuanjianghui")
public class XuanjianghuiController {private static final Logger logger = LoggerFactory.getLogger(XuanjianghuiController.class);private static final String TABLE_NAME = "xuanjianghui";@Autowiredprivate XuanjianghuiService xuanjianghuiService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DangqianqingkuangService dangqianqingkuangService;//就业情况@Autowiredprivate DictionaryService dictionaryService;//字典表@Autowiredprivate ForumService forumService;//论坛@Autowiredprivate GongsiService gongsiService;//企业@Autowiredprivate NewsService newsService;//公告信息@Autowiredprivate XuanjianghuiCollectionService xuanjianghuiCollectionService;//宣讲会收藏@Autowiredprivate XuanjianghuiYuyueService xuanjianghuiYuyueService;//宣讲会报名@Autowiredprivate YonghuService yonghuService;//学生@Autowiredprivate 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("gongsiId",request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = xuanjianghuiService.queryPage(params);//字典表数据转换List<XuanjianghuiView> list =(List<XuanjianghuiView>)page.getList();for(XuanjianghuiView 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);XuanjianghuiEntity xuanjianghui = xuanjianghuiService.selectById(id);if(xuanjianghui !=null){//entity转viewXuanjianghuiView view = new XuanjianghuiView();BeanUtils.copyProperties( xuanjianghui , view );//把实体数据重构到view中//级联表 企业//级联表GongsiEntity gongsi = gongsiService.selectById(xuanjianghui.getGongsiId());if(gongsi != null){BeanUtils.copyProperties( gongsi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "gongsiId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setGongsiId(gongsi.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XuanjianghuiEntity xuanjianghui, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,xuanjianghui:{}",this.getClass().getName(),xuanjianghui.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("企业".equals(role))xuanjianghui.setGongsiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<XuanjianghuiEntity> queryWrapper = new EntityWrapper<XuanjianghuiEntity>().eq("gongsi_id", xuanjianghui.getGongsiId()).eq("xuanjianghui_name", xuanjianghui.getXuanjianghuiName()).eq("xuanjianghui_daiyu", xuanjianghui.getXuanjianghuiDaiyu()).eq("xuanjianghui_types", xuanjianghui.getXuanjianghuiTypes()).eq("zhuanye_types", xuanjianghui.getZhuanyeTypes()).eq("xuanjianghui_gangwei", xuanjianghui.getXuanjianghuiGangwei()).eq("xuanjianghui_renshu_number", xuanjianghui.getXuanjianghuiRenshuNumber()).eq("xianxia_types", xuanjianghui.getXianxiaTypes()).in("xuanjianghui_yesno_types", new Integer[]{1,2});logger.info("sql语句:"+queryWrapper.getSqlSegment());XuanjianghuiEntity xuanjianghuiEntity = xuanjianghuiService.selectOne(queryWrapper);if(xuanjianghuiEntity==null){xuanjianghui.setXuanjianghuiYesnoTypes(1);xuanjianghui.setCreateTime(new Date());xuanjianghuiService.insert(xuanjianghui);return R.ok();}else {if(xuanjianghuiEntity.getXuanjianghuiYesnoTypes()==1)return R.error(511,"有相同的待审核的数据");else if(xuanjianghuiEntity.getXuanjianghuiYesnoTypes()==2)return R.error(511,"有相同的审核通过的数据");elsereturn R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody XuanjianghuiEntity xuanjianghui, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,xuanjianghui:{}",this.getClass().getName(),xuanjianghui.toString());XuanjianghuiEntity oldXuanjianghuiEntity = xuanjianghuiService.selectById(xuanjianghui.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("企业".equals(role))
//            xuanjianghui.setGongsiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));if("".equals(xuanjianghui.getXuanjianghuiPhoto()) || "null".equals(xuanjianghui.getXuanjianghuiPhoto())){xuanjianghui.setXuanjianghuiPhoto(null);}xuanjianghuiService.updateById(xuanjianghui);//根据id更新return R.ok();}/*** 审核*/@RequestMapping("/shenhe")public R shenhe(@RequestBody XuanjianghuiEntity xuanjianghuiEntity, HttpServletRequest request){logger.debug("shenhe方法:,,Controller:{},,xuanjianghuiEntity:{}",this.getClass().getName(),xuanjianghuiEntity.toString());XuanjianghuiEntity oldXuanjianghui = xuanjianghuiService.selectById(xuanjianghuiEntity.getId());//查询原先数据//        if(xuanjianghuiEntity.getXuanjianghuiYesnoTypes() == 2){//通过
//            xuanjianghuiEntity.setXuanjianghuiTypes();
//        }else if(xuanjianghuiEntity.getXuanjianghuiYesnoTypes() == 3){//拒绝
//            xuanjianghuiEntity.setXuanjianghuiTypes();
//        }xuanjianghuiService.updateById(xuanjianghuiEntity);//审核return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());List<XuanjianghuiEntity> oldXuanjianghuiList =xuanjianghuiService.selectBatchIds(Arrays.asList(ids));//要删除的数据xuanjianghuiService.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");try {List<XuanjianghuiEntity> xuanjianghuiList = 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){//循环XuanjianghuiEntity xuanjianghuiEntity = new XuanjianghuiEntity();
//                            xuanjianghuiEntity.setGongsiId(Integer.valueOf(data.get(0)));   //企业 要改的
//                            xuanjianghuiEntity.setXuanjianghuiName(data.get(0));                    //宣讲会标题 要改的
//                            xuanjianghuiEntity.setXuanjianghuiPhoto("");//详情和图片
//                            xuanjianghuiEntity.setXuanjianghuiDaiyu(data.get(0));                    //企业资质 要改的
//                            xuanjianghuiEntity.setXuanjianghuiTypes(Integer.valueOf(data.get(0)));   //宣讲会类型 要改的
//                            xuanjianghuiEntity.setZhuanyeTypes(Integer.valueOf(data.get(0)));   //专业 要改的
//                            xuanjianghuiEntity.setXuanjianghuiGangwei(data.get(0));                    //招聘岗位 要改的
//                            xuanjianghuiEntity.setXuanjianghuiRenshuNumber(Integer.valueOf(data.get(0)));   //招聘人数 要改的
//                            xuanjianghuiEntity.setXuanjianghuiTime(sdf.parse(data.get(0)));          //宣讲时间 要改的
//                            xuanjianghuiEntity.setXianxiaTypes(Integer.valueOf(data.get(0)));   //线下面试 要改的
//                            xuanjianghuiEntity.setXuanjianghuiContent("");//详情和图片
//                            xuanjianghuiEntity.setXuanjianghuiYesnoTypes(Integer.valueOf(data.get(0)));   //审核状态 要改的
//                            xuanjianghuiEntity.setXuanjianghuiYesnoText(data.get(0));                    //审核回复 要改的
//                            xuanjianghuiEntity.setCreateTime(date);//时间xuanjianghuiList.add(xuanjianghuiEntity);//把要查询是否重复的字段放入map中}//查询是否重复xuanjianghuiService.insertBatch(xuanjianghuiList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 个性推荐*/@IgnoreAuth@RequestMapping("/gexingtuijian")public R gexingtuijian(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("gexingtuijian方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));CommonUtil.checkMap(params);List<XuanjianghuiView> returnXuanjianghuiViewList = new ArrayList<>();//查看收藏Map<String, Object> params1 = new HashMap<>(params);params1.put("sort","id");params1.put("yonghuId",request.getSession().getAttribute("userId"));PageUtils pageUtils = xuanjianghuiCollectionService.queryPage(params1);List<XuanjianghuiCollectionView> collectionViewsList =(List<XuanjianghuiCollectionView>)pageUtils.getList();Map<Integer,Integer> typeMap=new HashMap<>();//购买的类型listfor(XuanjianghuiCollectionView collectionView:collectionViewsList){Integer xuanjianghuiTypes = collectionView.getXuanjianghuiTypes();if(typeMap.containsKey(xuanjianghuiTypes)){typeMap.put(xuanjianghuiTypes,typeMap.get(xuanjianghuiTypes)+1);}else{typeMap.put(xuanjianghuiTypes,1);}}List<Integer> typeList = new ArrayList<>();//排序后的有序的类型 按最多到最少typeMap.entrySet().stream().sorted((o1, o2) -> o2.getValue() - o1.getValue()).forEach(e -> typeList.add(e.getKey()));//排序Integer limit = Integer.valueOf(String.valueOf(params.get("limit")));for(Integer type:typeList){Map<String, Object> params2 = new HashMap<>(params);params2.put("xuanjianghuiTypes",type);PageUtils pageUtils1 = xuanjianghuiService.queryPage(params2);List<XuanjianghuiView> xuanjianghuiViewList =(List<XuanjianghuiView>)pageUtils1.getList();returnXuanjianghuiViewList.addAll(xuanjianghuiViewList);if(returnXuanjianghuiViewList.size()>= limit) break;//返回的推荐数量大于要的数量 跳出循环}//正常查询出来商品,用于补全推荐缺少的数据PageUtils page = xuanjianghuiService.queryPage(params);if(returnXuanjianghuiViewList.size()<limit){//返回数量还是小于要求数量int toAddNum = limit - returnXuanjianghuiViewList.size();//要添加的数量List<XuanjianghuiView> xuanjianghuiViewList =(List<XuanjianghuiView>)page.getList();for(XuanjianghuiView xuanjianghuiView:xuanjianghuiViewList){Boolean addFlag = true;for(XuanjianghuiView returnXuanjianghuiView:returnXuanjianghuiViewList){if(returnXuanjianghuiView.getId().intValue() ==xuanjianghuiView.getId().intValue()) addFlag=false;//返回的数据中已存在此商品}if(addFlag){toAddNum=toAddNum-1;returnXuanjianghuiViewList.add(xuanjianghuiView);if(toAddNum==0) break;//够数量了}}}else {returnXuanjianghuiViewList = returnXuanjianghuiViewList.subList(0, limit);}for(XuanjianghuiView c:returnXuanjianghuiViewList)dictionaryService.dictionaryConvert(c, request);page.setList(returnXuanjianghuiViewList);return R.ok().put("data", page);}/*** 前端列表*/@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 = xuanjianghuiService.queryPage(params);//字典表数据转换List<XuanjianghuiView> list =(List<XuanjianghuiView>)page.getList();for(XuanjianghuiView 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);XuanjianghuiEntity xuanjianghui = xuanjianghuiService.selectById(id);if(xuanjianghui !=null){//entity转viewXuanjianghuiView view = new XuanjianghuiView();BeanUtils.copyProperties( xuanjianghui , view );//把实体数据重构到view中//级联表GongsiEntity gongsi = gongsiService.selectById(xuanjianghui.getGongsiId());if(gongsi != null){BeanUtils.copyProperties( gongsi , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setGongsiId(gongsi.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody XuanjianghuiEntity xuanjianghui, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,xuanjianghui:{}",this.getClass().getName(),xuanjianghui.toString());Wrapper<XuanjianghuiEntity> queryWrapper = new EntityWrapper<XuanjianghuiEntity>().eq("gongsi_id", xuanjianghui.getGongsiId()).eq("xuanjianghui_name", xuanjianghui.getXuanjianghuiName()).eq("xuanjianghui_daiyu", xuanjianghui.getXuanjianghuiDaiyu()).eq("xuanjianghui_types", xuanjianghui.getXuanjianghuiTypes()).eq("zhuanye_types", xuanjianghui.getZhuanyeTypes()).eq("xuanjianghui_gangwei", xuanjianghui.getXuanjianghuiGangwei()).eq("xuanjianghui_renshu_number", xuanjianghui.getXuanjianghuiRenshuNumber()).eq("xianxia_types", xuanjianghui.getXianxiaTypes()).in("xuanjianghui_yesno_types", new Integer[]{1,2}).eq("xuanjianghui_yesno_text", xuanjianghui.getXuanjianghuiYesnoText())
//            .notIn("xuanjianghui_types", new Integer[]{102});logger.info("sql语句:"+queryWrapper.getSqlSegment());XuanjianghuiEntity xuanjianghuiEntity = xuanjianghuiService.selectOne(queryWrapper);if(xuanjianghuiEntity==null){xuanjianghui.setXuanjianghuiYesnoTypes(1);xuanjianghui.setCreateTime(new Date());xuanjianghuiService.insert(xuanjianghui);return R.ok();}else {if(xuanjianghuiEntity.getXuanjianghuiYesnoTypes()==1)return R.error(511,"有相同的待审核的数据");else if(xuanjianghuiEntity.getXuanjianghuiYesnoTypes()==2)return R.error(511,"有相同的审核通过的数据");elsereturn R.error(511,"表中有相同数据");}}}

5.2 宣讲会Service模块 

package com.service;import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.XuanjianghuiEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;/*** 宣讲会 服务类*/
public interface XuanjianghuiService extends IService<XuanjianghuiEntity> {/*** @param params 查询参数* @return 带分页的查询出来的数据*/PageUtils queryPage(Map<String, Object> params);}

5.3 宣讲会ServiceImpl模块

package com.service.impl;import com.utils.StringUtil;
import com.service.DictionaryService;
import com.utils.ClazzDiff;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import com.utils.PageUtils;
import com.utils.Query;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import com.dao.XuanjianghuiDao;
import com.entity.XuanjianghuiEntity;
import com.service.XuanjianghuiService;
import com.entity.view.XuanjianghuiView;/*** 宣讲会 服务实现类*/
@Service("xuanjianghuiService")
@Transactional
public class XuanjianghuiServiceImpl extends ServiceImpl<XuanjianghuiDao, XuanjianghuiEntity> implements XuanjianghuiService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<XuanjianghuiView> page =new Query<XuanjianghuiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}

5.4  宣讲会Dao模块

package com.dao;import com.entity.XuanjianghuiEntity;
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.XuanjianghuiView;/*** 宣讲会 Dao 接口** @author 学长编程*/
public interface XuanjianghuiDao extends BaseMapper<XuanjianghuiEntity> {List<XuanjianghuiView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}

6、论文目录结构

7、源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

获取源码请私信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于Python里xlwings库对Excel表格的操作(十九)

这篇小笔记主要记录如何【取消合并单元格】。 前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安装导入xlwings库&#xff1b; &#xff08;2&#xff09;如何在Wps下使用xlwi…

vscode括号颜色突然变成白色的了,怎么解决

更新版本后发现vscode的各种括号都变成了白色&#xff0c;由于分色括号已经使用习惯&#xff0c;突然变成白色非常不舒服&#xff0c;尝试多次后&#xff0c;为大家提供一下几种解决方式&#xff0c;希望能帮到同样受到此种困惑的你&#xff1a; 第一种&#xff1a; 首先打开…

WebGL开发建筑和设计教育应用

使用 WebGL 开发建筑和设计教育应用可以为学生提供沉浸式的三维体验&#xff0c;使他们能够在虚拟环境中探索建筑结构、材料和设计理念。以下是开发建筑和设计教育应用的一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&…

计算机视觉基础(13)——深度估计

前言 本节是计算机视觉的最后一节&#xff0c;我们将学习深度估计。从深度的概念和度量入手&#xff0c;依次学习单目深度估计和双目/多目深度估计&#xff0c;需要知道深度估计的经典方法&#xff0c;掌握深度估计的评价标准&#xff0c;注意结合对极几何进行分析和思考。 一、…

【LeetCode刷题笔记】动态规划(四)

背包问题 0-1 背包问题 有一个背包,它的容量为 C现在有 n 种不同的物品,他们的编号分别是 0...n-1。每一种物品只有一个。在这 n 种物品中,第 i 个物品的重量是 w[i],它的价值为 v[i]问题是:可以向这个背包中放哪些物品,使得在不超过背包容量的基础上,背包中物品的总价…

【SpringCloud笔记】(10)消息总线之Bus

Bus 前言 戳我了解Config 学习Config中我们遇到了一个问题&#xff1a; 当我们修改了GitHub上配置文件内容&#xff0c;微服务需要配置动态刷新并且需要手动向客户端发送post请求刷新微服务之后才能获取到GitHub修改过后的内容 假如有多个微服务客户端3355/3366/3377…等等…

Android 手机对于Arduino蓝牙控制解决方案

1、Android系统概述 ​ Android 系统是 Google 公司基于 Linux 内核开发的移动端操作系统,适用于智能手机智能手表平板电脑等设备&#xff0c;最新的版本为 7.1。Android系统具有免费开源的优势,任何企业与个人都可以查阅公开的 API 文档&#xff0c;并在自己开发的应用中通过调…

xlua源码分析(四) lua访问C#的值类型

xlua源码分析&#xff08;四&#xff09; lua访问C#的值类型 上一节我们主要探讨了C#是如何使用interface和delegate访问lua层的table和function的&#xff0c;本节我们跟着Examples 05_NoGc&#xff0c;来看看xlua是如何实现lua层无gc访问C#的值类型的。 首先例子中用到的lua…

List那些坑

很多文章都介绍过这些坑&#xff0c;本文做个记录&#xff0c;并提供解决方案。 1.Arrays.asList的坑 1.1现象 情况1&#xff1a;通过Arrays.asList方法生成的List数据不支持添加操作 使用Arrays.asList方法生成的List数据&#xff0c;不能对其进行删除或者添加操作。代码示例…

【MySQL】数据库之存储引擎

目录 一、什么是存储引擎 MySQL 整个查询执行过程&#xff0c;即MySQL的工作原理&#xff1f; 二、MyISAM 与 InnoDB 的区别&#xff1f; 三、如何查看当前表的存储引擎&#xff1f; 1.查看当前的存储引擎 2.查看数据库支持哪些存储引擎 四、如何设置存储引擎&#xff1f;…

如何通过内网穿透实现远程访问本地Linux SVN服务

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

论文阅读——X-Decoder

Generalized Decoding for Pixel, Image, and Language Towards a Generalized Multi-Modal Foundation Model 1、概述 X-Decoder没有为视觉和VL任务开发统一的接口&#xff0c;而是建立了一个通用的解码范式&#xff0c;该范式可以通过采用共同的&#xff08;例如语义&#…

IDEA Maven Helper插件 解决jar冲突

Jar包冲突报错 程序抛出java.lang.ClassNotFoundException异常&#xff1b; 程序抛出java.lang.NoSuchMethodError异常&#xff1b; 程序抛出java.lang.NoClassDefFoundError异常&#xff1b; 程序抛出java.lang.LinkageError异常等&#xff1b;Maven Jar包管理机制 在Maven项…

微信小程序使用canvas制作海报并保存到本地相册(超级详细)

案例图 分析案例图都有哪些元素 1.渐变背景 2.圆形头像 3.文字 4.文字超出换行 5.图片居中 6.文字居中 7.单位适配 8.弹窗保存图片。因为一个个绘制图形太麻烦所以这里都采用了方法封装。 canvas api介绍 最后有全部代码&#xff0c;复制即用。 data数据 data() {return {myO…

【Linux--信号】

目录 一、信号的概念1.1查看系统的信号1.2信号的处理方式 二、信号的产生方式2.1通过终端按键2.2kill命令2.3系统调用2.4软条件产生信号2.5硬件异常产生信号 三、信号的保存3.1概念的认识3.2sigset_t3.3信号集操作函数3.4sigprocmask && sigpending3.4.1sigprocmask3.4…

【工具使用-A2B】使用A2B配置16通道车载音频系统

一&#xff0c;简介 工作中需要使用A2B搭建车载16通道演示系统&#xff0c;故本文记录一下&#xff0c;16通道车载音频系统中A2B工程相关配置&#xff0c;供参考。 使用FPGA输出双TDM8的信号给到A2B Master节点&#xff0c;音频数据经过A2B双绞线&#xff0c;传输到A2B Slave…

【开源】基于JAVA语言的企业项目合同信息系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 合同审批模块2.3 合同签订模块2.4 合同预警模块2.5 数据可视化模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 合同审批表3.2.2 合同签订表3.2.3 合同预警表 四、系统展示五、核心代码5.1 查询合同…

大师计划1.0 - log2 CRTO笔记

CRTOⅠ笔记 log2 这个笔记是我在2023年11月23日-12月22日中&#xff0c;学习CRTO所做的一些笔记。 事实上TryHackMe的路径和htb学院包含了许多CRTO的知识并且甚至还超出了CRTO&#xff08;CS除外&#xff09;&#xff0c;所以很多东西在THM和htb学院学过&#xff0c;这次CRTO等…

【NI-RIO入门】如何格式化实时控制器

1.当使用CompactRIO时有时会出现硬盘已满或出现IO错误&#xff0c;如下如图 2.出现上下位机软件版本不匹配 3.rt组件损坏 4.实时控制器意外进入安全模式 5.设备非正常断电 6.访问被拒绝&#xff1a;目标被另一个进程&#xff08;例如 VI 或 NI 分布式系统管理器&#xff09;锁定…

中间继电器的文字符号和图形符号

中间继电器的文字符号和图形符号 中间继电器主要用途是当其他继电器触头数量或容量不够时&#xff0c;可借助中间继电器扩充触头数目或增大触头容量&#xff0c;起中间转换作用。将多个中间继电器相组合&#xff0c;还能构成各种逻辑运算电器或计数电器。 中间继电器文字符号…