🍊作者:计算机编程-吉哥
🍊简介:专业从事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 管理员功能展示
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.数据库表结构
29张
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 管理员功能展示
6.数据库文件设计
CREATE TABLE `config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) NOT NULL COMMENT '配置参数名称',
`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
CREATE TABLE `dangan` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`dangan_name` varchar(200) DEFAULT NULL COMMENT '学生档案名称 Search111 ',
`dangan_uuid_number` varchar(200) DEFAULT NULL COMMENT '学生档案编号',
`dangan_photo` varchar(200) DEFAULT NULL COMMENT '学生档案照片',
`dangan_types` int(11) DEFAULT NULL COMMENT '学生档案类型 Search111',
`dangan_quxiang` varchar(200) DEFAULT NULL COMMENT '就业去向',
`dangan_content` longtext COMMENT '学生档案介绍 ',
`dangan_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='学生档案';
CREATE TABLE `dictionary` (
`id` bigint(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=58 DEFAULT CHARSET=utf8 COMMENT='字典';
CREATE TABLE `exampaper` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`exampaper_name` varchar(200) NOT NULL COMMENT '试卷名称 Search111',
`exampaper_date` int(11) DEFAULT NULL COMMENT '考试时长(分钟)',
`exampaper_myscore` int(20) NOT NULL DEFAULT '0' COMMENT '试卷总分数',
`kemu_types` int(11) DEFAULT NULL COMMENT '科目 Search111',
`exampaper_types` int(11) NOT NULL DEFAULT '0' COMMENT '试卷状态 Search111',
`zujuan_types` int(11) DEFAULT NULL COMMENT '组卷方式',
`exampaper_delete` int(255) DEFAULT '0' COMMENT '逻辑删除(1代表未删除 2代表已删除)',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间 show2 photoShow',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='试卷';
CREATE TABLE `exampapertopic` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`exampaper_id` int(20) NOT NULL COMMENT '试卷',
`examquestion_id` int(20) NOT NULL COMMENT '试题',
`exampapertopic_number` int(20) NOT NULL COMMENT '试题分数',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 COMMENT='试卷选题';
CREATE TABLE `examquestion` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`examquestion_name` varchar(200) DEFAULT NULL COMMENT '试题名称 Search111',
`kemu_types` int(11) DEFAULT NULL COMMENT '科目 Search111',
`examquestion_options` longtext COMMENT '选项,json字符串',
`examquestion_answer` varchar(200) DEFAULT NULL COMMENT '正确答案',
`examquestion_analysis` longtext COMMENT '答案解析',
`examquestion_types` int(20) DEFAULT '0' COMMENT '试题类型 Search111',
`examquestion_sequence` int(20) DEFAULT '100' COMMENT '试题排序,值越大排越前面',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='试题表';
CREATE TABLE `examrecord` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`examrecord_uuid_number` varchar(200) DEFAULT NULL COMMENT '考试编号',
`yonghu_id` int(20) NOT NULL COMMENT '考试用户',
`exampaper_id` int(20) NOT NULL COMMENT '所属试卷id(外键)',
`total_score` int(200) DEFAULT NULL COMMENT '所得总分',
`insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '考试时间',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='考试记录表';
CREATE TABLE `examredetails` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`examredetails_uuid_number` varchar(200) DEFAULT NULL COMMENT '试卷编号',
`yonghu_id` int(20) NOT NULL COMMENT '用户id',
`examquestion_id` int(20) NOT NULL COMMENT '试题id(外键)',
`examredetails_myanswer` varchar(200) DEFAULT NULL COMMENT '考生答案',
`examredetails_myscore` int(20) NOT NULL DEFAULT '0' COMMENT '试题得分',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='答题详情表';
CREATE TABLE `examrewrongquestion` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`yonghu_id` int(20) NOT NULL COMMENT '用户id',
`exampaper_id` int(20) NOT NULL COMMENT '试卷(外键)',
`examquestion_id` int(20) NOT NULL COMMENT '试题id(外键)',
`examredetails_myanswer` varchar(200) DEFAULT NULL COMMENT '考生作答',
`insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录时间',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间 show3',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='错题表';
CREATE TABLE `falvfagui` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`falvfagui_name` varchar(200) DEFAULT NULL COMMENT '法律法规名称 Search111 ',
`falvfagui_uuid_number` varchar(200) DEFAULT NULL COMMENT '法律法规编号',
`falvfagui_photo` varchar(200) DEFAULT NULL COMMENT '法律法规照片',
`falvfagui_video` varchar(200) DEFAULT NULL COMMENT '新闻视频',
`falvfagui_types` int(11) DEFAULT NULL COMMENT '法律法规类型 Search111',
`falvfagui_content` longtext COMMENT '法律法规介绍 ',
`falvfagui_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
`insert_time` timestamp NULL DEFAULT NULL 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 `falvfagui_collection` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`falvfagui_id` int(11) DEFAULT NULL COMMENT '法律法规',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`falvfagui_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=15 DEFAULT CHARSET=utf8 COMMENT='法律法规收藏';
CREATE TABLE `falvfagui_liuyan` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`falvfagui_id` int(11) DEFAULT NULL COMMENT '法律法规',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`falvfagui_liuyan_text` longtext COMMENT '留言内容',
`insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',
`reply_text` longtext 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 `fenxi` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`fenxi_name` varchar(200) DEFAULT NULL COMMENT '就业分析名称 Search111 ',
`fenxi_uuid_number` varchar(200) DEFAULT NULL COMMENT '就业分析编号',
`fenxi_photo` varchar(200) DEFAULT NULL COMMENT '就业分析照片',
`fenxi_types` int(11) DEFAULT NULL COMMENT '就业分析类型 Search111',
`fenxi_quxiang` varchar(200) DEFAULT NULL COMMENT '就业去向',
`fenxi_xinzi` int(11) DEFAULT NULL COMMENT '薪资',
`fenxi_jiuyel` int(11) DEFAULT NULL COMMENT '就业率',
`fenxi_content` longtext COMMENT '就业分析介绍 ',
`fenxi_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 ',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='就业分析';
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 '学生',
`laoshi_id` int(11) DEFAULT NULL COMMENT '老师',
`gongsi_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=17 DEFAULT CHARSET=utf8 COMMENT='论坛';
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='企业';
CREATE TABLE `laoshi` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(200) DEFAULT NULL COMMENT '账户',
`password` varchar(200) DEFAULT NULL COMMENT '密码',
`laoshi_name` varchar(200) DEFAULT NULL COMMENT '老师姓名 Search111 ',
`laoshi_phone` varchar(200) DEFAULT NULL COMMENT '老师手机号',
`laoshi_id_number` varchar(200) DEFAULT NULL COMMENT '老师身份证号',
`laoshi_photo` varchar(200) DEFAULT NULL COMMENT '老师头像',
`sex_types` int(11) DEFAULT NULL COMMENT '性别',
`laoshi_email` varchar(200) DEFAULT NULL COMMENT '老师邮箱',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 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 `xinwen` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`xinwen_name` varchar(200) DEFAULT NULL COMMENT '新闻资讯名称 Search111 ',
`xinwen_uuid_number` varchar(200) DEFAULT NULL COMMENT '新闻资讯编号',
`xinwen_photo` varchar(200) DEFAULT NULL COMMENT '新闻资讯照片',
`xinwen_video` varchar(200) DEFAULT NULL COMMENT '新闻视频',
`xinwen_types` int(11) DEFAULT NULL COMMENT '新闻资讯类型 Search111',
`xinwen_content` longtext COMMENT '新闻资讯介绍 ',
`xinwen_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
`insert_time` timestamp NULL DEFAULT NULL 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 `xinwen_collection` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`xinwen_id` int(11) DEFAULT NULL COMMENT '新闻资讯',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`xinwen_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=16 DEFAULT CHARSET=utf8 COMMENT='新闻资讯收藏';
CREATE TABLE `xinwen_liuyan` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`xinwen_id` int(11) DEFAULT NULL COMMENT '新闻资讯',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`xinwen_liuyan_text` longtext COMMENT '留言内容',
`insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',
`reply_text` longtext 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 `xinxi` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`xinxi_types` int(11) DEFAULT NULL COMMENT '学生专业 Search111',
`xinxi_banji_types` int(11) DEFAULT NULL COMMENT '学生班级',
`xinxi_xueyuan` varchar(200) DEFAULT NULL COMMENT '学院',
`xinxi_content` longtext COMMENT '学生信息介绍 ',
`xinxi_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 ',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='学生信息';
CREATE TABLE `xuanchuan` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
`xuanchuan_name` varchar(200) DEFAULT NULL COMMENT '宣传名称 Search111 ',
`xuanchuan_uuid_number` varchar(200) DEFAULT NULL COMMENT '宣传编号',
`xuanchuan_photo` varchar(200) DEFAULT NULL COMMENT '宣传照片',
`xuanchuan_video` varchar(200) DEFAULT NULL COMMENT '宣传视频',
`xuanchuan_content` longtext COMMENT '宣传介绍 ',
`xuanchuan_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
`insert_time` timestamp NULL DEFAULT NULL 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 `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_phone` varchar(200) DEFAULT NULL COMMENT '学生手机号',
`yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '学生身份证号',
`yonghu_photo` varchar(200) DEFAULT NULL COMMENT '学生头像',
`sex_types` int(11) DEFAULT NULL COMMENT '性别',
`yonghu_email` varchar(200) DEFAULT NULL COMMENT '学生邮箱',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='学生';
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 '招聘电话',
`zan_number` int(111) DEFAULT NULL COMMENT '赞',
`cai_number` int(111) DEFAULT NULL COMMENT '踩',
`zhaopin_types` int(11) DEFAULT NULL COMMENT '招聘岗位 Search111',
`leixing_types` int(11) DEFAULT NULL COMMENT '招聘类型 Search111',
`zhaopin_renshu_number` 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='职位招聘';
CREATE TABLE `zhaopin_collection` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`zhaopin_id` int(11) DEFAULT NULL COMMENT '职位',
`yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
`zhaopin_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=15 DEFAULT CHARSET=utf8 COMMENT='职位收藏';
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 '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='招聘咨询';
7.核心代码
7.1 新闻Controller
package com.controller;
/**
* 新闻资讯
* 后端接口
* @author 计算机编程-吉哥
* @email
*/
@RestController
@Controller
@RequestMapping("/xinwen")
public class XinwenController {
private static final Logger logger = LoggerFactory.getLogger(XinwenController.class);
private static final String TABLE_NAME = "xinwen";
@Autowired
private XinwenService xinwenService;
@Autowired
private TokenService tokenService;
@Autowired
private DanganService danganService;//学生档案
@Autowired
private DictionaryService dictionaryService;//字典
@Autowired
private ExampaperService exampaperService;//试卷
@Autowired
private ExampapertopicService exampapertopicService;//试卷选题
@Autowired
private ExamquestionService examquestionService;//试题表
@Autowired
private ExamrecordService examrecordService;//考试记录表
@Autowired
private ExamredetailsService examredetailsService;//答题详情表
@Autowired
private ExamrewrongquestionService examrewrongquestionService;//错题表
@Autowired
private FalvfaguiService falvfaguiService;//法律法规
@Autowired
private FalvfaguiCollectionService falvfaguiCollectionService;//法律法规收藏
@Autowired
private FalvfaguiLiuyanService falvfaguiLiuyanService;//法律法规留言
@Autowired
private FenxiService fenxiService;//就业分析
@Autowired
private ForumService forumService;//论坛
@Autowired
private GongsiService gongsiService;//企业
@Autowired
private JianliService jianliService;//简历
@Autowired
private LaoshiService laoshiService;//老师
@Autowired
private ToudiService toudiService;//简历投递
@Autowired
private XinwenCollectionService xinwenCollectionService;//新闻资讯收藏
@Autowired
private XinwenLiuyanService xinwenLiuyanService;//新闻资讯留言
@Autowired
private XinxiService xinxiService;//学生信息
@Autowired
private XuanchuanService xuanchuanService;//宣传
@Autowired
private YonghuService yonghuService;//学生
@Autowired
private ZhaopinService zhaopinService;//职位招聘
@Autowired
private ZhaopinCollectionService zhaopinCollectionService;//职位收藏
@Autowired
private ZhaopinLiuyanService zhaopinLiuyanService;//招聘咨询
@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("gongsiId",request.getSession().getAttribute("userId"));
else if("老师".equals(role))
params.put("laoshiId",request.getSession().getAttribute("userId"));
params.put("xinwenDeleteStart",1);params.put("xinwenDeleteEnd",1);
CommonUtil.checkMap(params);
PageUtils page = xinwenService.queryPage(params);
//字典表数据转换
List<XinwenView> list =(List<XinwenView>)page.getList();
for(XinwenView 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);
XinwenEntity xinwen = xinwenService.selectById(id);
if(xinwen !=null){
//entity转view
XinwenView view = new XinwenView();
BeanUtils.copyProperties( xinwen , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody XinwenEntity xinwen, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,xinwen:{}",this.getClass().getName(),xinwen.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
Wrapper<XinwenEntity> queryWrapper = new EntityWrapper<XinwenEntity>()
.eq("xinwen_name", xinwen.getXinwenName())
.eq("xinwen_video", xinwen.getXinwenVideo())
.eq("xinwen_types", xinwen.getXinwenTypes())
.eq("xinwen_delete", 1)
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XinwenEntity xinwenEntity = xinwenService.selectOne(queryWrapper);
if(xinwenEntity==null){
xinwen.setXinwenDelete(1);
xinwen.setInsertTime(new Date());
xinwen.setCreateTime(new Date());
xinwenService.insert(xinwen);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody XinwenEntity xinwen, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
logger.debug("update方法:,,Controller:{},,xinwen:{}",this.getClass().getName(),xinwen.toString());
XinwenEntity oldXinwenEntity = xinwenService.selectById(xinwen.getId());//查询原先数据
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
if("".equals(xinwen.getXinwenPhoto()) || "null".equals(xinwen.getXinwenPhoto())){
xinwen.setXinwenPhoto(null);
}
if("".equals(xinwen.getXinwenVideo()) || "null".equals(xinwen.getXinwenVideo())){
xinwen.setXinwenVideo(null);
}
xinwenService.updateById(xinwen);//根据id更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids, HttpServletRequest request){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
List<XinwenEntity> oldXinwenList =xinwenService.selectBatchIds(Arrays.asList(ids));//要删除的数据
ArrayList<XinwenEntity> list = new ArrayList<>();
for(Integer id:ids){
XinwenEntity xinwenEntity = new XinwenEntity();
xinwenEntity.setId(id);
xinwenEntity.setXinwenDelete(2);
list.add(xinwenEntity);
}
if(list != null && list.size() >0){
xinwenService.updateBatchById(list);
}
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<XinwenEntity> xinwenList = 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){
//循环
XinwenEntity xinwenEntity = new XinwenEntity();
xinwenList.add(xinwenEntity);
//把要查询是否重复的字段放入map中
//新闻资讯编号
if(seachFields.containsKey("xinwenUuidNumber")){
List<String> xinwenUuidNumber = seachFields.get("xinwenUuidNumber");
xinwenUuidNumber.add(data.get(0));//要改的
}else{
List<String> xinwenUuidNumber = new ArrayList<>();
xinwenUuidNumber.add(data.get(0));//要改的
seachFields.put("xinwenUuidNumber",xinwenUuidNumber);
}
}
//查询是否重复
//新闻资讯编号
List<XinwenEntity> xinwenEntities_xinwenUuidNumber = xinwenService.selectList(new EntityWrapper<XinwenEntity>().in("xinwen_uuid_number", seachFields.get("xinwenUuidNumber")).eq("xinwen_delete", 1));
if(xinwenEntities_xinwenUuidNumber.size() >0 ){
ArrayList<String> repeatFields = new ArrayList<>();
for(XinwenEntity s:xinwenEntities_xinwenUuidNumber){
repeatFields.add(s.getXinwenUuidNumber());
}
return R.error(511,"数据库的该表中的 [新闻资讯编号] 字段已经存在 存在数据为:"+repeatFields.toString());
}
xinwenService.insertBatch(xinwenList);
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<XinwenView> returnXinwenViewList = new ArrayList<>();
//查看收藏
Map<String, Object> params1 = new HashMap<>(params);params1.put("sort","id");params1.put("yonghuId",request.getSession().getAttribute("userId"));
PageUtils pageUtils = xinwenCollectionService.queryPage(params1);
List<XinwenCollectionView> collectionViewsList =(List<XinwenCollectionView>)pageUtils.getList();
Map<Integer,Integer> typeMap=new HashMap<>();//购买的类型list
for(XinwenCollectionView collectionView:collectionViewsList){
Integer xinwenTypes = collectionView.getXinwenTypes();
if(typeMap.containsKey(xinwenTypes)){
typeMap.put(xinwenTypes,typeMap.get(xinwenTypes)+1);
}else{
typeMap.put(xinwenTypes,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("xinwenTypes",type);
PageUtils pageUtils1 = xinwenService.queryPage(params2);
List<XinwenView> xinwenViewList =(List<XinwenView>)pageUtils1.getList();
returnXinwenViewList.addAll(xinwenViewList);
if(returnXinwenViewList.size()>= limit) break;//返回的推荐数量大于要的数量 跳出循环
}
//正常查询出来商品,用于补全推荐缺少的数据
PageUtils page = xinwenService.queryPage(params);
if(returnXinwenViewList.size()<limit){//返回数量还是小于要求数量
int toAddNum = limit - returnXinwenViewList.size();//要添加的数量
List<XinwenView> xinwenViewList =(List<XinwenView>)page.getList();
for(XinwenView xinwenView:xinwenViewList){
Boolean addFlag = true;
for(XinwenView returnXinwenView:returnXinwenViewList){
if(returnXinwenView.getId().intValue() ==xinwenView.getId().intValue()) addFlag=false;//返回的数据中已存在此商品
}
if(addFlag){
toAddNum=toAddNum-1;
returnXinwenViewList.add(xinwenView);
if(toAddNum==0) break;//够数量了
}
}
}else {
returnXinwenViewList = returnXinwenViewList.subList(0, limit);
}
for(XinwenView c:returnXinwenViewList)
dictionaryService.dictionaryConvert(c, request);
page.setList(returnXinwenViewList);
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 = xinwenService.queryPage(params);
//字典表数据转换
List<XinwenView> list =(List<XinwenView>)page.getList();
for(XinwenView 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);
XinwenEntity xinwen = xinwenService.selectById(id);
if(xinwen !=null){
//entity转view
XinwenView view = new XinwenView();
BeanUtils.copyProperties( xinwen , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody XinwenEntity xinwen, HttpServletRequest request){
logger.debug("add方法:,,Controller:{},,xinwen:{}",this.getClass().getName(),xinwen.toString());
Wrapper<XinwenEntity> queryWrapper = new EntityWrapper<XinwenEntity>()
.eq("xinwen_name", xinwen.getXinwenName())
.eq("xinwen_uuid_number", xinwen.getXinwenUuidNumber())
.eq("xinwen_video", xinwen.getXinwenVideo())
.eq("xinwen_types", xinwen.getXinwenTypes())
.eq("xinwen_delete", xinwen.getXinwenDelete())
// .notIn("xinwen_types", new Integer[]{102})
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XinwenEntity xinwenEntity = xinwenService.selectOne(queryWrapper);
if(xinwenEntity==null){
xinwen.setXinwenDelete(1);
xinwen.setInsertTime(new Date());
xinwen.setCreateTime(new Date());
xinwenService.insert(xinwen);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
}
7.2 新闻Service
package com.service;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.XinwenEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;
/**
* 新闻资讯 服务类
*/
public interface XinwenService extends IService<XinwenEntity> {
/**
* @param params 查询参数
* @return 带分页的查询出来的数据
*/
PageUtils queryPage(Map<String, Object> params);
}
7.3 新闻ServiceImpl
package com.service.impl;
/**
* 新闻资讯 服务实现类
*/
@Service("xinwenService")
@Transactional
public class XinwenServiceImpl extends ServiceImpl<XinwenDao, XinwenEntity> implements XinwenService {
@Override
public PageUtils queryPage(Map<String,Object> params) {
Page<XinwenView> page =new Query<XinwenView>(params).getPage();
page.setRecords(baseMapper.selectListView(page,params));
return new PageUtils(page);
}
}
7.4 新闻DAO
package com.dao;
import com.entity.XinwenEntity;
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.XinwenView;
/**
* 新闻资讯 Dao 接口
*
* @author
*/
public interface XinwenDao extends BaseMapper<XinwenEntity> {
List<XinwenView> selectListView(Pagination page,@Param("params")Map<String,Object> params);
}
8.参考文档
你可能还有感兴趣的项目👇🏻👇🏻👇🏻
更多项目推荐:计算机毕业设计项目
如果大家有任何疑虑,请在下方咨询或评论