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

一、项目简述

本系统功能包括:
学生管理,教师管理,课程管理,成绩管理,系统管理等等。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术:

Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等。

学生管理控制层:

@Controller
@RequestMapping("admin/system/user")
public class UserController {@AutowiredUserService userService;@AutowiredRoleService roleService;@AutowiredUploadService uploadService;@RequestMapping("list")@SysLog("跳转系统用户列表页面")public String list(){return "admin/user/list";}@RequiresPermissions("sys:user:list")@PostMapping("list")@ResponseBodypublic PageData<User> list(@RequestParam(value = "page",defaultValue = "1")Integer page,@RequestParam(value = "limit",defaultValue = "10")Integer limit,ServletRequest request){Map map = WebUtils.getParametersStartingWith(request, "s_");PageData<User> userPageData = new PageData<>();QueryWrapper<User> userWrapper = new QueryWrapper<>();if(!map.isEmpty()){String type = (String) map.get("type");if(StringUtils.isNotBlank(type)) {userWrapper.eq("is_admin", "admin".equals(type) ? true : false);}String keys = (String) map.get("key");if(StringUtils.isNotBlank(keys)) {userWrapper.and(wrapper -> wrapper.like("login_name", keys).or().like("tel", keys).or().like("email", keys));}}IPage<User> userPage = userService.page(new Page<>(page,limit),userWrapper);userPageData.setCount(userPage.getTotal());userPageData.setData(userPage.getRecords());return userPageData;}@RequestMapping("add")public String add(ModelMap modelMap){List<Role> roleList = roleService.selectAll();modelMap.put("roleList",roleList);return "admin/user/add";}@RequiresPermissions("sys:user:add")@PostMapping("add")@ResponseBody@SysLog("保存新增系统用户数据")public ResponseEntity add(@RequestBody  User user){if(StringUtils.isBlank(user.getLoginName())){return ResponseEntity.failure("登录名不能为空");}if(user.getRoleLists() == null || user.getRoleLists().size() == 0){return  ResponseEntity.failure("用户角色至少选择一个");}if(userService.userCount(user.getLoginName())>0){return ResponseEntity.failure("登录名称已经存在");}
//        if(StringUtils.isNotBlank(user.getEmail())){
//            if(userService.userCount(user.getEmail())>0){
//                return ResponseEntity.failure("该邮箱已被使用");
//            }
//        }
//        if(StringUtils.isNoneBlank(user.getTel())){
//            if(userService.userCount(user.getTel())>0){
//                return ResponseEntity.failure("该手机号已被绑定");
//            }
//        }//设置默认密码if(StringUtils.isBlank(user.getPassword())){user.setPassword(Constants.DEFAULT_PASSWORD);}userService.saveUser(user);if(StringUtils.isBlank(user.getId())){return ResponseEntity.failure("保存用户信息出错");}//保存用户角色关系userService.saveUserRoles(user.getId(),user.getRoleLists());return ResponseEntity.success("操作成功");}@RequestMapping("edit")public String edit(String id,ModelMap modelMap){User user = userService.findUserById(id);String roleIds = "";if(user != null) {roleIds = user.getRoleLists().stream().map(role -> role.getId()).collect(Collectors.joining(","));}List<Role> roleList = roleService.selectAll();modelMap.put("localuser",user);modelMap.put("roleIds",roleIds);modelMap.put("roleList",roleList);return "admin/user/edit";}@RequiresPermissions("sys:user:edit")@PostMapping("edit")@ResponseBody@SysLog("保存系统用户编辑数据")public ResponseEntity edit(@RequestBody  User user){if(StringUtils.isBlank(user.getId())){return ResponseEntity.failure("用户ID不能为空");}if(StringUtils.isBlank(user.getLoginName())){return ResponseEntity.failure("登录名不能为空");}if(user.getRoleLists() == null || user.getRoleLists().size() == 0){return  ResponseEntity.failure("用户角色至少选择一个");}User oldUser = userService.findUserById(user.getId());if(StringUtils.isNotBlank(user.getEmail())){if(!user.getEmail().equals(oldUser.getEmail())){if(userService.userCount(user.getEmail())>0){return ResponseEntity.failure("该邮箱已被使用");}}}if(StringUtils.isNotBlank(user.getLoginName())){if(!user.getLoginName().equals(oldUser.getLoginName())) {if (userService.userCount(user.getLoginName()) > 0) {return ResponseEntity.failure("该登录名已存在");}}}if(StringUtils.isNotBlank(user.getTel())){if(!user.getTel().equals(oldUser.getTel())) {if (userService.userCount(user.getTel()) > 0) {return ResponseEntity.failure("该手机号已经被绑定");}}}user.setIcon(oldUser.getIcon());userService.updateUser(user);if(StringUtils.isBlank(user.getId())){return ResponseEntity.failure("保存用户信息出错");}userService.saveUserRoles(user.getId(),user.getRoleLists());return ResponseEntity.success("操作成功");}@RequiresPermissions("sys:user:lock")@PostMapping("lock")@ResponseBody@SysLog("锁定或开启系统用户")public ResponseEntity lock(@RequestParam(value = "id",required = false)String id){if(StringUtils.isBlank(id)){return ResponseEntity.failure("参数错误");}User user = userService.getById(id);if(user == null){return ResponseEntity.failure("用户不存在");}userService.lockUser(user);return ResponseEntity.success("操作成功");}@RequiresPermissions("sys:user:delete")@PostMapping("delete")@ResponseBody@SysLog("删除系统用户数据(单个)")public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){if(StringUtils.isBlank(id)){return ResponseEntity.failure("参数错误");}User user = userService.getById(id);if(user == null){return ResponseEntity.failure("用户不存在");}else if(user.getAdminUser()) {return ResponseEntity.failure("不能删除后台用户");}userService.deleteUser(user);return ResponseEntity.success("操作成功");}@RequiresPermissions("sys:user:delete")@PostMapping("deleteSome")@ResponseBody@SysLog("删除系统用户数据(多个)")public ResponseEntity deleteSome(@RequestBody List<User> users){if(users == null || users.size()==0){return ResponseEntity.failure("请选择需要删除的用户");}for (User u : users){if(u.getAdminUser()){return ResponseEntity.failure("不能删除超级管理员");}else{userService.deleteUser(u);}}return ResponseEntity.success("操作成功");}@RequestMapping("userinfo")public String toEditMyInfo(ModelMap modelMap){String userId = MySysUser.id();User user = userService.findUserById(userId);modelMap.put("userinfo",user);modelMap.put("userRole",user.getRoleLists());return "admin/user/userInfo";}@SysLog("系统用户个人信息修改")@PostMapping("saveUserinfo")@ResponseBodypublic ResponseEntity saveUserInfo(User user){if(StringUtils.isBlank(user.getId())){return ResponseEntity.failure("用户ID不能为空");}if(StringUtils.isBlank(user.getLoginName())){return ResponseEntity.failure("登录名不能为空");}User oldUser = userService.findUserById(user.getId());if(StringUtils.isNotBlank(user.getEmail())){if(!user.getEmail().equals(oldUser.getEmail())){if(userService.userCount(user.getEmail())>0){return ResponseEntity.failure("该邮箱已被使用");}}}if(StringUtils.isNotBlank(user.getTel())){if(!user.getTel().equals(oldUser.getTel())) {if (userService.userCount(user.getTel()) > 0) {return ResponseEntity.failure("该手机号已经被绑定");}}}userService.updateById(user);return ResponseEntity.success("操作成功");}@RequestMapping("changePassword")public String changePassword(ModelMap modelMap){modelMap.put("currentUser",userService.getById(MySysUser.id()));return "admin/user/changePassword";}@CrossOrigin@SysLog("用户修改密码")@PostMapping("changePassword")@ResponseBodypublic ResponseEntity changePassword(@RequestParam(value = "userName",required = false)String userName,@RequestParam(value = "oldPwd",required = false)String oldPwd,@RequestParam(value = "newPwd",required = false)String newPwd,@RequestParam(value = "confirmPwd",required = false)String confirmPwd){if(StringUtils.isBlank(oldPwd)){return ResponseEntity.failure("旧密码不能为空");}if(StringUtils.isBlank(newPwd)){return ResponseEntity.failure("新密码不能为空");}if(StringUtils.isBlank(confirmPwd)){return ResponseEntity.failure("确认密码不能为空");}if(!confirmPwd.equals(newPwd)){return ResponseEntity.failure("确认密码与新密码不一致");}//小程序修改密码if(StringUtils.isBlank(userName)){//PC修改密码User user = userService.findUserById(MySysUser.id());byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);String password = Encodes.encodeHex(hashPassword);if(!user.getPassword().equals(password)){return ResponseEntity.failure("旧密码错误");}user.setPassword(newPwd);Encodes.entryptPassword(user);userService.updateById(user);return ResponseEntity.success("操作成功");}else {//小程序修改密码User user = userService.findUserByLoginName(userName);byte[] hashPassword = Encodes.sha1(oldPwd.getBytes(), Encodes.SHA1, Encodes.decodeHex(user.getSalt()), Constants.HASH_INTERATIONS);String password = Encodes.encodeHex(hashPassword);if(!user.getPassword().equals(password)){return ResponseEntity.failure("旧密码错误");}user.setPassword(newPwd);Encodes.entryptPassword(user);userService.updateById(user);return ResponseEntity.success("操作成功");}}@SysLog("上传头像")@PostMapping("uploadFace")@ResponseBodypublic ResponseEntity uploadFile(@RequestParam("icon") MultipartFile file, HttpServletRequest httpServletRequest) {if(file == null){return ResponseEntity.failure("上传文件为空 ");}String url = null;Map map = new HashMap();try {url = uploadService.upload(file);map.put("url", url);map.put("name", file.getOriginalFilename());} catch (Exception e) {e.printStackTrace();return ResponseEntity.failure(e.getMessage());}return ResponseEntity.success("操作成功").setAny("data",map);}}

教师管理控制层:

@Controller
public class TeacherController {@Autowiredprivate TeacherService lxxTeacherService;@Autowiredprivate StudentService lxxStudentService;@Autowiredprivate DeleteService deleteService;// 跳转教师查询页面@RequestMapping("/selectTeacher")public String selectTeacher(){return "view/teacher/selTeacher";}//  查询教师信息@RequestMapping("selTeacher")@ResponseBodypublic LayuiResult<Map> selTeacher(TeacherDB teacherDB, pageCount pageCount){LayuiResult<Map> result = new LayuiResult<>();//  查询所有教师信息/模糊查询教师信息List<Map> list = lxxTeacherService.selTeacher(teacherDB,pageCount);//  查询符合条件的教师数量int count = lxxTeacherService.selTeacherCount(teacherDB);result.setData(list);result.setCount(count);return result;}//  根据教师编号查询教师信息@RequestMapping("/selTeacherId")public String selTeacherId(Integer id, Model model){List<TeacherDB> tea = lxxTeacherService.selTeacherId(id);//  查询政治面貌List<PoliticsTypeDB> selpol = lxxStudentService.selPolitics();model.addAttribute("tea",tea);model.addAttribute("selpol",selpol);return "view/teacher/updTeacher";}//  根据教师编号查询教师详细信息@RequestMapping("/selectTeaMessage")public String selectTeaMessage(Integer id, Model model){List<TeacherDB> tea = lxxTeacherService.selTeacherId(id);//  查询政治面貌List<PoliticsTypeDB> selpol = lxxStudentService.selPolitics();model.addAttribute("tea",tea);model.addAttribute("selpol",selpol);return "view/teacher/selTchMessage";}//  修改教师信息@RequestMapping("/updateTeacher")@ResponseBodypublic LayuiResult<TeacherDB> updTeacher(TeacherDB teacherDB, String birthday) throws Exception{LayuiResult result= new LayuiResult();SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date date=format.parse(birthday);teacherDB.setTbirthday(date);Integer state = teacherDB.getTchstate();Integer tid = teacherDB.getTid();if(state == 1){//  修改教师为离职状态并逻辑删除Integer deleteTeacher = deleteService.deleteTeacher(teacherDB);//  删除教师授课信息Integer deleteTchCourse = deleteService.deleteTchCourse(tid);//  删除教师班级信息Integer deleteTchClass = deleteService.deleteTchClass(tid);//  删除教师成绩信息Integer deleteTchExam = deleteService.deleteTchExam(tid);//  删除教评记录信息Integer deleteTeaRecord = deleteService.deleteTeaRecord(tid);//  改用户登录状态改为(1)锁定状态Integer deleteUser = deleteService.deleteUser(teacherDB.getTchid());//删除提示result.setMsg("修改成功!");return result;}else{int a =lxxTeacherService.updTeacher(teacherDB);//删除提示result.setMsg("修改成功!");return result;}}}

角色管理控制层:

@Controller
@RequestMapping("admin/system/role")
public class RoleController {@AutowiredRoleService roleService;@AutowiredUserService userService;@AutowiredMenuService menuService;@RequestMapping(value = "list")public String list(){return "admin/role/list";}@RequiresPermissions("sys:role:list")@PostMapping("list")@ResponseBodypublic PageData<Role> list(@RequestParam(value = "page",defaultValue = "1")Integer page,@RequestParam(value = "limit",defaultValue = "10")Integer limit,ServletRequest request){Map map = WebUtils.getParametersStartingWith(request, "s_");PageData<Role> rolePageData = new PageData<>();QueryWrapper<Role> roleWrapper = new QueryWrapper<>();roleWrapper.eq("del_flag",false);if(!map.isEmpty()){String keys = (String) map.get("key");if(StringUtils.isNotBlank(keys)) {roleWrapper.like("name", keys);}}IPage<Role> rolePage = roleService.page(new Page<>(page,limit),roleWrapper);rolePageData.setCount(rolePage.getTotal());rolePageData.setData(setUserToRole(rolePage.getRecords()));return rolePageData;}private List<Role> setUserToRole(List<Role> roles){roles.forEach(r -> {if(StringUtils.isNotBlank(r.getCreateId())){User u = userService.findUserById(r.getCreateId());if(StringUtils.isBlank(u.getNickName())){u.setNickName(u.getLoginName());}r.setCreateUser(u);}if(StringUtils.isNotBlank(r.getUpdateId())){User u  = userService.findUserById(r.getUpdateId());if(StringUtils.isBlank(u.getNickName())){u.setNickName(u.getLoginName());}r.setUpdateUser(u);}});return roles;}@RequestMapping("add")public String add(ModelMap modelMap){Map<String,Object> map =  new HashMap();map.put("parentId",null);map.put("isShow",false);List<Menu> menuList = menuService.selectAllMenus(map);modelMap.put("menuList",menuList);return "admin/role/add";}@RequiresPermissions("sys:role:add")@PostMapping("add")@ResponseBody@SysLog("保存新增角色数据")public ResponseEntity add(@RequestBody Role role){if(StringUtils.isBlank(role.getName())){return ResponseEntity.failure("角色名称不能为空");}if(roleService.getRoleNameCount(role.getName())>0){return ResponseEntity.failure("角色名称已存在");}roleService.saveRole(role);return ResponseEntity.success("操作成功");}@RequestMapping("edit")public String edit(String id,ModelMap modelMap){Role role = roleService.getRoleById(id);String menuIds = null;if(role != null) {menuIds  = role.getMenuSet().stream().map(menu -> menu.getId()).collect(Collectors.joining(","));}Map<String,Object> map = new HashMap();map.put("parentId",null);map.put("isShow",Boolean.FALSE);List<Menu> menuList = menuService.selectAllMenus(map);modelMap.put("role",role);modelMap.put("menuList",menuList);modelMap.put("menuIds",menuIds);return "admin/role/edit";}@RequiresPermissions("sys:role:edit")@PostMapping("edit")@ResponseBody@SysLog("保存编辑角色数据")public ResponseEntity edit(@RequestBody Role role){if(StringUtils.isBlank(role.getId())){return ResponseEntity.failure("角色ID不能为空");}if(StringUtils.isBlank(role.getName())){return ResponseEntity.failure("角色名称不能为空");}Role oldRole = roleService.getRoleById(role.getId());if(!oldRole.getName().equals(role.getName())){if(roleService.getRoleNameCount(role.getName())>0){return ResponseEntity.failure("角色名称已存在");}}roleService.updateRole(role);return ResponseEntity.success("操作成功");}@RequiresPermissions("sys:role:delete")@PostMapping("delete")@ResponseBody@SysLog("删除角色数据")public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){if(StringUtils.isBlank(id)){return ResponseEntity.failure("角色ID不能为空");}Role role = roleService.getRoleById(id);roleService.deleteRole(role);return ResponseEntity.success("操作成功");}@RequiresPermissions("sys:role:delete")@PostMapping("deleteSome")@ResponseBody@SysLog("多选删除角色数据")public ResponseEntity deleteSome(@RequestBody List<Role> roles){if(roles == null || roles.size()==0){return ResponseEntity.failure("请选择需要删除的角色");}for (Role r : roles){roleService.deleteRole(r);}return ResponseEntity.success("操作成功");}
}

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

Java项目:学生管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)相关推荐

  1. Java项目:平行志愿管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 系统管理,招生计划,学生管理,录取结果,自动分配,调剂管理等等. 二.项目运行 环境配置: Jdk1.8 + ...

  2. Java项目:精品养老院管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括:通知公告,老人管理,护工管理,问答管理等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8. ...

  3. Java项目:医院管理系统(java+Springboot+Maven+Mybatis+Vue+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括:医院挂号,退号,缴费,退费,检查申请单开立,科室管理,医生开单,挂号级别,检验项目开立,检查项目开立,医生接诊 ...

  4. Java项目:基于遗传算法学校排课系统(java+Springboot+Maven+mybatis+Vue+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 排课管理,课程管理,讲师管理,班级管理,学生管理,教学资料,学习文档,在线测试,教材列表,教学设计,帮助中心 ...

  5. Java项目:宠物商城系统(java+Springboot+Maven+mybatis+Vue+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  6. Java项目:食品溯源系统(java+Springboot+Maven+mybatis+Vue+mysql+wd)

    源码获取:博客首页 "资源" 里下载! 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  7. Java项目:花店商城系统(java+Springboot+Maven+mybatis+Vue+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 商品的分类展示,用户的注册登录,购物车,订单结算,购物车加减,后台商品管理,分类管理,订单管理等等功能. 二 ...

  8. Java项目:在线点餐系统(java+Springboot+Maven+mybatis+Vue+mysql+Redis)

    源码获取:博客首页 "资源" 里下载! 项目描述: 这是一个基于SpringBoot+Vue框架开发的在线点餐系统.首先,这是一个前后端分离的项目.具有一个在线点餐系统该有的所有功 ...

  9. Java项目:考试管理系统(java+Springboot+Maven+Jpa+Vue+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 支持单选题.多选题.判断题支持学生(student).教师(teacher).管理员(admin)三种角色学 ...

最新文章

  1. Builder设计模式
  2. linux替换每个英文字开头为大写,shell脚本,文件里面的英文大小写替换方法。...
  3. 转载:flash 跨域 crossdomain.xml
  4. JAX-WS开发webservice示例详解
  5. Tree.Panel各项属性
  6. dom4j和jaxb_JAXB,SAX,DOM性能
  7. preserve log什么意思_一些有意思的JavaScript代码片段
  8. 计算机基本知识实训报告,计算机实训报告小结
  9. 大一计算机论文_计算机二级基础,60集全套视频教程+500习题,送给你参考下
  10. 使用k-近邻算法进行分类
  11. 如何在virtualenv环境中安装指定的python版本
  12. QQ钱包的接入及其设计分析
  13. 超好用的图床-生成图片在线链接
  14. 如何更改itunes备份位置_Mac怎么修改iTunes的备份路径 如何在 Mac 中修改iTunes的备份路径...
  15. 数学建模常用算法:人工鱼群算法(AFAS)求解二元函数最小值+限定x,y范围测试【java实现--详细注释+Matlab绘制小鱼游动过程】
  16. ICCV2021中的时序动作检测算法
  17. Winform开发框架之通用Windows摄像头调用拍照--SNF快速开发平台3.3-Spring.Net.Framework...
  18. R语言使用vcd包的assocstats函数计算两个分类变量的相关性的强弱、计算列联表的Phi系数、列联系数和Cramer’s V系数
  19. 机器学习实战——决策树(二)
  20. 应用QQ2440(s3c2440)ARM开发板驱动MMA7455加速度计的linux设备驱动编写

热门文章

  1. 在Ubuntu 14.04 64bit上安装numpy和matplotlib库
  2. a-awk外部变量传入,内部变量传出,同时过滤空格及其他字符
  3. 搜索:广搜 词语阶梯
  4. CSS中各种各样居中方法的总结
  5. struts学习笔记三-国际化
  6. AJAX学习基础:简单介绍数据岛使用方法
  7. Linux+Apache2+openssl实现https验证
  8. 搜索引擎中的URL散列
  9. C#程序设计语言Version2.0简介
  10. WMI技术介绍和应用——Instance/Method Provider