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

作者:OldWinePot 时间:2023-03-03 20:38:11 

一、项目运行

环境配置:

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

项目技术:

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

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

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

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

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

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

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

用户管理控制器:


/**
* 用户管理控制器
*/
@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("保存权限失败");
       }

}

}

来源:https://blog.csdn.net/pastclouds/article/details/122596179

标签:Java,教室预订管理,毕业设计
0
投稿

猜你喜欢

  • Java超详细讲解类变量和类方法

    2023-04-24 14:45:43
  • Android编程实现任务管理器的方法

    2022-11-30 00:32:15
  • git忽略特殊文件_动力节点Java学院整理

    2023-02-26 19:27:47
  • nacos注册中心单节点ap架构源码解析(最新推荐)

    2022-09-02 09:31:43
  • c#使用windows服务更新站点地图的详细示例

    2021-07-24 10:45:52
  • 详解Spring Boot 定制HTTP消息转换器

    2023-11-24 20:20:51
  • C#使用log4net打日志

    2022-11-08 17:50:57
  • Java Code Cache满导致应用性能降低问题解决

    2021-06-18 18:17:56
  • 浅谈java 单例模式DCL的缺陷及单例的正确写法

    2022-04-14 05:58:23
  • 浅谈Maven的安装及修改为阿里云下载依赖

    2023-08-05 08:30:37
  • 利用java开发简易版扫雷游戏

    2023-11-07 14:35:15
  • Java 如何将表格数据导入word文档中

    2023-08-13 10:38:55
  • C# WORD操作实现代码

    2023-11-20 05:16:25
  • 详解springboot中使用异步的常用两种方式及其比较

    2021-06-16 17:43:29
  • C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)

    2022-03-08 23:48:07
  • java微信企业号开发之开发模式的开启

    2022-03-20 10:58:02
  • ActiveMQ在C#中的应用示例分析

    2021-09-18 19:12:41
  • 解决maven build 无反应,直接terminated的问题

    2021-11-28 18:56:13
  • Java毕业设计实战之校园一卡通系统的实现

    2022-11-26 06:32:56
  • Mybatis的几种传参方式详解

    2021-12-08 15:35:53
  • asp之家 软件编程 m.aspxhome.com