zoukankan      html  css  js  c++  java
  • 77

    package org.zttc.itat.auth.dao;
    
    import java.security.acl.Acl;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 
     * @author hfw2192
     *
     */
    public interface IAclDao {
        /**
         * 根据主体id,主体类型,资源id,资源类型,获取ACL对象
         * @param pid
         * @param ptype
         * @param rid
         * @param rtype
         * @return
         */
        public Acl loadAcl(int pid, String ptype,int rid,String rtype);
        /**
         * 根据角色id,资源类型和资源id获取ACL对象
         * @param roleId
         * @param rid
         * @param rtype
         * @return
         */
        public Acl loadAclByRole(int roleId,int rid,String rtype);
        /**
         * 根绝用户id,资源类型和资源id获取ACL对象
         * @param userId
         * @param rid
         * @param rtype
         * @return
         */
        public Acl loadAclByUser(int userId,int rid,String rtype);
        
        /**
         * 根绝角色id,资源类型,资源id获取该角色可以访问的所有的操作id
         * @param rid
         * @param rtype
         * @return
         */
        public List<Integer> listRoleOperIdsByRes(Integer rid,String rtype,Integer roleId);
        /**
         * 根绝用户id,资源类型,资源id获取该角色可以访问的所有的操作id
         * 1.获取该用户的所有角色,再通过角色获取可以操作的操作id
         * 2.获取该用户自己可以访问的操作id
         * @param rid
         * @param rtype
         * @param userId
         * @return
         */
        public List<Integer> listUserOperIdsByRes(Integer rid,String rtype,Integer userId);
        /**
         * 获取用户自己所授权的所有操作id
         * @param rid
         * @param rtype
         * @param userId
         * @return
         */
        public List<Integer> listUserSelfOperIdsByRes(Integer rid,String rtype,Integer userId);
        /**
         * 获取某个角色可以访问的所有资源操作对象
         * 返回值为Map,key:资源的类名,value:所有可以访问的操作
         * @param roleId
         * @return
         */
        
        public Map<String,List<String>>  listAllResAndOperByRole(Integer roleId);
        
        /**
         * 获取某个用户可以访问的所有资源操作对象
         * 1.获取用户所有角色对象的资源操作
         * 2.获取自己的资源操作
         * 返回值为Map,key:资源的类名,value:所有可以访问的操作
         * @param userId
         * @return
         */
        
        public Map<String,List<String>>  listAllResAndOperByUser(Integer userId);
        
        /**
         * 根据角色的id获取该角色可以访问的所有的菜单的sn
         * @param roleId
         * @return
         */
        public List<String> listMenuSnByRole(Integer roleId);
        
        /**
         * 根据用户的id获取该用户可以访问的所有的菜单的sn
         * 1.先获取该用户角色的数据
         * 2.获取用户自己所授权的数据
         * @param userId
         * @return
         */
        public List<String> listMenuSnByUser(Integer userId);
        /**
         * 根据角色的id获取岁所对应的所有菜单的id
         * @param roleId
         * @return
         */
        public List<String> listMenuIdByRole(Integer roleId);
        
        /**
         * 根据用户的id,获取该用户所对应的所有菜单的id
         * 1.获取角色的数据
         * 2.获取用户自己独立的数据
         * @param userId
         * @return
         */
        public List<String> listMenuIdByUser(Integer userId);
        /**
         * 根据用户的id,获取该用户自己的的菜单的id,不获取角色所对应的菜单id
         * @param userId
         * @return
         */
        public List<String> listMenuIdByUserSelf(Integer userId);
        
    }
    package org.zttc.itat.auth.dao;
    
    import java.util.List;
    
    import org.zttc.itat.auth.model.ControllerOper;
    import org.zttc.itat.auth.model.ControllerResource;
    
    /**
     * 
     * @author hfw2192
     *
     */
    public interface IControllerDao {
        public void add(ControllerResource cr,String psd);
        
        public void addOper(ControllerOper oper,String rsn);
        public void addOper(ControllerOper oper,Integer rid);
        
        public void updateOper(ControllerOper oper);
        public void deleteOper(Integer operId);
        public List<ControllerResource> listResByParent(Integer id);
        /**
         * 根据资源id列表资源的操作对象
         * @param rid
         * @return
         */
        public List<ControllerOper> listOperByRes(Integer rid);
        
        public ControllerOper loadOperById(int operId);
        
        public ControllerOper loadOperBySn(String rsn,String sn);
    }
    package org.zttc.itat.auth.dao;
    
    import java.util.List;
    
    import org.zttc.itat.auth.dto.LeftMenuDto;
    import org.zttc.itat.auth.model.MenuPos;
    import org.zttc.itat.auth.model.MenuResource;
    
    /**
     * 菜单资源对象的接口
     * @author hfw2192
     *
     */
    public interface IMenuResDao {
        public void add(MenuResource mr,String psn);
        /**
         * 根据菜单的位置和父类Menu的sn获取模块所有的菜单资源对象
         * @param psn
         * @param pos
         * @return
         */
        public List<MenuResource> listModelMenuByType(String psn,MenuPos pos);
        /**
         * 获取顶部的菜单资源对象
         * @return
         */
        public List<MenuResource> listTopMenu();
        /**
         * 获取左边导航的菜单资源对象
         * @return
         */
        public List<LeftMenuDto> listLeftMenu();
        
        public List<TreeDto> tree();
        
        public List<MenuResource> listByParent(Integer pid);
    }
    package org.zttc.itat.auth.dao;
    
    import java.util.List;
    
    import org.zttc.itat.auth.model.Role;
    
    public interface IRoleDao {
        public List<Role> listRole();
        public void deleteRoleUsers(int rid);
    }
    package org.zttc.itat.auth.dao;
    
    import java.util.List;
    
    import org.zttc.itat.auth.model.Role;
    import org.zttc.itat.auth.model.User;
    
    public interface IUserDao {
        /**
         * 获取用户所有角色信息
         * @param userId
         * @return
         */
        public List<Role> listUserRoles(int userId);
        /**
         * 获取用户所有角色id
         * @param userId
         * @return
         */
        public List<Integer> listUserRoleIds(int userId);
        /**
         * 获取用户所有组的id
         * @param userId
         * @return
         */
        public List<Integer> listUserGroupIds(int userId);
        /**
         * 根据用户和角色获取用户角色的关联对象
         */
        
        /**
         * 
         * @param roleId
         * @return
         */
        public List<User> listRoleUsers(int roleId);
        /**
         * 根据角色类型获取用户对象
         * @param roleType
         * @return
         */
        //public List<User> listRoleUsers(RoleType roleType);
        
        /**
         * 获取某个组中的用户对象
         * @param gid
         * @return
         */
        public List<User> listGroupUsers(int gid);
        /**
         * 添加用户角色对象
         * @param user
         * @param role
         */
        public void addUserRole(User user,Role role);
        /**
         * 删除用户的角色信息
         * @param uid
         */
        public void deleteUserRoles(int uid);
        /**
         * 删除用户的组信息
         * @param gid
         */
        public void deleteUserGroups(int gid);
    }
    package org.zttc.itat.auth.dao.impl;
    
    import java.util.List;
    
    import org.zttc.itat.auth.dao.IMenuResDao;
    import org.zttc.itat.auth.dao.TreeDto;
    import org.zttc.itat.auth.dto.LeftMenuDto;
    import org.zttc.itat.auth.model.MenuPos;
    import org.zttc.itat.auth.model.MenuResource;
    
    public class MenuResDao implements IMenuResDao {
    
        @Override
        public void add(MenuResource mr, String psn) {
            MenuResource parent = this.loadBySn(psn,"MenuResource");
            if(parent == null) throw new Exception("菜单的父类不存在");
            mr.setParent(parent);
            mr.setPsn(psn);
            MenuResource self = this.loadBySn(mr.getSn(),"MenuResource");
            if(self == null){
                //不存在
                if(mr.getOrderNum() == 0){
                    mr.setOrderNum(super.getMaxOrder(parent.getId(),"MenuResources")+10);
                }else{
                    //存在就进行修改
                    self.setDisplay(mr.getDisplay());
                    self.setHref(mr.getHref());
                    self.setIcon(mr.getIcon());
                    self.setMenuPos(mr.getMenuPos());
                    self.setName(mr.getName());
                    if(mr.getOrderNum()>0){
                        self.setOrderNum(mr.getOrderNum());
                    }
                    self.setSn(mr.getSn());
                }
                super.getSession().saveOrUpdate(mr);
            }
        }
    
        @Override
        public List<MenuResource> listModelMenuByType(String psn, MenuPos pos) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<MenuResource> listTopMenu() {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<LeftMenuDto> listLeftMenu() {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<MenuResource> listByParent(Integer pid) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<TreeDto> tree() {
            // TODO Auto-generated method stub
            return null;
        }
    
    }
  • 相关阅读:
    IDEA插件Mybatis logs不打印Mybatis 或者 Mybatis -plus 的SQL日志
    JRebel启动报错,但不影响正常运行JRebel: ERROR Class 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' could not be processed by .....
    自增运算符 ++
    赋值操作符 =
    逻辑操作符
    算术操作符
    变量类型
    打印,注释,空白
    Java开发环境的安装和配置
    java应用背景
  • 原文地址:https://www.cnblogs.com/mrxiaohe/p/6485428.html
Copyright © 2011-2022 走看看