❤️肝了一个SpringBoot+Vue的招聘系统开源了还有教程强烈建议收藏❤️

Posted 我是springmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️肝了一个SpringBoot+Vue的招聘系统开源了还有教程强烈建议收藏❤️相关的知识,希望对你有一定的参考价值。

周末本来是配女友逛街的日子,但是最近沉迷技术无法自拔!

还把女友得罪了,我给女友转了一520的红包!我说你去逛街吧,我要写代码!

金九银十来了,小伙伴们,冲啊!前面已经整理了很多的面试题,拿去学习吧!

1,❤️爆肝!整理了一周的Spring面试大全【含答案】,吊打Java面试官【建议收藏】!❤️

2,❤️肝完了,一天掌握数据结构和算法面试题,吊打面试官,建议收藏❤️

3,❤️集合很简单?开什么玩笑?肝了一周,全是精华,万字讲解!面试再不怕集合问题了!!!❤️

4,肝完了,总结了SpringBoot与缓存的知识点,快速掌握

5,Mysql面试大全,看完可以吊打面试官!!!

6,入计算机专业的师弟师妹,别再迷茫了,我整理一份CS的学习路线大全!帮你超越大部分的同学!

7,❤️专科出身拿到阿里offer,小孟直呼666!【付硬核面试】❤️

8,❤️设计模式肝完了,还挺全!腾讯和阿里的offer已拿!❤️

废话不叨叨,直接上干货!

目录

1,系统源码下载地址

 2,系统环境

3,系统环境配置

4,系统核心代码

5,数据表设计


1,系统源码下载地址

https://gitee.com/springmeng/campusrecuit-system

代码开源,代码开源,代码开源,无任何套路!

还有完整的视频教程,只限制用于学习使用:

视频教程

可以说是,教程非常的详细了:

 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='企业信息';

我是小孟,记得点个赞支持下,谢了!

小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

以上是关于❤️肝了一个SpringBoot+Vue的招聘系统开源了还有教程强烈建议收藏❤️的主要内容,如果未能解决你的问题,请参考以下文章

基于SpringBoot+Vue毕业生信息招聘平台系统源码+论文+演示视频+包运行成功

❤️撸完这个springboot项目,我对boot轻车熟路!源码+视频都开源强烈建议收藏❤️

❤️撸完这个springboot项目,我对boot轻车熟路!源码+视频都开源强烈建议收藏❤️

❤️撸完这个springboot项目,我对boot轻车熟路!源码+视频都开源强烈建议收藏❤️

❤️分享一个基于SpringCloud的微服务项目源码+视频教程保姆式教程建议收藏❤️

❤️分享一个基于SpringCloud的微服务项目源码+视频教程保姆式教程建议收藏❤️