作者简介:Java领域优质创作者、优快云博客专家 、优快云内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师
主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助
收藏点赞不迷路 关注作者有好处
文末获取源码
项目编号:L-BS-GX-06
一,环境介绍
语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或eclipse
二,项目简介
基于SpringBoot+Vue的新生报道系统是一个集在线交流、学生管理、留言管理、宿舍分配管理、校园概况管理、新生报到管理、班级管理、宿舍报修管理、宿舍管理以及系统管理(用户管理)等功能于一体的管理系统。本系统旨在为管理员、辅导员和学生提供方便、高效的管理和交流平台,以便更好地完成新生报道工作,提高学校的管理效率和服务质量。
系统涵盖了管理员、辅导员和学生三个角色,分别提供不同的功能和权限,为新生的报道和入学准备提供全方位的支持。
- 管理员功能:
- 在线交流:管理员可以与辅导员和学生进行在线交流和沟通,解答疑问和提供支持。
- 学生管理:管理员可以管理学生信息,包括添加、编辑、删除学生
学生的信息,确保信息的准确性和完整性。
- 留言管理:管理员可以管理系统中的留言信息,进行审核、回复和删除等操作,促进学校内部的沟通和交流。
- 辅导员管理:管理员可以管理辅导员的信息,包括添加、编辑和删除辅导员账号,确保系统的运行和管理。
- 宿舍分配管理:管理员可以管理新生的宿舍分配,包括宿舍楼层、房间号等信息的录入和调整。
- 校园概况管理:管理员可以维护校园概况的信息,包括学校介绍、校园地图、教学设施等,方便新生了解校园环境。
- 新生报到管理:管理员可以管理新生的报道信息,包括报到时间、地点、报道流程等,确保新生的顺利入学。
- 班级管理:管理员可以管理学生的班级信息,包括班级名称、班级成员等,方便学生之间的交流和组织活动。
- 宿舍报修管理:管理员可以处理学生宿舍报修的请求,分配维修人员和跟踪维修进度,确保宿舍环境的良好。
- 宿舍管理:管理员可以管理宿舍的基本信息,包括宿舍楼名称、楼层分布等,方便学生查询和了解宿舍情况。
- 系统管理:管理员可以管理系统的用户,包括用户账号的添加、编辑和删除,确保系统的安全性和运行稳定性。
2.辅导员功能:
- 在线交流:辅导员可以与管理员、其他辅导员和学生进行在线交流和沟通,提供指导和支持。
- 学生管理:辅导员可以管理所辖学生的信息,包括学生档案、个人信息等,了解学生的情况并提供相应的帮助和指导。
- 留言管理:辅导员可以管理学生和辅导员之间的留言信息,及时回复和解答学生的问题,促进良好的学生辅导关系。
- 新生报到管理:辅导员可以管理所辖新生的报道情况,提供新生报道流程、指导和协助,确保新生的顺利入学。
3. 学生功能:
- 在线交流:学生可以与管理员和辅导员进行在线交流和咨询,提出问题和获得支持。
- 专业介绍:学生可以查看学校各个专业的介绍和课程设置,了解自己所学专业的相关信息。
- 校园概况:学生可以浏览学校的校园概况,包括校园地图、教学设施、学生活动等,熟悉校园环境。
- 我的宿舍分配:学生可以查询自己的宿舍分配情况,了解宿舍楼层、房间号等信息。
- 新生到校报到:学生可以查看新生报到的时间和地点,了解报道流程和事项,顺利完成入学手续。
- 宿舍报修:学生可以提交宿舍报修的请求,描述问题和需求,维修人员会及时处理报修事项。
三,系统展示
四,核心代码展示
4.1 ArriveschoolController
@RestController
@RequestMapping("/arriveschool")
public class ArriveschoolController {
@Resource
private IArriveschoolService arriveschoolService;
@Resource
IUserService userService;
private final String now = DateUtil.now();
// 新增或者更新
@PostMapping
public Result save(@RequestBody Arriveschool arriveschool) {
if (arriveschool.getId() == null) {
Integer userid = arriveschool.getUserid();
QueryWrapper<Arriveschool> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("userid",userid);
final Arriveschool one = arriveschoolService.getOne(queryWrapper);
if(null != one){
return Result.error("400","只能提交一次,不能重复提交");
}
}
arriveschoolService.saveOrUpdate(arriveschool);
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Integer id) {
arriveschoolService.removeById(id);
return Result.success();
}
@PostMapping("/del/batch")
public Result deleteBatch(@RequestBody List<Integer> ids) {
arriveschoolService.removeByIds(ids);
return Result.success();
}
@GetMapping
public Result findAll() {
return Result.success(arriveschoolService.list());
}
@GetMapping("/{id}")
public Result findOne(@PathVariable Integer id) {
return Result.success(arriveschoolService.getById(id));
}
@GetMapping("/page")
public Result findPage(@RequestParam(defaultValue = "") String name,
@RequestParam Integer userid,
@RequestParam Integer pageNum,
@RequestParam Integer pageSize) {
QueryWrapper<Arriveschool> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
if (!"".equals(name)) {
queryWrapper.like("name", name);
}
if(userid != -1){
queryWrapper.eq("userid",userid);
}
return Result.success(arriveschoolService.page(new Page<>(pageNum, pageSize), queryWrapper));
}
@GetMapping("/byTeacherPage")
public Result findByTeacherPage(@RequestParam(defaultValue = "") String name,
@RequestParam Integer userid,
@RequestParam Integer pageNum,
@RequestParam Integer pageSize) {
QueryWrapper<Arriveschool> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
if (!"".equals(name)) {
queryWrapper.like("name", name);
}
User byId = userService.getById(userid);
queryWrapper.eq("classid",byId.getClassid());
return Result.success(arriveschoolService.page(new Page<>(pageNum, pageSize), queryWrapper));
}
@GetMapping("/agree")
public Result agree(@RequestParam Integer id) {
QueryWrapper<Arriveschool> queryWrapper = new QueryWrapper<>();
Arriveschool byId = arriveschoolService.getById(id);
if(byId != null){
byId.setStatus("审核通过");
arriveschoolService.updateById(byId);
return Result.success("审核通过");
}else{
return Result.error("400","不存在数据,无法审核");
}
}
@GetMapping("/reject")
public Result reject(@RequestParam Integer id) {
QueryWrapper<Arriveschool> queryWrapper = new QueryWrapper<>();
Arriveschool byId = arriveschoolService.getById(id);
if(byId != null){
byId.setStatus("审核拒绝");
arriveschoolService.updateById(byId);
return Result.success("审核拒绝");
}else{
return Result.error("400","不存在数据,无法审核");
}
}
/**
* 导出接口
*/
@GetMapping("/export")
public void export(HttpServletResponse response) throws Exception {
// 从数据库查询出所有的数据
List<Arriveschool> list = arriveschoolService.list();
// 在内存操作,写出到浏览器
ExcelWriter writer = ExcelUtil.getWriter(true);
// 一次性写出list内的对象到excel,使用默认样式,强制输出标题
writer.write(list, true);
// 设置浏览器响应的格式
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
String fileName = URLEncoder.encode("Arriveschool信息表", "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
ServletOutputStream out = response.getOutputStream();
writer.flush(out, true);
out.close();
writer.close();
}
/**
* excel 导入
* @param file
* @throws Exception
*/
@PostMapping("/import")
public Result imp(MultipartFile file) throws Exception {
InputStream inputStream = file.getInputStream();
ExcelReader reader = ExcelUtil.getReader(inputStream);
// 通过 javabean的方式读取Excel内的对象,但是要求表头必须是英文,跟javabean的属性要对应起来
List<Arriveschool> list = reader.readAll(Arriveschool.class);
arriveschoolService.saveBatch(list);
return Result.success();
}
private User getUser() {
return TokenUtils.getCurrentUser();
}
}
4.2 ClassesController
@RestController
@RequestMapping("/classes")
public class ClassesController {
@Resource
private IClassesService classesService;
@Resource
IUserService userService;
private final String now = DateUtil.now();
// 新增或者更新
@PostMapping
public Result save(@RequestBody Classes classes) {
if (classes.getId() == null) {
//classes.setTime(DateUtil.now());
//classes.setUser(TokenUtils.getCurrentUser().getNickname());
//classes.setUserid(TokenUtils.getCurrentUser().getId());
}
classesService.saveOrUpdate(classes);
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Integer id) {
classesService.removeById(id);
return Result.success();
}
@PostMapping("/del/batch")
public Result deleteBatch(@RequestBody List<Integer> ids) {
classesService.removeByIds(ids);
return Result.success();
}
@GetMapping
public Result findAll() {
return Result.success(classesService.list());
}
@GetMapping("/{id}")
public Result findOne(@PathVariable Integer id) {
return Result.success(classesService.getById(id));
}
@GetMapping("/page")
public Result findPage(@RequestParam(defaultValue = "") String name,
@RequestParam Integer pageNum,
@RequestParam Integer pageSize) {
QueryWrapper<Classes> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
if (!"".equals(name)) {
queryWrapper.like("name", name);
}
// User currentUser = TokenUtils.getCurrentUser();
// if (currentUser.getRole().equals("ROLE_USER")) {
// queryWrapper.eq("userid", currentUser.getId());
// }
return Result.success(classesService.page(new Page<>(pageNum, pageSize), queryWrapper));
}
/**
* 导出接口
*/
@GetMapping("/export")
public void export(HttpServletResponse response) throws Exception {
// 从数据库查询出所有的数据
List<Classes> list = classesService.list();
// 在内存操作,写出到浏览器
ExcelWriter writer = ExcelUtil.getWriter(true);
// 一次性写出list内的对象到excel,使用默认样式,强制输出标题
writer.write(list, true);
// 设置浏览器响应的格式
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
String fileName = URLEncoder.encode("Classes信息表", "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
ServletOutputStream out = response.getOutputStream();
writer.flush(out, true);
out.close();
writer.close();
}
/**
* excel 导入
* @param file
* @throws Exception
*/
@PostMapping("/import")
public Result imp(MultipartFile file) throws Exception {
InputStream inputStream = file.getInputStream();
ExcelReader reader = ExcelUtil.getReader(inputStream);
// 通过 javabean的方式读取Excel内的对象,但是要求表头必须是英文,跟javabean的属性要对应起来
List<Classes> list = reader.readAll(Classes.class);
classesService.saveBatch(list);
return Result.success();
}
private User getUser() {
return TokenUtils.getCurrentUser();
}
}
五,相关作品展示
基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目
基于Nodejs、Vue等前端技术开发的前端实战项目
基于微信小程序和安卓APP应用开发的相关作品
基于51单片机等嵌入式物联网开发应用
基于各类算法实现的AI智能应用
基于大数据实现的各类数据管理和推荐系统