/** * * * <pre> * 读取权限出来授权时,要取高一级授权级别的来授予低级别的。 * 比如原本【可授权的权限】可以拿出来进行【普通授权】, * 原本【可授权授权且可传递授权】则可以拿出来进行【普通授权】或【可授权授权】, * 而原本就是【普通授权】的权限则不能拿出来进行授权。 * </pre> * * @param permissionRank * @return */ String genRankCondition4SelectPermission(String permissionRank) { if (UMConstants.LOWER_PERMISSION.equals(permissionRank)) { return " and p.isGrant=1 "; // 普通授权 : isGrant = 1 } if (UMConstants.AUTHORISE_PERMISSION.equals(permissionRank) || UMConstants.PASSON_AUTHORISE_PERMISSION.equals(permissionRank)) { return " and p.isGrant=1 and p.isPass=1"; // 可授权授权且可传递授权 : isGrant = 1 and isPass = 1 } return ""; }
/** * 将授权级别转化为两查询条件isGrant 和 isPass 的值 * * @param permissionRank * @return */ Integer[] convertRank(String permissionRank) { Integer isGrant = ParamConstants.FALSE, isPass = ParamConstants.FALSE; if (UMConstants.LOWER_PERMISSION.equals(permissionRank)) { // 普通授权 isGrant = isPass = ParamConstants.FALSE; } else if (UMConstants.AUTHORISE_PERMISSION.equals(permissionRank)) { // 可授权 isGrant = ParamConstants.TRUE; isPass = ParamConstants.FALSE; } else if (UMConstants.PASSON_AUTHORISE_PERMISSION.equals(permissionRank)) { // 可授权可传递 isGrant = isPass = ParamConstants.TRUE; } return new Integer[] {isGrant, isPass}; }