⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 roleserviceimpl.java

📁 菲律宾的一个大学的图书管理系统 spring+hibernate+velocity
💻 JAVA
字号:
/*
 * 创建日期 2005-4-11
 */
package biz.bluesky.pts.service.impl;

import java.util.List;

import biz.bluesky.pts.model.TRolePermission;
import biz.bluesky.pts.model.TPermission;
import biz.bluesky.pts.model.TRole;
import biz.bluesky.pts.service.IRoleService;
import biz.bluesky.pts.service.dao.IRoleDAO;

import biz.bluesky.pts.util.ErrorCode;

import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.dao.DataAccessException;



public class RoleServiceImpl implements IRoleService {

    private IRoleDAO roleDAO;
    
    public void setRoleDAO(IRoleDAO roleDAO) {
        this.roleDAO = roleDAO;
    }

    public IRoleDAO getRoleDAO() {
        return this.roleDAO;
    }

    //查询所有的角色
    public List findRoles() {
        return roleDAO.findRoles();
    }

    //根据角色编号查询角色
    public TRole findRole(int roleId) {
        TRole role = null;
        try {
            role = roleDAO.findRole(roleId);
        }
        catch(ObjectRetrievalFailureException excp) {
            
        }
        return role;
    }

    //根据角色名称查询角色 
    public TRole findRole(String roleName) {
        return roleDAO.findRole(roleName);
    }

    //查询拥有此权限的角色
    public List findRolesByPermission(int permissionId) {
        return roleDAO.findRolesByPermission(permissionId);
    }

    //查询不具备此权限的角色
    public List findNotRolesByPermission(int permissionId) {
        return roleDAO.findNotRolesByPermission(permissionId);
    }
    
    //查询教师的角色
    public List findRolesByTeacher(int teacherId) {
        return roleDAO.findRolesByTeacher(teacherId);
    }

    //查询教师没有的角色
    public List findNotRolesByTeacher(int teacherId) {
        return roleDAO.findInexistenceRolesByTeacher(teacherId);
    }
    
    //保存一个角色
    public int saveRole(TRole role) {
        if((role == null)||(role.getRole().equals(""))) {
            return ErrorCode.ERR_ROLE_EMPTY;
        }

        try {
            roleDAO.saveRole(role);
        }
        catch(DataIntegrityViolationException excp) {
            return ErrorCode.ERR_ROLE_REPEAT;
        }
        catch(DataAccessException excp) {
            return ErrorCode.ERR_UNKNOW;
        }
        
        return ErrorCode.ERR_UNDISCOVERED;
    }

    //新增权限给角色
    public int savePermissionToRole(int permissionId, int roleId) {
        
        TRolePermission rp = new TRolePermission(roleId,permissionId);
        
        try {
            roleDAO.savePermissionToRole(rp);
        }
        catch(DataIntegrityViolationException excp) {
            return ErrorCode.ERR_ADD_ROLE_PERMISSION_RELATETIONSHIP;
        }
        catch(DataAccessException excp) {
            return ErrorCode.ERR_UNKNOW;
        }
        
        return ErrorCode.ERR_UNDISCOVERED;
    }

    //删除角色
    public int removeRole(int roleId) {
        try {
            roleDAO.removeRole(roleId);
        }
        catch(ObjectRetrievalFailureException exce) {
            return ErrorCode.ERR_ROLE_NOT_FIND;
        }
        catch(DataAccessException excp) {
            return ErrorCode.ERR_UNKNOW;
        }
                      
        return ErrorCode.ERR_UNDISCOVERED;
    }

    //删除角色的权限
    public int removePermissionFromRole(int permissionId, int roleId) {
        try {
            roleDAO.removePermissionFromRole(permissionId, roleId);
        }
        catch(ObjectRetrievalFailureException excp) {
            return ErrorCode.ERR_ROLE_PERMISSION_RELATETIONSHIP_NOT_FIND;
        }
        catch(DataAccessException excp) {
            return ErrorCode.ERR_UNKNOW;
        }
               
        return ErrorCode.ERR_UNDISCOVERED;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -