博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
文末获取源码联系
精彩专栏推荐订阅 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌
目录
1、项目介绍及开发技术
1.1 项目介绍
1.2 开发技术
2、系统功能设计结构图
3、功能截图
4、数据库表结构设计
5、关键代码
5.1 学生管理Controller模块
5.2 学生管理Service模块
5.3 学生管理ServiceImpl模块
5.4 学生管理Dao模块
6、论文目录结构
7、源码获取
1、项目介绍及开发技术
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本大学生勤工助学管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此大学生勤工助学管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。
Java开发语言、SSM、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。
2、系统功能设计结构图
3、功能截图
首页
个人中心
兼职报名
面试管理
薪资管理
招聘信息管理
职位招聘管理
公告信息管理
4、数据库表结构设计
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 `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=37 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 (4,'zhaopin_types','招聘岗位',1,'招聘岗位1',NULL,NULL,'2023-05-04 11:41:19'),(5,'zhaopin_types','招聘岗位',2,'招聘岗位2',NULL,NULL,'2023-05-04 11:41:19'),(6,'zhaopin_types','招聘岗位',3,'招聘岗位3',NULL,NULL,'2023-05-04 11:41:19'),(7,'shangxia_types','是否上架',1,'上架',NULL,NULL,'2023-05-04 11:41:19'),(8,'shangxia_types','是否上架',2,'下架',NULL,NULL,'2023-05-04 11:41:19'),(9,'sex_types','性别',1,'男',NULL,NULL,'2023-05-04 11:41:19'),(10,'sex_types','性别',2,'女',NULL,NULL,'2023-05-04 11:41:19'),(13,'news_types','公告信息类型',1,'公告信息类型1',NULL,NULL,'2023-05-04 11:41:19'),(14,'news_types','公告信息类型',2,'公告信息类型2',NULL,NULL,'2023-05-04 11:41:19'),(15,'news_types','公告信息类型',3,'公告信息类型3',NULL,NULL,'2023-05-04 11:41:19'),(17,'zhaopin_yuyue_yesno_types','报名状态',1,'未回复',NULL,NULL,'2023-05-04 11:41:19'),(18,'zhaopin_yuyue_yesno_types','报名状态',2,'通过报名',NULL,NULL,'2023-05-04 11:41:19'),(19,'zhaopin_yuyue_yesno_types','报名状态',3,'拒绝',NULL,NULL,'2023-05-04 11:41:19'),(20,'yuanxi_types','院系',2,'院系1',NULL,NULL,'2023-05-04 11:41:19'),(21,'yuanxi_types','院系',3,'院系2',NULL,NULL,'2023-05-04 11:41:19'),(22,'zhuanye_types','专业',2,'专业1',NULL,NULL,'2023-05-04 11:41:19'),(23,'zhuanye_types','专业',3,'专业2',NULL,NULL,'2023-05-04 11:41:19'),(24,'zhuanye_types','专业',4,'专业3',NULL,NULL,'2023-05-04 11:41:19'),(25,'zhuanye_types','专业',5,'专业4',NULL,NULL,'2023-05-04 11:41:19'),(26,'nianji_types','年级',2,'大一',NULL,NULL,'2023-05-04 11:41:19'),(27,'nianji_types','年级',3,'大二',NULL,NULL,'2023-05-04 11:41:19'),(28,'nianji_types','年级',4,'大三',NULL,NULL,'2023-05-04 11:41:19'),(29,'nianji_types','年级',5,'大四',NULL,NULL,'2023-05-04 11:41:19'),(30,'gongsi_types','用工部门类型',1,'用工部门类型1',NULL,NULL,'2023-05-04 11:41:19'),(31,'gongsi_types','用工部门类型',2,'用工部门类型2',NULL,NULL,'2023-05-04 11:41:19'),(32,'gongsi_types','用工部门类型',3,'用工部门类型3',NULL,NULL,'2023-05-04 11:41:19'),(33,'zhaopin_collection_types','收藏表类型',1,'收藏',NULL,NULL,'2023-05-04 11:41:19'),(34,'mianshijilu_types','面试结果',1,'通过面试',NULL,NULL,'2023-05-04 11:41:19'),(35,'mianshijilu_types','面试结果',2,'没通过面试',NULL,NULL,'2023-05-04 11:41:19'),(36,'yuanxi_types','院系',4,'院系3',NULL,'','2023-05-04 13:22:59');
/*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` text 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','[email protected]','upload/gongsi1.jpg','用工部门介绍1',1,'2023-05-04 11:41:39'),(2,'a2','123456','用工部门名称2',1,'17703786902','[email protected]','upload/gongsi2.jpg','用工部门介绍2',1,'2023-05-04 11:41:39'),(3,'a3','123456','用工部门名称3',3,'17703786903','[email protected]','upload/gongsi3.jpg','用工部门介绍3',1,'2023-05-04 11:41:39');
/*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,1,'admin','users','管理员','be4ffkmic50wf5q8zssozyk3xpsxyr2m','2023-05-04 11:55:51','2023-05-04 14:22:21'),(2,1,'a1','yonghu','学生','6y7ngwe2x56laddnwoknmf2qntrvo5qm','2023-05-04 13:01:18','2023-05-04 14:20:21'),(3,1,'a1','gongsi','用工部门','i3slnrn6uwq07tx3i2mffg4ldkndocta','2023-05-04 13:15:27','2023-05-04 14:20:35'),(4,4,'a5','yonghu','学生','gq1kcex8fe5p58zjajh9b7d14lkoel8p','2023-05-04 13:18:56','2023-05-04 14:18:56');
/*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-05-04 11:41:18');
/*Table structure for table `xinzi` */
DROP TABLE IF EXISTS `xinzi`;
CREATE TABLE `xinzi` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`gongsi_id` int(11) DEFAULT NULL COMMENT '用工部门',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`xinzi_uuid_number` varchar(200) DEFAULT NULL COMMENT '薪资编号 Search111 ',
`xinzi_month` varchar(200) DEFAULT NULL COMMENT '月份 Search111 ',
`jiben_jine` decimal(10,2) DEFAULT NULL COMMENT '基本工资',
`jiangjin_jine` decimal(10,2) DEFAULT NULL COMMENT '奖金',
`jixiao_jine` decimal(10,2) DEFAULT NULL COMMENT '绩效',
`butie_jine` decimal(10,2) DEFAULT NULL COMMENT '补贴',
`shifa_jine` decimal(10,2) DEFAULT NULL COMMENT '实发',
`xinzi_content` longtext 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='薪资';
/*Data for the table `xinzi` */
insert into `xinzi`(`id`,`gongsi_id`,`yonghu_id`,`xinzi_uuid_number`,`xinzi_month`,`jiben_jine`,`jiangjin_jine`,`jixiao_jine`,`butie_jine`,`shifa_jine`,`xinzi_content`,`insert_time`,`create_time`) values (1,2,3,'1683171699347','月份1','164.40','91.93','281.00','133.14','869.92','备注1','2023-05-04 11:41:39','2023-05-04 11:41:39'),(2,3,2,'1683171699302','月份2','608.12','235.87','397.75','873.56','574.61','备注2','2023-05-04 11:41:39','2023-05-04 11:41:39'),(3,3,1,'1683171699328','月份3','37.13','704.88','198.95','496.70','406.19','备注3','2023-05-04 11:41:39','2023-05-04 11:41:39'),(4,1,2,'1683171699289','月份4','755.81','691.61','112.28','999.23','350.96','备注4','2023-05-04 11:41:39','2023-05-04 11:41:39'),(5,3,3,'1683171699350','月份5','455.52','435.06','680.44','192.02','350.23','备注5','2023-05-04 11:41:39','2023-05-04 11:41:39'),(6,2,1,'1683171699360','月份6','626.34','915.63','776.78','602.05','297.65','备注6','2023-05-04 11:41:39','2023-05-04 11:41:39'),(7,1,1,'1683171699329','月份7','751.80','280.44','545.65','702.88','842.14','备注7','2023-05-04 11:41:39','2023-05-04 11:41:39'),(8,3,1,'1683171699293','月份8','483.62','790.66','842.35','193.82','583.14','备注8','2023-05-04 11:41:39','2023-05-04 11:41:39'),(9,1,1,'1683171699338','月份9','478.82','688.80','545.05','16.30','440.09','备注9','2023-05-04 11:41:39','2023-05-04 11:41:39'),(10,1,1,'1683171699331','月份10','815.88','482.15','779.11','494.43','366.56','备注10','2023-05-04 11:41:39','2023-05-04 11:41:39'),(11,3,2,'1683171699308','月份11','144.42','896.28','229.91','796.60','923.92','备注11','2023-05-04 11:41:39','2023-05-04 11:41:39'),(12,3,1,'1683171699372','月份12','34.44','869.34','653.64','319.05','165.58','备注12','2023-05-04 11:41:39','2023-05-04 11:41:39'),(13,3,1,'1683171699301','月份13','910.31','339.71','306.75','919.83','81.36','备注13','2023-05-04 11:41:39','2023-05-04 11:41:39'),(14,3,1,'1683171699371','月份14','375.40','758.80','971.99','680.15','887.90','备注14','2023-05-04 11:41:39','2023-05-04 11:41:39'),(15,1,4,'1683177640564','2023-05','555.00','666.00','777.00','222.00','2220.00','广东省广东省固定事故
','2023-05-04 13:20:54','2023-05-04 13:20:54'),(16,1,3,'1683177659386','2023-05','999.00','333.00','666.00','1011.00','3009.00','挂号第三个第三个是
','2023-05-04 13:21:16','2023-05-04 13:21:16');
/*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 ',
`yuanxi_types` int(11) DEFAULT NULL COMMENT '院系 Search111 ',
`zhuanye_types` int(11) DEFAULT NULL COMMENT '专业 Search111 ',
`nianji_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`,`yuanxi_types`,`zhuanye_types`,`nianji_types`,`yonghu_delete`,`create_time`) values (1,'a1','123456','学生姓名1','upload/yonghu1.jpg','17703786901','410224199010102001','[email protected]',2,2,2,2,1,'2023-05-04 11:41:39'),(2,'a2','123456','学生姓名2','upload/yonghu2.jpg','17703786902','410224199010102002','[email protected]',1,3,3,3,1,'2023-05-04 11:41:39'),(3,'a3','123456','学生姓名3','upload/yonghu3.jpg','17703786903','410224199010102003','[email protected]',2,2,4,3,1,'2023-05-04 11:41:39'),(4,'a5','123456','张5','upload/1683177605220.jpg','17788889999','444222666699998887','[email protected]',1,2,4,4,1,'2023-05-04 13:18:48');
/*Table structure for table `zhaopin` */
DROP TABLE IF EXISTS `zhaopin`;
CREATE TABLE `zhaopin` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`gongsi_id` int(11) DEFAULT NULL COMMENT '用工部门',
`zhaopin_name` varchar(200) DEFAULT NULL COMMENT '招聘信息名称 Search111 ',
`zhaopin_photo` varchar(200) DEFAULT NULL COMMENT '招聘信息照片',
`zhaopin_daiyu` varchar(200) DEFAULT NULL COMMENT '薪资待遇',
`zhaopin_address` varchar(200) DEFAULT NULL COMMENT '上班地点',
`lianxiren_name` varchar(200) DEFAULT NULL COMMENT '联系人',
`zhaopin_phone` varchar(200) DEFAULT NULL COMMENT '招聘电话',
`zhaopin_types` int(11) DEFAULT NULL COMMENT '招聘岗位 Search111',
`zhaopin_renshu_number` int(11) DEFAULT NULL COMMENT '招聘人数',
`shangxia_types` int(11) DEFAULT NULL COMMENT '是否上架 ',
`zhaopin_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='职位招聘';
DROP TABLE IF EXISTS `zhaopin_liuyan`;
CREATE TABLE `zhaopin_liuyan` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`zhaopin_id` int(11) DEFAULT NULL COMMENT '职位',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`zhaopin_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 '创建时间 show3 listShow',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='职位留言';
/*Data for the table `zhaopin_liuyan` */
insert into `zhaopin_liuyan`(`id`,`zhaopin_id`,`yonghu_id`,`zhaopin_liuyan_text`,`reply_text`,`insert_time`,`update_time`,`create_time`) values (1,1,1,'留言内容1','回复信息1','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(2,2,2,'留言内容2','回复信息2','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(3,3,1,'留言内容3','回复信息3','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(4,4,3,'留言内容4','回复信息4','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(5,5,2,'留言内容5','回复信息5','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(6,6,1,'留言内容6','回复信息6','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(7,7,1,'留言内容7','回复信息7','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(8,8,3,'留言内容8','回复信息8','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(9,9,3,'留言内容9','回复信息9','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(10,10,1,'留言内容10','回复信息10','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(11,11,1,'留言内容11','回复信息11','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(12,12,3,'留言内容12','回复信息12','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(13,13,3,'留言内容13','回复信息13','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(14,14,2,'留言内容14','回复信息14','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(15,14,4,'hgdfssdh孤独颂歌','核对算得上是','2023-05-04 13:19:19','2023-05-04 13:21:44','2023-05-04 13:19:19');
/*Table structure for table `zhaopin_yuyue` */
DROP TABLE IF EXISTS `zhaopin_yuyue`;
CREATE TABLE `zhaopin_yuyue` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`zhaopin_id` int(11) DEFAULT NULL COMMENT '招聘',
`zhaopin_yuyue_text` text COMMENT '备注',
`zhaopin_yuyue_yesno_types` int(11) DEFAULT NULL COMMENT '报名状态 Search111',
`zhaopin_yuyue_yesno_text` 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=32 DEFAULT CHARSET=utf8 COMMENT='兼职报名';
/*Data for the table `zhaopin_yuyue` */
insert into `zhaopin_yuyue`(`id`,`yonghu_id`,`zhaopin_id`,`zhaopin_yuyue_text`,`zhaopin_yuyue_yesno_types`,`zhaopin_yuyue_yesno_text`,`insert_time`,`create_time`) values (1,1,1,'备注1',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(2,3,2,'备注2',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(3,2,3,'备注3',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(4,2,4,'备注4',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(5,1,5,'备注5',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(6,1,6,'备注6',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(7,2,7,'备注7',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(8,1,8,'备注8',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(9,3,9,'备注9',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(10,2,10,'备注10',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(11,1,11,'备注11',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(12,2,12,'备注12',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(13,1,13,'备注13',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(14,2,14,'备注14',2,'给大哥大哥当','2023-05-04 11:41:39','2023-05-04 11:41:39'),(29,1,11,'广东省是个第三个十多个',1,NULL,'2023-05-04 13:07:08','2023-05-04 13:07:08'),(30,4,14,'是的公司大概多少',2,'个第三个第三个','2023-05-04 13:19:26','2023-05-04 13:19:26'),(31,4,11,'和广东省第三个是的话',1,NULL,'2023-05-04 13:19:54','2023-05-04 13:19:54');
/*!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、关键代码
package com.controller;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.XueshengEntity;
import com.entity.view.XueshengView;
import com.service.XueshengService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
/**
* 学生
* 后端接口
* @author
* @email
* @date
*/
@RestController
@RequestMapping("/xuesheng")
public class XueshengController {
@Autowired
private XueshengService xueshengService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
XueshengEntity u = xueshengService.selectOne(new EntityWrapper().eq("xueshengzhanghao", username));
if(u==null || !u.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(u.getId(), username,"xuesheng", "学生" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody XueshengEntity xuesheng){
//ValidatorUtils.validateEntity(xuesheng);
XueshengEntity u = xueshengService.selectOne(new EntityWrapper().eq("xueshengzhanghao", xuesheng.getXueshengzhanghao()));
if(u!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
xuesheng.setId(uId);
xueshengService.insert(xuesheng);
return R.ok();
}
/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
XueshengEntity u = xueshengService.selectById(id);
return R.ok().put("data", u);
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
XueshengEntity u = xueshengService.selectOne(new EntityWrapper().eq("xueshengzhanghao", username));
if(u==null) {
return R.error("账号不存在");
}
u.setMima("123456");
xueshengService.updateById(u);
return R.ok("密码已重置为:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map params,XueshengEntity xuesheng,
HttpServletRequest request){
EntityWrapper ew = new EntityWrapper();
PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map params,XueshengEntity xuesheng,
HttpServletRequest request){
EntityWrapper ew = new EntityWrapper();
PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( XueshengEntity xuesheng){
EntityWrapper ew = new EntityWrapper();
ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng"));
return R.ok().put("data", xueshengService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(XueshengEntity xuesheng){
EntityWrapper< XueshengEntity> ew = new EntityWrapper< XueshengEntity>();
ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng"));
XueshengView xueshengView = xueshengService.selectView(ew);
return R.ok("查询学生成功").put("data", xueshengView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
XueshengEntity xuesheng = xueshengService.selectById(id);
return R.ok().put("data", xuesheng);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
XueshengEntity xuesheng = xueshengService.selectById(id);
return R.ok().put("data", xuesheng);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(xuesheng);
XueshengEntity u = xueshengService.selectOne(new EntityWrapper().eq("xueshengzhanghao", xuesheng.getXueshengzhanghao()));
if(u!=null) {
return R.error("用户已存在");
}
xuesheng.setId(new Date().getTime());
xueshengService.insert(xuesheng);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(xuesheng);
XueshengEntity u = xueshengService.selectOne(new EntityWrapper().eq("xueshengzhanghao", xuesheng.getXueshengzhanghao()));
if(u!=null) {
return R.error("用户已存在");
}
xuesheng.setId(new Date().getTime());
xueshengService.insert(xuesheng);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@Transactional
public R update(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
//ValidatorUtils.validateEntity(xuesheng);
xueshengService.updateById(xuesheng);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
xueshengService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper wrapper = new EntityWrapper();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = xueshengService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
package com.service;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.XueshengkaoqinEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.XueshengkaoqinVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.XueshengkaoqinView;
/**
* 学生考勤
*
* @author
* @email
* @date
*/
public interface XueshengkaoqinService extends IService {
PageUtils queryPage(Map params);
List selectListVO(Wrapper wrapper);
XueshengkaoqinVO selectVO(@Param("ew") Wrapper wrapper);
List selectListView(Wrapper wrapper);
XueshengkaoqinView selectView(@Param("ew") Wrapper wrapper);
PageUtils queryPage(Map params,Wrapper wrapper);
List
package com.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;
import com.dao.XueshengkaoqinDao;
import com.entity.XueshengkaoqinEntity;
import com.service.XueshengkaoqinService;
import com.entity.vo.XueshengkaoqinVO;
import com.entity.view.XueshengkaoqinView;
@Service("xueshengkaoqinService")
public class XueshengkaoqinServiceImpl extends ServiceImpl implements XueshengkaoqinService {
@Override
public PageUtils queryPage(Map params) {
Page page = this.selectPage(
new Query(params).getPage(),
new EntityWrapper()
);
return new PageUtils(page);
}
@Override
public PageUtils queryPage(Map params, Wrapper wrapper) {
Page page =new Query(params).getPage();
page.setRecords(baseMapper.selectListView(page,wrapper));
PageUtils pageUtil = new PageUtils(page);
return pageUtil;
}
@Override
public List selectListVO(Wrapper wrapper) {
return baseMapper.selectListVO(wrapper);
}
@Override
public XueshengkaoqinVO selectVO(Wrapper wrapper) {
return baseMapper.selectVO(wrapper);
}
@Override
public List selectListView(Wrapper wrapper) {
return baseMapper.selectListView(wrapper);
}
@Override
public XueshengkaoqinView selectView(Wrapper wrapper) {
return baseMapper.selectView(wrapper);
}
@Override
public List> selectValue(Map params, Wrapper wrapper) {
return baseMapper.selectValue(params, wrapper);
}
@Override
public List> selectTimeStatValue(Map params, Wrapper wrapper) {
return baseMapper.selectTimeStatValue(params, wrapper);
}
@Override
public List> selectGroup(Map params, Wrapper wrapper) {
return baseMapper.selectGroup(params, wrapper);
}
}
package com.dao;
import com.entity.XueshengEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import org.apache.ibatis.annotations.Param;
import com.entity.vo.XueshengVO;
import com.entity.view.XueshengView;
/**
* 学生
*
* @author
* @email
* @date
*/
public interface XueshengDao extends BaseMapper {
List selectListVO(@Param("ew") Wrapper wrapper);
XueshengVO selectVO(@Param("ew") Wrapper wrapper);
List selectListView(@Param("ew") Wrapper wrapper);
List selectListView(Pagination page,@Param("ew") Wrapper wrapper);
XueshengView selectView(@Param("ew") Wrapper wrapper);
}
6、论文目录结构
7、源码获取
感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!
喜欢文章可以点赞、收藏、关注、评论啦
→获取源码请私信←