🍅 作者主页:Selina .a
🍅 简介:Java领域优质创作者🏆、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。
主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。
🍅文末获取源码联系🍅
目录
课题的提出
基于微信小程序的高校就业招聘系统的课题提出,主要源于以下几个方面的背景和需求:
- 移动互联网的普及:
- 用户行为习惯变化:随着智能手机的广泛使用,人们越来越倾向于通过移动设备获取信息、进行社交和完成各种事务。大学生作为年轻的互联网用户群体,对移动应用的接受度和使用频率都非常高。他们希望能够随时随地通过手机等移动设备,方便地查看招聘信息、投递简历以及与企业进行沟通交流。
- 微信平台的广泛应用:微信作为一款国民级的社交应用,拥有庞大的用户基础和强大的社交属性。微信小程序依托于微信平台,无需下载安装即可使用,具有便捷性、高效性和良好的用户体验。这使得基于微信小程序开发高校就业招聘系统具有天然的优势,能够更好地满足大学生的使用习惯和需求。
- 高校就业市场的需求:
- 就业竞争激烈:高校应届毕业生数量逐年增加,就业市场竞争日益激烈。毕业生需要更加便捷、高效的渠道来获取就业信息,提高求职效率。基于微信小程序的高校就业招聘系统可以为毕业生提供更多的就业机会和选择,帮助他们更好地应对就业市场的挑战。
- 企业招聘需求多样化:企业在招聘过程中,希望能够更加精准地找到符合需求的优秀人才,同时也希望能够降低招聘成本和提高招聘效率。微信小程序可以实现企业与求职者之间的快速匹配和沟通,为企业提供更加便捷、高效的招聘服务。
- 传统就业招聘方式的局限性:
- 信息传播不及时:传统的就业招聘方式,如校园招聘会、线下宣讲会等,受到时间和空间的限制,信息传播不够及时和广泛。基于微信小程序的高校就业招聘系统可以实现信息的实时更新和推送,让毕业生能够第一时间了解到最新的招聘信息。
- 管理效率低下:传统的就业招聘管理方式存在数据分散、信息不准确、管理效率低下等问题。基于微信小程序的高校就业招聘系统可以实现数据的集中管理和分析,提高管理效率和决策的准确性。
- 技术发展的推动:
- 小程序技术的成熟:微信小程序技术经过不断的发展和完善,已经具备了开发复杂应用的能力。其丰富的组件和接口,可以满足高校就业招聘系统的功能需求,为系统的开发提供了技术支持。
- 大数据和人工智能的应用:随着大数据和人工智能技术的发展,在高校就业招聘系统中可以引入这些技术,实现对招聘数据的分析和挖掘,为毕业生提供更加个性化的就业推荐服务,同时也为企业提供更加精准的人才筛选服务。
综上所述,基于微信小程序的高校就业招聘系统的课题提出,是为了适应移动互联网的发展趋势,满足高校就业市场的需求,克服传统就业招聘方式的局限性,并借助技术的发展,为毕业生和企业提供更加便捷、高效、智能的就业招聘服务。
数据库设计
设计基于微信平台的高校就业招聘系统的管理员,前台的用户登录注册等信息和一些功能数据都需要用到我们的数据库来存和取,数据库表的信息如下所示。
表3.1字典表表
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | dic_code | String | 字段 | 是 |
| 3 | dic_name | String | 字段名 | 是 |
| 4 | code_index | Integer | 编码 | 是 |
| 5 | index_name | String | 编码名字 | 是 |
| 6 | super_id | Integer | 父字段id | 是 |
| 7 | beizhu | String | 备注 | 是 |
| 8 | create_time | Date | 创建时间 | 是 |
表3.2论坛表
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | forum_name | String | 帖子标题 | 是 |
| 3 | gongsi_id | Integer | 企业 | 是 |
| 4 | yonghu_id | Integer | 用户 | 是 |
| 5 | users_id | Integer | 管理员 | 是 |
| 6 | forum_content | String | 发布内容 | 是 |
| 7 | super_ids | Integer | 父id | 是 |
| 8 | forum_state_types | Integer | 帖子状态 | 是 |
| 9 | insert_time | Date | 发帖时间 | 是 |
| 10 | update_time | Date | 修改时间 | 是 |
| 11 | create_time | Date | 创建时间 | 是 |
表3.3企业表
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | gongsi_name | String | 企业名称 | 是 |
| 3 | gongsi_types | Integer | 企业类型 | 是 |
| 4 | gongsi_phone | String | 联系方式 | 是 |
| 5 | gongsi_email | String | 邮箱 | 是 |
| 6 | gongsi_photo | String | 企业封面 | 是 |
| 7 | gongsi_content | String | 企业简介 | 是 |
| 8 | gongsi_delete | Integer | 逻辑删除 | 是 |
| 9 | create_time | Date | 创建时间 | 是 |
表3.4简历表
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | yonghu_id | Integer | 用户 | 是 |
| 3 | jianli_uuid_number | String | 简历唯一编号 | 是 |
| 4 | jianli_name | String | 简历标题 | 是 |
| 5 | jianli_xingming | String | 姓名 | 是 |
| 6 | jianli_types | Integer | 求职意向 | 是 |
| 7 | jianli_xinzi | String | 期望工资 | 是 |
| 8 | jianli_xueli | String | 学历 | 是 |
| 9 | jianli_jingli | String | 工作经历 | 是 |
| 10 | sex_types | Integer | 性别 | 是 |
| 11 | jianli_file | String | 简历文件 | 是 |
| 12 | jianli_phone | String | 手机号 | 是 |
| 13 | jianli_photo | String | 照片 | 是 |
| 14 | jianli_address | String | 位置 | 是 |
| 15 | jiaoyu_text | String | 教育经历 | 是 |
| 16 | shixi_text | String | 实习或工作经历 | 是 |
| 17 | geren_text | String | 个人介绍 | 是 |
| 18 | create_time | Date | 创建时间 | 是 |
系统功能设计






















关键代码
package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
* 登录相关
*/
@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("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@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();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
专栏推荐
Spring Boot+Vue+CSS+JavaScript+HTML等技术项目专栏推荐
推荐项目
基于Node.js+Vue+MySQL的小型企业工资管理系统
基于Spring Boot+Android+MySQL的记录生活管理系统
源码获取
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻


1838

被折叠的 条评论
为什么被折叠?



