1,系统源码下载地址
见文章底部
2,系统环境
系统开发平台:JDK1.8 + Windows 7+Maven3.6.1
开发语言:JavaEE+vue
后台框架:Springboot
前端:Vue2.9.6
数据库:MySql5.7 Navicat
开发环境:Intellij Idea
浏览器:Chrome或360浏览器
3,系统环境配置
前置条件:系统已经安装了Mysql5.7、Mysql工具(Navicat)、JDK1.8、Maven3.6.1、vue3.0以下开发环境、 Intellij Idea、 Chrome或360浏览器
1、导入数据库
2、编译前端代码vue
编译:npm install
试运行:npm run serve
3、导入后端代码springboot
4、启动springboot
,4,系统的演示
校园招聘系统主要是招聘的功能开发,包括用户、企业、管理员,系统的功能非常的多。系统的截图如下所示:
4,系统核心代码
CommonController
@RestController public class CommonController{ @Autowired private CommonService commonService; @Autowired private ConfigService configService; private static AipFace client = null; private static String BAIDU_DITU_AK = null; @RequestMapping("/location") public R location(String lng,String lat) { if(BAIDU_DITU_AK==null) { BAIDU_DITU_AK = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "baidu_ditu_ak")).getValue(); if(BAIDU_DITU_AK==null) { return R.error("请在配置管理中正确配置baidu_ditu_ak"); } } Map<String, String> map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat); return R.ok().put("data", map); } /** * 人脸比对 * * @param face1 人脸1 * @param face2 人脸2 * @return */ @RequestMapping("/matchFace") public R matchFace(String face1, String face2) { if(client==null) { /*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/ String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getValue(); String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue(); String token = BaiduUtil.getAuth(APIKey, SecretKey); if(token==null) { return R.error("请在配置管理中正确配置APIKey和SecretKey"); } client = new AipFace(null, APIKey, SecretKey); client.setConnectionTimeoutInMillis(2000); client.setSocketTimeoutInMillis(60000); } JSONObject res = null; try { File file1 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face1); File file2 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face2); String img1 = Base64Util.encode(FileUtil.FileToByte(file1)); String img2 = Base64Util.encode(FileUtil.FileToByte(file2)); MatchRequest req1 = new MatchRequest(img1, "BASE64"); MatchRequest req2 = new MatchRequest(img2, "BASE64"); ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>(); requests.add(req1); requests.add(req2); res = client.match(requests); System.out.println(res.get("result")); } catch (FileNotFoundException e) { e.printStackTrace(); return R.error("文件不存在"); } catch (IOException e) { e.printStackTrace(); } return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString())); }
ConfigController
/** * 登录相关 */ @RequestMapping("config") @RestController public class ConfigController{ @Autowired private ConfigService configService; /** * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,ConfigEntity config){ EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>(); PageUtils page = configService.queryPage(params); return R.ok().put("data", page); } /** * 列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,ConfigEntity config){ EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>(); PageUtils page = configService.queryPage(params); return R.ok().put("data", page); } /** * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ ConfigEntity config = configService.selectById(id); return R.ok().put("data", config); }
UserController
/** * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); } /** * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); }
代码很多,具体的自己下载吧,有问题留言,系统没有任何问题:
https://gitee.com/springmeng/campusrecuit-system
5,数据表设计
DROP TABLE IF EXISTS `config`; CREATE TABLE `config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL COMMENT '配置参数名称', `value` varchar(100) DEFAULT NULL COMMENT '配置参数值', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='配置文件'; DROP TABLE IF EXISTS `discussqiuzhizhexinxi`; CREATE TABLE `discussqiuzhizhexinxi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `refid` bigint(20) NOT NULL COMMENT '关联表id', `content` varchar(200) NOT NULL COMMENT '评论内容', `userid` bigint(20) NOT NULL COMMENT '用户id', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='求职者信息评论表';
DROP TABLE IF EXISTS `discusszhaopinxinxi`; CREATE TABLE `discusszhaopinxinxi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `refid` bigint(20) NOT NULL COMMENT '关联表id', `content` varchar(200) NOT NULL COMMENT '评论内容', `userid` bigint(20) NOT NULL COMMENT '用户id', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='招聘信息评论表'; DROP TABLE IF EXISTS `gangweifenlei`; CREATE TABLE `gangweifenlei` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `gangweileibie` varchar(200) DEFAULT NULL COMMENT '岗位类别', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1596203316887 DEFAULT CHARSET=utf8 COMMENT='岗位分类';
DROP TABLE IF EXISTS `messages`; CREATE TABLE `messages` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `content` longtext NOT NULL COMMENT '内容', `userid` bigint(20) NOT NULL COMMENT '留言人id', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1596712023224 DEFAULT CHARSET=utf8 COMMENT='留言板'; DROP TABLE IF EXISTS `news`; CREATE TABLE `news` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `title` varchar(200) NOT NULL COMMENT '标题', `picture` varchar(200) NOT NULL COMMENT '图片', `content` longtext NOT NULL COMMENT '内容', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1596204167472 DEFAULT CHARSET=utf8 COMMENT='新闻资讯';
DROP TABLE IF EXISTS `qiuzhizhexinxi`; CREATE TABLE `qiuzhizhexinxi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名', `xingming` varchar(200) DEFAULT NULL COMMENT '姓名', `xingbie` varchar(200) DEFAULT NULL COMMENT '性别', `dianhua` varchar(200) DEFAULT NULL COMMENT '电话', `zhaopian` varchar(200) DEFAULT NULL COMMENT '照片', `xueli` varchar(200) DEFAULT NULL COMMENT '学历', `gangweileibie` varchar(200) DEFAULT NULL COMMENT '岗位类别', `jianli` varchar(200) DEFAULT NULL COMMENT '简历', `gongzuojingli` longtext COMMENT '工作经历', `gerenjibenqingkuang` longtext COMMENT '个人基本情况', `thumbsupnum` int(11) DEFAULT '0' COMMENT '赞', `crazilynum` int(11) DEFAULT '0' COMMENT '踩', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1596372486542 DEFAULT CHARSET=utf8 COMMENT='求职者信息';
DROP TABLE IF EXISTS `qiyexinxi`; CREATE TABLE `qiyexinxi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `qiyebianhao` varchar(200) DEFAULT NULL COMMENT '企业编号', `mima` varchar(200) DEFAULT NULL COMMENT '密码', `qiyemingcheng` varchar(200) DEFAULT NULL COMMENT '企业名称', `fuzeren` varchar(200) DEFAULT NULL COMMENT '负责人', `lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话', `qiyeyouxiang` varchar(200) DEFAULT NULL COMMENT '企业邮箱', `qiyejieshao` longtext COMMENT '企业介绍', PRIMARY KEY (`id`), UNIQUE KEY `qiyebianhao` (`qiyebianhao`) ) ENGINE=InnoDB AUTO_INCREMENT=1596200834702 DEFAULT CHARSET=utf8 COMMENT='企业信息';