本文从学生的功能要求出发,建立了校园兼职系统 ,系统中的功能模块主要是实现管理员:首页、个人中心、专业管理、商家管理、热门兼职管理、学生管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理、管理员管理、系统管理,学生:首页、个人中心、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理、我的收藏管理,商家:首页、个人中心、热门兼职管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理,前台首页:首页、商家、热门兼职、公告资讯、个人中心、后台管理、投诉反馈等功能部分:经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与校园兼职系统实现的实际需求相结合,讨论了java开发的校园兼职系统的使用。
环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui
前台首页功能模块
- 学生通过网址进入到网站界面,进行填写自己的用户名和密码等信息输入完成后学生登录成功1所示,如果学生没有自己的账户信息,则需要学生进行在线注册,学生注册时根据需求可以通过注册界面提示的文本框信息进行在线填写自己的基本信息内容,信息编辑完成后核对信息无误后进行在线提交,新的学生注册完成
- 学生登录进入到前台首页界面,可以进行查看首页、商家、热门兼职、公告资讯、个人中心、后台管理、投诉反馈等功能模块,进行相对应操作,通过热门兼职进行查看兼职名称、专业、分类、总薪资、工作地点、工作时间,进行兼职接单操作
- 热门兼职界面
- 学生通过点击商家可以进行填写商家编号、商家名称、商家类型等信息,进行提交操作1所示。学生点击投诉反馈可以进行填写投诉内容等信息,进行提交操作
- 投诉反馈界面图
1、开发实现校园兼职系统的整个系统程序:
2、管理员:首页、个人中心、专业管理、商家管理、热门兼职管理、学生管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理、管理员管理、系统管理等模块信息的查看及相应操作:
3、学生:首页、个人中心、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理、我的收藏管理等相应操作:
4、前台首页:首页、商家、热门兼职、公告资讯、个人中心、后台管理、投诉反馈等相应操作:
5、商家:首页、个人中心、热门兼职管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理等相应操作:
6、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行留言信息的查看及回复相应操作。
管理员功能模块
- 管理员通过后台登录窗口进行输入用户名、密码、角色等信息,进行登录
- 专业管理,管理员通过列表进行填写专业等信息,进行详情、修改或删除操作
- 商家管理,管理员通过商家管理可以在线查看商家编号、密码、商家名称、商家类型、商家图片、联系人、联系电话、商家地址、商家介绍等信息,进行详情或修改、删除操作
- 学生管理,管理员通过学生管理可以在线查看学号、密码、学生姓名、性别、头像、专业、手机、邮箱等信息,进行查看或修改、删除操作
- 兼职接单管理,管理员通过兼职接单管理可以在线查看兼职名称、专业、分类、图片、总薪资、商家编号、联系电话、工作地点、申请日期、学号、学生姓名、手机、审核回复、审核状态等信息,进行查看或添加修改或删除
- 学生咨询管理:通过列表可以获取咨询标题、商家编号、商家名称、咨询日期、学号、学生姓名、手机、审核回复、审核状态等信息,进行查看、详情、修改或删除操作
- 兼职任务管理:通过列表可以获取兼职名称、商家编号、任务名称、任务要求、总薪资、任务附件、发布日期、学号、学生姓名等信息,进行查看、详情、修改或删除操作
- 管理员管理:通过列表可以获取用户名、密码、角色等信息,进行查看、详情、修改或删除操作
学生功能模块
- 学生通过点击后台管理,进入页面可以进行首页、个人中心、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理、我的收藏管理等功能模块,进行相对应操作
- 兼职接单管理:通过兼职接单管理可以进行获取兼职名称、专业、分类、图片、总薪资、商家编号、联系电话、工作地点、申请日期、学号、学生姓名、手机审核回复、审核状态等信息进行详情
- 学生咨询管理:学生通过列表可以获取咨询标题、商家编号、商家名称、咨询日期、学号、学生姓名、手机、审核回复、审核状态等信息,进行详情操作
- 兼职任务管理:学生通过列表可以获取兼职名称、商家编号、任务名称、任务要求、总薪资、任务附件、发布日期、学号、学生姓名等信息,进行详情修改操作
商家功能模块
- 商家通过点击后台管理,进入页面可以进行首页、个人中心、热门兼职管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理等功能模块,进行相对应操作
- 兼职接单管理:通过兼职接单管理可以进行获取兼职名称、专业、分类、图片、总薪资、商家编号、联系电话、工作地点、申请日期、学号、学生姓名、手机审核回复、审核状态等信息进行详情
- 学生咨询管理:商家通过列表可以获取咨询标题、商家编号、商家名称、咨询日期、学号、学生姓名、手机、审核回复、审核状态等信息,进行详情操作
- 兼职任务管理:商家通过列表可以获取兼职名称、商家编号、任务名称、任务要求、总薪资、任务附件、发布日期、学号、学生姓名等信息,进行详情修改操作
/**
* 登录相关
*/
@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);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37