diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointVO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointVO.java index 201f684d..0b3a985d 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointVO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/permission/PermissionPointVO.java @@ -164,13 +164,10 @@ public class PermissionPointVO { private String delegatedTypeDesc; public void applyFitOuTypeBit(long fitOuTypeBit) { - //这个最值需要处理 - if (fitOuTypeBit > 63L) { - fitOuTypeBit = 63L; - } long mask = 1L; ArrayList list = new ArrayList<>(); - while (mask <= 32) { + //这个最值依赖枚举可支持的最大值 - 避免数据为65535解析出多的数据 + while (mask <= 64) { long bitValue = fitOuTypeBit & mask; if (bitValue != 0) { list.add(bitValue); @@ -182,9 +179,6 @@ public class PermissionPointVO { public void applyFitOuNodeTypeBit(long fitOuNodeTypeBit) { //这个最值需要处理 - if (fitOuNodeTypeBit > 7L) { - fitOuNodeTypeBit = 7L; - } long mask = 1L; ArrayList list = new ArrayList<>(); while (mask <= 32) { diff --git a/tyr-server/src/test/java/cn/axzo/tyr/server/permission/SimpleTest.java b/tyr-server/src/test/java/cn/axzo/tyr/server/permission/SimpleTest.java index b1444025..6f379ddc 100644 --- a/tyr-server/src/test/java/cn/axzo/tyr/server/permission/SimpleTest.java +++ b/tyr-server/src/test/java/cn/axzo/tyr/server/permission/SimpleTest.java @@ -14,7 +14,7 @@ public class SimpleTest { public void testSplitBit() { PermissionPointVO vo = new PermissionPointVO(); - vo.applyFitOuTypeBit(34L); + vo.applyFitOuTypeBit(65535L); System.out.println(vo.getFitOuTypeList()); vo.applyFitOuTypeBit(65535L); System.out.println(vo.getFitOuTypeList());