Browse Source

权限管理编号规则修正

Michael 8 years ago
parent
commit
9408e6b721

+ 66 - 5
src/main/java/com/goafanti/permission/controller/NewPermissionApiController.java

@@ -61,8 +61,8 @@ public class NewPermissionApiController extends BaseApiController {
 			res.getError().add(buildError("","名称、路径、上级不能为空"));
 			return res;
 		}
-		String aut=permissionMapper.selectAutNoByNamei(record.getName());
-		if(aut!=null){
+		String auts=permissionMapper.selectAutNoByNamei(record.getName());
+		if(auts!=null){
 			res.getError().add(buildError("","权限已存在"));
 			return res;
 		}
@@ -71,6 +71,38 @@ public class NewPermissionApiController extends BaseApiController {
 			res.getError().add(buildError("","权限层级超限"));
 			return res;
 		}
+		//*********权限编号判断**************
+		record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));
+		String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
+		int Count=permissionMapper.selectAutNoCount(record.getSuperId());
+		if((Count+1)>99){
+			res.getError().add(buildError("","每层最多存在99个子类"));
+			return res;
+		}
+		if(Count<10){
+			String aut=autNo+"0"+Count;
+			String sid=permissionMapper.selectIdByAutNo(aut);
+			while(sid!=null){
+				Count=(Count+1)%100;				
+				if(Count>=10){
+					aut=autNo+Count;	
+				}else{
+					aut=autNo+"0"+Count;
+				}
+				sid=permissionMapper.selectIdByAutNo(aut);			
+			}
+			record.setAutNo(aut);
+		}
+		if(Count>=10){
+			String aut=autNo+Count;
+			String sid=permissionMapper.selectIdByAutNo(aut);
+			while(sid!=null){
+				Count=(Count+1)%100;			
+				aut=autNo+Count;
+				sid=permissionMapper.selectIdByAutNo(aut);				
+			}
+			record.setAutNo(aut);
+		}
 		res.setData(permissionService.insertSubordinate(record));
 		return res;
 	}
@@ -83,8 +115,6 @@ public class NewPermissionApiController extends BaseApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "id"));
 			return res;
 		}
-		/*Permission permission=permissionMapper.selectAllById(id);
-		String superId=permission.getSuperId();*/
 		int subordinate=permissionMapper.selectCountBySuperId(id);
 		if(subordinate>0){
 			res.getError().add(buildError("","存在下级权限不能删除"));
@@ -143,7 +173,38 @@ public class NewPermissionApiController extends BaseApiController {
 			}
 			
 		}
-		
+		//*********权限编号判断**************
+		record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));//上级名称	
+		String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
+		int Count=permissionMapper.selectAutNoCount(record.getSuperId());
+		if((Count+1)>99){
+			res.getError().add(buildError("","每层最多存在99个子类"));
+			return res;
+		}
+		if(Count<10){
+			String aut=autNo+"0"+Count;
+			String sid=permissionMapper.selectIdByAutNo(aut);
+			while(sid!=null){
+				Count=(Count+1)%100;			
+				if(Count>=10){
+					aut=autNo+Count;	
+				}else{
+					aut=autNo+"0"+Count;
+				}
+				sid=permissionMapper.selectIdByAutNo(aut);			
+			}
+			record.setAutNo(aut);
+		}
+		if(Count>=10){
+			String aut=autNo+Count;
+			String sid=permissionMapper.selectIdByAutNo(aut);
+			while(sid!=null){
+				Count=(Count+1)%100;				
+				aut=autNo+Count;
+				sid=permissionMapper.selectIdByAutNo(aut);				
+			}
+			record.setAutNo(aut);
+		}
 		res.setData(permissionService.updateById(record));
 		return res;
 	}

+ 1 - 54
src/main/java/com/goafanti/permission/service/impl/PermissionServiceImpl.java

@@ -115,36 +115,9 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 		record.setCreateTime(now);
 		record.setUpdateTime(now);
 		record.setDeletedSign("0");
-		String autNo=permissionMapper.selectAutNoByNamei(record.getSuperId());
-		int Count=permissionMapper.selectAutNoCount(record.getSuperId());
-		if(Count<10){
-			String aut=autNo+"0"+Count;
-			String sid=permissionMapper.selectIdByAutNo(aut);
-			while(sid!=null){
-				Count=Count+1;				
-				if(Count>=10){
-					aut=autNo+Count;	
-				}else{
-					aut=autNo+"0"+Count;
-				}
-				sid=permissionMapper.selectIdByAutNo(aut);			
-			}
-			record.setAutNo(aut);
-		}
-		if(Count>=10){
-			String aut=autNo+Count;
-			String sid=permissionMapper.selectIdByAutNo(aut);
-			while(sid!=null){
-				Count=Count+1;				
-				aut=autNo+Count;
-				sid=permissionMapper.selectIdByAutNo(aut);				
-			}
-			record.setAutNo(aut);
-		}
 		record.setHierarchies("0");//0下层
 		record.setStatus("0");//0正常 1解除
 		record.setShowOrder("0");//正常
-		record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));//上级名称	
 		permissionMapper.insertn(record);
 		return 1;
 	}
@@ -176,33 +149,7 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 		}else{
 			record.setHierarchies("0");
 		}
-		record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));
-		String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
-		int Count=permissionMapper.selectAutNoCount(record.getSuperId());
-		if(Count<10){
-			String aut=autNo+"0"+Count;
-			String sid=permissionMapper.selectIdByAutNo(aut);
-			while(sid!=null){
-				Count=Count+1;				
-				if(Count>=10){
-					aut=autNo+Count;	
-				}else{
-					aut=autNo+"0"+Count;
-				}
-				sid=permissionMapper.selectIdByAutNo(aut);			
-			}
-			record.setAutNo(aut);
-		}
-		if(Count>=10){
-			String aut=autNo+Count;
-			String sid=permissionMapper.selectIdByAutNo(aut);
-			while(sid!=null){
-				Count=Count+1;				
-				aut=autNo+Count;
-				sid=permissionMapper.selectIdByAutNo(aut);				
-			}
-			record.setAutNo(aut);
-		}
+		String autNo;
 		permissionMapper.updateById(record);
 		//*******下级编号修改
 		int n=0;