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 教室预订管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java毕业设计实战之共享租车信息管理系统的实现

    基于servlet+jsp+jdbc的后台管理系统,包含5个模块:汽车账户部管理.租车账户部管理.汽车信息管理表.租车记录表.租车租聘表.功能完整,均能实现增删查改. 运行环境: jdk8+tomcat8.5+mysql5.7+Eclipse 项目技术: servlet+jsp+jdbc+easyui+jquery       主页登陆注册业务: public class ForeServlet extends BaseForeServlet { /** * 显示主页 * * @param re

  • Java毕业设计实战之在线网盘系统的实现

    一.项目简述 功能:用户的邮箱注册.验证码验证以及用户登录. 不需要注册账号,也可以上传满足条件的临时文件,但是只4小时内有效. 文件的管理,上传.下载.重命名.删除.查看统计数据.分类管理等. 文件夹的管理,创建.删除.重命名. 文件的分享,支持通过链接和二维码的分享方式等等,以及管理员对用户的管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术:

  • Java毕业设计实战之仿小米电子产品售卖商城系统的实现

    项目描述:这是一个基于SpringBoot+Vue框架开发的仿小米电子产品售卖商城系统.首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细.其次,这项目功能丰富,具有一个电子产品售卖商城系统该有的所有功能. 项目功能:此项目分为两个角色:普通用户和管理员.普通用户有登录注册.浏览商品信息.添加购物车.结算订单.查看个人信息.查看个人订单详情等等功能.管理员有管理所有商品信息.管理所有订单信息.管理所有用户信息.查看收益数据图表等等功能. 应用技术:SpringBoot + VueCli

  • Java毕业设计实战之图片展览馆管理系统的实现

    一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等 订单服务: @WebServlet("/order/OrderServlet") public class OrderServlet exte

  • Java毕业设计实战之二手书商城系统的实现

    一.项目简述 功能: 主页显示商品: 所有二手书商品展示,可进行商品搜索: 点击商品进入商品详情页,具有立即购买和加入购物车功能,可增减购买商品数量亦可手动输入,热销商品展示. 立即购买进入确认订单页面,可选择已经添加的地址,亦可新增地址. 可选择购买哪些商品,可删除不需要的商品. 点击结算进入确认订单页面,确认后提交订单.后台管理:(修改密码等),商品管理(商品批量添加.上下架等),订单管理. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(

  • Java毕业设计实战之生活旅行分享平台的实现

    一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等 评论业务控制器: /** * 评论控制器 * @author yy * */ @RestController @RequestMapping("/com

  • Java毕业设计实战之校园一卡通系统的实现

    一.项目简述(+需求文档+PPT) 功能:卡管理,卡消费,卡充值,图书借阅,消费,记录,注销等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP + Servlet + html+ css + JavaScript + JQuery + Ajax 等等 用户管理操作控制层: /** * 用户管理操作 */ @Controller @Requ

  • Java毕业设计实战之药店信息管理系统的实现

    一.项目简述 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等 药品相关的controller: /** * 药品相关的controller */ @Controller @Request

  • Java毕业设计实战之宠物医院与商城一体的系统的实现

    项目运行: 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: Springboot+ SpringMVC + MyBatis + Jsp + Html+ JavaScript + JQuery + Ajax + maven等等 宠物医院与商城一体的系统 后端管理员控制层: /** * 后端管理员控制层 */ @Controller @RequestMapping("/a

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

    一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持). 项目技术: Spring + SpringBoot+ mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等. 用户管理控制器: /** * 用户管理控制器 */ @RequestMapping("/user/") @Contr

  • Java毕业设计实战项目之仓库管理系统的实现流程

    基于SSM框架的仓库管理系统 功能: 系统操作权限管理.系统提供基本的登入登出功能,同时系统包含两个角色:系统超级管理员和普通管理员,超级管理员具有最高的操作权限,而普通管理员仅具有最基本的操作权限,而且仅能操作自己被指派的仓库. 请求URL鉴权.对于系统使用者登陆后进行操作发送请求的URL,后台会根据当前用户的角色判断是否拥有请求该URL的权限. 基础数据信息管理.对包括:货物信息.供应商信息.客户信息.仓库信息在内的基础数据信息进行管理,提供的操作有:添加.删除.修改.条件查询.导出为Exc

  • Java毕业设计实战之平行志愿管理系统的实现

    一.项目简述 本系统功能包括: 系统管理,招生计划,学生管理,录取结果,自动分配,调剂管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持). 项目技术: Springboot + Maven + mybatis+ Vue 等等组成,B/S模式 + Maven管理等等. 学生管理控制层: @RestControlle

  • Java毕业设计实战之健身俱乐部管理系统的实现

    项目介绍: 基于jsp+mysql+Spring+mybatis的SSM健身房管理系统 运行环境: jdk 1.8 IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可,理论上Tomcat版本不是太老都可以. 硬件环境: windows 7/8/10 1G内存以上 主要功能说明: 管理员角色包含以下功能:登录页面,管理员首页,会员增删改查,教练增删改查,运动器材管理等功能. 用户角色包含以下功能:用户登录页面,用户首页

  • Java毕业设计实战之工作管理系统的实现

    前台用户和后台管理员两种角色: 前台用户功能有:发布兼职.发布帖子.查看公告.个人中心.投诉等. 后台管理员功能有:用户管理.兼职管理.帖子管理.聊天管理.广告管理.投诉管理.收藏管理.系统管理等. 运行环境:jdk1.8.tomcat7.0\8.5.Eclipse.Mysql5.x. 后台角色管理控制器: /** * 后台角色管理控制器 * @author yy * */ @RequestMapping("/admin/role") @Controller public class

  • Java毕业设计实战之财务预算管理系统的实现

    一.项目简述 功能包括:实现公司对项目的管理. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等 用户信息控制层: /** * 用户信息控制层 */ @Controller

  • Java毕业设计实战之养老院管理系统的实现

    运行环境: JDK1.8.tomcat8.eclipse.mysql5.6.Navicat 功能实现: 用户: 用户名,登录密码,姓名,性别,出生日期,用户照片,联系电话,邮箱,家庭地址,注册时间 老人: 老人编号,姓名,性别,年龄,老人照片,老人介绍,登记用户,登记时间 房间类型: 房间类型id,房间类型名称 房间: 房间编号,房间类型,房间名称,房间主图,房间价格,房间详情,房间状态 订单: 订单编号,入住房间,入住老人,入住日期,入住时间,订单总金额,订单状态,订单费用明细,订单时间 老人

随机推荐