Java毕业设计实战 教室预订管理系统

一、项目运行

环境配置:

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

项目技术:

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

用户管理控制器:

/**
* 用户管理控制器
*/
@RequestMapping("/user/")
@Controller
public class UserController {
  @Autowired
  private IUserService userService;
  @Autowired
  private IRoleService roleService;

  @Resource
  private ProcessEngineConfiguration configuration;
  @Resource
  private ProcessEngine engine;

  @GetMapping("/index")
  @ApiOperation("跳转用户页接口")
  @PreAuthorize("hasRole('管理员')")
  public String index(String menuid,Model model){
      List<Role> roles = queryAllRole();
      model.addAttribute("roles",roles);
      model.addAttribute("menuid",menuid);
      //用户首页
      return "views/user/user_list";
  }

  @GetMapping("/listpage")
  @ApiOperation("查询用户分页数据接口")
  @ApiImplicitParams({
          @ApiImplicitParam(name = "UserQuery", value = "用户查询对象", defaultValue = "userQuery对象")
  })
  @ResponseBody
  @PreAuthorize("hasRole('管理员')")
  public PageList listpage(UserQuery userQuery){
      return  userService.listpage(userQuery);
  }

  //添加用户
  @PostMapping("/addUser")
  @ApiOperation("添加用户接口")
  @ResponseBody
  public Map<String,Object> addUser(User user){
      Map<String, Object> ret = new HashMap<>();
      ret.put("code",-1);
      if(StringUtils.isEmpty(user.getUsername())){
          ret.put("msg","请填写用户名");
          return ret;
      }
      if(StringUtils.isEmpty(user.getPassword())){
          ret.put("msg","请填写密码");
          return ret;
      }
      if(StringUtils.isEmpty(user.getEmail())){
          ret.put("msg","请填写邮箱");
          return ret;
      }
      if(StringUtils.isEmpty(user.getTel())){
          ret.put("msg","请填写手机号");
          return ret;
      }
      if(StringUtils.isEmpty(user.getHeadImg())){
          ret.put("msg","请上传头像");
          return ret;
      }
      if(userService.addUser(user)<=0) {
          ret.put("msg", "添加用户失败");
          return ret;
      }
      ret.put("code",0);
      ret.put("msg","添加用户成功");
      return ret;
  }

  /**
   * 修改用户信息操作
   * @param user
   * @return
   */
  @PostMapping("/editSaveUser")
  @ApiOperation("修改用户接口")
  @PreAuthorize("hasRole('管理员')")
  @ResponseBody
  public Message editSaveUser(User user){
      if(StringUtils.isEmpty(user.getUsername())){
        return Message.error("请填写用户名");
      }
      if(StringUtils.isEmpty(user.getEmail())){
          return Message.error("请填写邮箱");
      }
      if(StringUtils.isEmpty(user.getTel())){
          return Message.error("请填写手机号");
      }
      try {
          userService.editSaveUser(user);
          return Message.success();
      } catch (Exception e) {
          e.printStackTrace();
          return Message.error("修改用户信息失败");
      }

  }

  //添加用户
  @GetMapping("/deleteUser")
  @ApiOperation("删除用户接口")
  @ApiImplicitParams({
          @ApiImplicitParam(name = "id", value = "如:88",required = true)
  })
  @PreAuthorize("hasRole('管理员')")
  @ResponseBody
  public AjaxResult deleteUser(@RequestParam(required = true) Long id){
      AjaxResult ajaxResult = new AjaxResult();
      try {
          userService.deleteUser(id);
      } catch (Exception e) {
          e.printStackTrace();
          return new AjaxResult("删除失败");
      }

      return ajaxResult;
  }

  @PostMapping(value="/deleteBatchUser")
  @ApiOperation("批量删除用户接口")
  @PreAuthorize("hasRole('管理员')")
  @ResponseBody
  public AjaxResult deleteBatchUser(String ids){
      String[] idsArr = ids.split(",");
      List list = new ArrayList();
      for(int i=0;i<idsArr.length;i++){
          list.add(idsArr[i]);
      }
      try{
          userService.batchRemove(list);
          return new AjaxResult();
      }catch(Exception e){
         return new AjaxResult("批量删除失败");
      }
  }

  //查询所有角色
  public List<Role> queryAllRole(){
      return roleService.queryAll();
  }

  //添加用户的角色
  @PostMapping("/addUserRole")
  @ApiOperation("添加用户角色接口")
  @ApiImplicitParams({
          @ApiImplicitParam(name = "paramMap", value = "如:{userId:1,[1,2,3,4]]}")
  })
  @ResponseBody
  public AjaxResult addUserRole(@RequestBody Map paramMap){
      AjaxResult ajaxResult = new AjaxResult();
      String userId = (String)paramMap.get("userId");
      List roleIds = (List) paramMap.get("roleIds");
      try {
          //添加用户对应的角色
          roleService.addUserRole(userId,roleIds);
          return ajaxResult;
      }catch (Exception e){
          e.printStackTrace();
          return new AjaxResult("保存角色失败");
      }

  }




  //添加用户
  @RequestMapping("/regSaveUser")
  @ResponseBody
  public Long addTeacher(User user){
      System.out.println("保存用户...."+user);
      userService.addUser(user);

      //保存工作流程操作
      IdentityService is = engine.getIdentityService();
      // 添加用户组
      org.activiti.engine.identity.User userInfo = userService.saveUser(is, user.getUsername());
      // 添加用户对应的组关系
      Group stuGroup = new GroupEntityImpl();
      stuGroup.setId("stuGroup");
      Group tGroup = new GroupEntityImpl();
      tGroup.setId("tGroup");
      if(user.getType() == 2) {
          //保存老师组
          userService.saveRel(is, userInfo, tGroup);
      }
      if(user.getType() == 3) {
          //保存学生组
          userService.saveRel(is, userInfo, stuGroup);
      }

      Long userId = user.getId();
      return userId;
  }

  /**
   * 修改密码页面
   * @return
   */
  @RequestMapping(value="/update_pwd",method=RequestMethod.GET)
  public String updatePwd(){
      return "views/user/update_pwd";
  }

  /**
   * 修改密码操作
   * @param oldPwd
   * @param newPwd
   * @return
   */
  @ResponseBody
  @PostMapping("/update_pwd")
  public Message updatePassword(@RequestParam(name="oldPwd",required=true)String oldPwd,
                                @RequestParam(name="newPwd",required=true)String newPwd){
      String username = CommonUtils.getLoginUser().getUsername();
      User userByUserName = userService.findUserByUserName(username);
      if(userByUserName!=null){
          String password = userByUserName.getPassword();
          BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
          boolean matches = bCryptPasswordEncoder.matches(oldPwd, password);
          if(!matches){
              return Message.error("旧密码不正确");//true
          }
          userByUserName.setPassword(bCryptPasswordEncoder.encode(newPwd));

          if(userService.editUserPassword(userByUserName)<=0){
              return Message.error("密码修改失败");
          }
      }
      return Message.success();
  }

  /**
   * 清除缓存
   * @param request
   * @param response
   * @return
   */
  @ResponseBody
  @PostMapping("/clear_cache")
  public Message clearCache(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      response.setHeader("Cache-Control","no-store");
      response.setHeader("Pragrma","no-cache");
      response.setDateHeader("Expires",0);
    return  Message.success();
  }
}

角色管理控制层:

@Controller
public class RoleController {

  @Autowired
  private IRoleService roleService;

  @Autowired
  private IPermissionService permissionService;




  @PreAuthorize("hasRole('管理员')")
  @ResponseBody
  @RequestMapping("/role/doAdd")
  public String doAdd(Role role){
      //角色添加
      return "ok";
  }
  //添加角色
  @RequestMapping("/role/addRole")
  @PreAuthorize("hasRole('管理员')")
  @ResponseBody
  public AjaxResult addRole(Role role){
      System.out.println("保存角色...."+role);
      try {
          roleService.saveRole(role);
          return new AjaxResult();
      } catch (Exception e) {
          e.printStackTrace();
          return new AjaxResult("操作失败");
      }
  }

  @PreAuthorize("hasRole('管理员')")
  @RequestMapping("/role/index")
  public String index(Model model){
      List<Permission> permisisons = permissionService.findAllPermisisons();
      model.addAttribute("permissions",permisisons);
      //返回角色
      return "views/role/role_list";
  }

  @RequestMapping("/role/listpage")
  @ResponseBody
  public PageList listpage(RoleQuery roleQuery){
      System.out.println("传递参数:"+roleQuery);
      return  roleService.listpage(roleQuery);
  }


  //修改用户editSaveUser
  @RequestMapping("/role/editSaveRole")
  @ResponseBody
  public AjaxResult editSaveRole(Role role){
      System.out.println("修改角色...."+role);
      try {
          roleService.editSaveRole(role);
          return new AjaxResult();
      } catch (Exception e) {
          e.printStackTrace();
      }
      return new AjaxResult("修改失败");
  }

  //添加角色
  @RequestMapping("/role/deleteRole")
  @ResponseBody
  public AjaxResult deleteRole(Long id){
      System.out.println("删除角色...."+id);
      AjaxResult ajaxResult = new AjaxResult();
      try {
          roleService.deleteRole(id);
      } catch (Exception e) {
          e.printStackTrace();
          return new AjaxResult("删除失败");
      }
      return ajaxResult;
  }

  //添加角色权限 addRolePermission
  @RequestMapping("/role/addRolePermission")
  @ResponseBody
  public AjaxResult addRolePermission(@RequestBody Map paramMap){
      AjaxResult ajaxResult = new AjaxResult();
      String roleId = (String)paramMap.get("roleId");
      List permissionIds = (List) paramMap.get("permissionIds");
      try {
          //添加角色对应的权限
          roleService.addRolePermission(roleId,permissionIds);
          return ajaxResult;
      }catch (Exception e){
          e.printStackTrace();
          return new AjaxResult("保存权限失败");
      }

  }

}

关于Java毕业设计实战之教室预订管理系统的实现的文章就介绍至此,更多相关Java 教室预订管理内容请搜索编程教程以前的文章,希望以后支持编程教程

下一章:Java毕业设计实战 共享租车信息管理系统

 一、项目简述基于servlet+jsp+jdbc的后台管理系统,包含5个模块:汽车账户部管理、租车账户部管理、汽车信息管理表、租车记录表、租车租聘表。功能完整,均能实现增删查改。&nb ...