Advertisement

Java项目:校园管理系统(java+SpringBoot+Mybaits+Vue+elementui+mysql)

阅读量:

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

基于Springboot + vue实现的校园管理系统

本系统包含管理员、用户、院校管理员三个角色。

管理员角色:用户管理、院校管理、单位类别管理、院校管理员管理、单位管理、通知推送管理、投票信息管理、通知回复管理等。

用户角色:个人中心管理、单位管理、通知推送管理、投票信息管理、通知回复管理等。

院校管理员角色:单位管理、通知推送管理、投票信息管理、通知回复管理等。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue + elementui

使用说明

项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入地址:
后台登录页面
http://localhost:8080/springboot6yjn8/admin/dist/index.html
管理员 abo 密码 abo
用户:用户1 密码:123456
院校管理员:院校管理员2 密码:123456
注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。

文档结构展示:

通知管理展示页:

院校管理展示:

投票管理展示页面:

通知管理展示页面:

单位类别展示:

用户管理展示页:

个人中心展示页面:

单位管理展示页面:

用户管理控制层:

复制代码
 @RequestMapping("/user")

    
 @RestController //标识为返回类型为Json的控制器
    
 public class UserController {
    
 	
    
 	//自动注入服务类
    
 	@Autowired
    
 	private IUserService userService;
    
 	
    
 	@Autowired
    
 	private TStudentService studentService;
    
 	
    
     //标识请求地址
    
     @RequestMapping("/login")
    
     public ResultObject<List<User>> getUsers(User user,HttpServletRequest request) {
    
     	//查询用户列表
    
     	List<User> list= userService.getUser(user);
    
     	ResultObject<List<User>> rs=new ResultObject<List<User>>();
    
     	if(list.isEmpty()) {
    
     		//状态码
    
     	rs.setCode(Constant.FAILURE_RETUEN_CODE);
    
     	//提示
    
     	rs.setMsg("登录失败");
    
     	}else {
    
     		//状态码
    
     	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    
     	request.getSession().setAttribute("user", list.get(0));
    
     	//提示
    
     	rs.setMsg("登录成功");
    
     	}    	
    
     	//数据
    
     	rs.setData(list);
    
     return rs;
    
     }
    
     @RequestMapping("/loginOut")
    
     public ResultObject<Object> loginOut(HttpServletRequest request) {
    
     	//查询用户列表
    
     	ResultObject<Object> rs=new ResultObject<Object>();
    
     	request.getSession().removeAttribute("user");	
    
     	//数据
    
     	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    
     	rs.setMsg("退出成功");
    
     return rs;
    
     }
    
     
    
     //标识请求地址
    
     @RequestMapping("/studentLogin")
    
     public ResultObject<List<TStudent>> studentLogin(User user,HttpServletRequest request) {
    
     	//查询用户列表
    
     	TStudent student=new TStudent();
    
     	student.setStudentNo(Integer.parseInt(user.getUserName()));
    
     	student.setStuPass(user.getPassword());
    
     	List<TStudent> list= studentService.selectloginStudent(student);
    
     	ResultObject<List<TStudent>> rs=new ResultObject<List<TStudent>>();
    
     	if(list.isEmpty()) {
    
     		//状态码
    
     	rs.setCode(Constant.FAILURE_RETUEN_CODE);
    
     	//提示
    
     	rs.setMsg("登录失败");
    
     	}else {
    
     		//状态码
    
     	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    
     	request.getSession().setAttribute("student", list.get(0));
    
     	//提示
    
     	rs.setMsg("登录成功");
    
     	}    	
    
     	//数据
    
     	rs.setData(list);
    
     return rs;
    
     }
    
     @RequestMapping("/studentloginOut")
    
     public ResultObject<Object> studentloginOut(HttpServletRequest request) {
    
     	//查询用户列表
    
     	ResultObject<Object> rs=new ResultObject<Object>();
    
     	request.getSession().removeAttribute("student");	
    
     	//数据
    
     	rs.setCode(Constant.SUCCESS_RETUEN_CODE);
    
     	rs.setMsg("退出成功");
    
     return rs;
    
     }
    
     
    
     
    
  
    
 }
    
    
    
    

教师管理控制层:

复制代码
 @Controller

    
 @RequestMapping(value="/teacher")
    
 public class TeacherController {
    
 	@Autowired
    
 	private TeacherService teacherService;
    
 	
    
 	@ResponseBody
    
 	@RequestMapping(value="/list")
    
 	public String getTeacherList(@RequestParam(defaultValue="0")int curr,@RequestParam(defaultValue="10")int nums,
    
 			@RequestParam(defaultValue="")String searchKey) {
    
 		Pagination<Teacher> page = new Pagination<Teacher>();
    
 		
    
 		page.setTotalItemsCount(teacherService.getTotalItemsCount(searchKey));
    
 		page.setPageSize(nums);
    
 		page.setPageNum(curr);
    
 		List<Teacher> list = teacherService.getTeacher(page, searchKey);
    
 		
    
 		
    
 		String jsonStr = StrUtil.RETURN_JONS_PRE_STR + page.getTotalItemsCount() 
    
 				+ StrUtil.RETURN_JONS_MID_STR
    
 				+ JSON.toJSONString(list) + StrUtil.RETURN_JONS_END_STR;
    
 		return jsonStr;
    
 	}
    
 	
    
 	@ResponseBody
    
 	@RequestMapping(value="/listForSelect")
    
 	public String getTeacherListForSelect(@RequestParam(defaultValue="") String searchKey) {
    
 		List<Teacher> list = teacherService.getTeacherForSelect(searchKey);
    
 		String jsonStr = StrUtil.RETURN_JONS_PRE_STR + list.size() 
    
 				+ StrUtil.RETURN_JONS_MID_STR
    
 				+ JSON.toJSONString(list) + StrUtil.RETURN_JONS_END_STR;
    
 		return jsonStr;
    
 	}
    
     
    
 	@RequestMapping(value="/addPage")
    
 	public ModelAndView toAddPage() {
    
 		return new ModelAndView("/teacherAdd");
    
 	}
    
 	
    
 	/** * 增加,或者修改teacher
    
 	 * @param opType
    
 	 * @param teacher
    
 	 * @return
    
 	 */
    
 	@ResponseBody
    
 	@RequestMapping(value="/add")
    
 	public String addTeacher(@RequestParam(defaultValue="2") int opType, Teacher teacher) {
    
 		int res = 0;
    
 		if (opType == 0) {
    
 			try {
    
 				teacher.setPassword(teacher.getPassword().toUpperCase());
    
 				res = teacherService.addTeacher(teacher);
    
 			} catch (Exception e) {
    
 				System.out.println("添加失败!学号重复!");
    
 				return "添加失败!工号重复!";
    
 			}
    
 			if (res > 0)
    
 				return StrUtil.RESULT_TRUE;
    
 			return "添加失败";
    
 		} else if (opType == 1) {
    
 			teacher.setPassword(null);
    
 			res = teacherService.updateTeacher(teacher);
    
 			if (res > 0) return StrUtil.RESULT_TRUE;
    
 			return "修改失败!";
    
 		}
    
 		return "error";
    
 	}
    
 	
    
 	/** * 重置密码
    
 	 * @param id
    
 	 * @return
    
 	 */
    
 	@ResponseBody
    
 	@RequestMapping(value="/resetPswd")
    
 	public String resetPasswrd(String id) {
    
 		Teacher teacher = new Teacher();
    
 		teacher.setId(id);
    
 		teacher.setPassword(MD5Util.MD5("123456"));
    
 		if (teacherService.updateTeacher(teacher) > 0) return StrUtil.RESULT_TRUE;
    
 		return "修改失败!";
    
 	}
    
 	
    
 	@ResponseBody
    
 	@RequestMapping(value="/delete")
    
 	public String deleteStudnet(Teacher t) {
    
 		if (teacherService.deleteTeacher(t) > 0) return StrUtil.RESULT_TRUE;
    
 		return "删除失败!";
    
 	}
    
 	
    
 	/** * 批量删除
    
 	 * @param tIds
    
 	 * @return
    
 	 */
    
 	@ResponseBody
    
 	@RequestMapping(value="/deleteList")
    
 	public String deleteStudnetList(String tIds) {
    
 		List<String> list = new ArrayList<String>();
    
 		try {
    
 			String[] ids = tIds.split(",");
    
 			for (String id: ids) {
    
 				list.add(id);
    
 			}
    
 			if (teacherService.deleteTeacher(list) > 0) {
    
 				return StrUtil.RESULT_TRUE;
    
 			}
    
 		} catch (Exception e) {
    
 			e.printStackTrace();
    
 			return "删除失败!参数出错!";//
    
 		}
    
 		return "删除失败!";
    
 	}
    
 	
    
 	@ResponseBody
    
 	@RequestMapping("/import")  
    
 	public String impotr(HttpServletRequest request, MultipartFile file) {  
    
 	     //获取上传的文件  
    
 	     InputStream in = null;
    
 		try {
    
 			in = file.getInputStream();
    
 			//数据导入  
    
 			int res = teacherService.importExcelInfo(in,file);
    
 			if (res > 0) {
    
 				return StrUtil.RETURN_JONS_PRE_STR+"0"
    
 						+StrUtil.RETURN_JONS_MID_STR+"true"
    
 						+StrUtil.RETURN_JONS_END_STR;
    
 			} else {
    
 				return StrUtil.RETURN_JONS_PRE_STR+"0"
    
 						+StrUtil.RETURN_JONS_MID_STR+"false"
    
 						+StrUtil.RETURN_JONS_END_STR;
    
 			}
    
 		} catch (Exception e) {
    
 			e.printStackTrace();
    
 			return StrUtil.RETURN_JONS_PRE_STR+"0"
    
 			+StrUtil.RETURN_JONS_MID_STR+"error"
    
 			+StrUtil.RETURN_JONS_END_STR;
    
 		} finally {
    
 			if (in != null)
    
 				try {
    
 					in.close();
    
 				} catch (IOException e) {
    
 					e.printStackTrace();
    
 				}
    
 		}
    
 	}
    
 }
    
    
    
    

登录管理控制层:

复制代码
 @Controller

    
 @RequestMapping(value="/login")
    
 public class LoginController {
    
 	
    
 	@Autowired
    
 	AuthService authService;
    
 	
    
 	@Autowired
    
 	AdminService adminServiceImpl;
    
 	
    
 	@Autowired
    
 	TeacherService teacherServiceImpl;
    
 	
    
 	@Autowired
    
 	StudentService studentServiceImpl;
    
 	
    
 	@RequestMapping(value="/loginPage")
    
 	public ModelAndView toLoginPage() {
    
 		return new ModelAndView("login");
    
 	}
    
 	
    
 	@ResponseBody
    
 	@RequestMapping(value="/doLogin")
    
 	public String doLogin(@RequestParam(defaultValue="") String username,
    
 			@RequestParam(defaultValue="") String password,
    
 			@RequestParam(defaultValue="0") int userType,
    
 			@RequestParam(defaultValue="") String verifyCode, HttpSession session) {
    
 		
    
 		//比较验证码
    
 		String sessionVerifyCode = (String) session.getAttribute(StrUtil.VERIFY_CODE);
    
 		if (sessionVerifyCode == null || !sessionVerifyCode.equals(verifyCode.toUpperCase()) ) {
    
 			return StrUtil.CODE_ERROR;
    
 		}
    
 		
    
 		Login loginUser = null;
    
 		if (userType == 1) {
    
 			loginUser = (Login) adminServiceImpl;
    
 		} else if(userType == 2) {
    
 			loginUser = (Login) teacherServiceImpl;
    
 		} else if(userType == 3) {
    
 			loginUser = (Login) studentServiceImpl;
    
 		}
    
 		User user = loginUser.loginValidate(username, password.toUpperCase());//获得验证后user对象
    
 		
    
 		if (user != null) {
    
 			
    
 			//List<Auth> menuList = authService.getMenuList(user.getUserType());
    
 			List<Auth> urlList = authService.getUrlList(user.getUserType());
    
 			
    
 			user.setUrlList(urlList);
    
 			//user.setMenuList(menuList);
    
 			
    
 			session.setAttribute(StrUtil.USER, user);
    
 			return JSON.toJSONString(user);
    
 		}
    
 		
    
 		return StrUtil.RESULT_FALSE;
    
 	}
    
 	
    
 	@RequestMapping(value="/out")
    
 	public ModelAndView loginOut(HttpSession session) {
    
 		session.invalidate();//销毁sessions
    
 		//请求重定向到主页(login页)
    
 		return new ModelAndView("redirect:/");
    
 	}
    
 	
    
 	@RequestMapping(value="/getVerifyCode")
    
 	public void getVerifyCode(HttpServletResponse response, HttpSession session) {
    
 		ByteArrayOutputStream output = new ByteArrayOutputStream();
    
 		session.setAttribute("verifyCode", drawCodeImg(output));
    
 		try {
    
 			ServletOutputStream out = response.getOutputStream();
    
 			output.writeTo(out);
    
 		} catch (IOException e) {
    
 			e.printStackTrace();
    
 		}
    
 	}
    
  
    
 	/** * 绘出验证码
    
 	 * @param output
    
 	 * @return
    
 	 */
    
 	private String drawCodeImg(ByteArrayOutputStream output) {
    
 		String code = "";
    
 		for (int i = 0; i < 4; i++) {
    
 			code += randomChar();
    
 		}
    
 		
    
 		int width = 70;
    
 		int height = 36;
    
 		BufferedImage bImage = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
    
 		Font font = new Font("Times New Roman", Font.PLAIN, 20);
    
 		Graphics2D graphics = bImage.createGraphics();
    
 		graphics.setFont(font);
    
 		graphics.setColor(new Color(66,2,82));
    
 		graphics.setBackground(new Color(226,226,240));
    
 		graphics.clearRect(0, 0, width, height);
    
 		FontRenderContext context = graphics.getFontRenderContext();
    
 		Rectangle2D bounds = font.getStringBounds(code, context);
    
 		double x = (width - bounds.getWidth()) / 2;
    
     double y = (height - bounds.getHeight()) / 2;
    
     double ascent = bounds.getY();
    
     double baseY = y - ascent;
    
     graphics.drawString(code, (int) x, (int) baseY);
    
     graphics.dispose();
    
     try {
    
 			ImageIO.write(bImage, "jpg", output);
    
 		} catch (IOException e) {
    
 			e.printStackTrace();
    
 		}
    
 		return code;
    
 	}
    
  
    
 	/** * 返回一个随机字符
    
 	 * @return
    
 	 */
    
 	private char randomChar() {
    
 		Random r = new Random();
    
 		String str = "ABCDEFGHJKLMNPRSTUVWXYZ0123456789";
    
 		return str.charAt(r.nextInt(str.length()));
    
 	}
    
 }
    
    
    
    

源码获取:俺的博客首页 "资源" 里下载!

全部评论 (0)

还没有任何评论哟~