diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 11a632f7..e03a2037 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -34,6 +34,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; @@ -126,6 +127,25 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryPermissionDataRule(String component, String requestPath, String username) { + List currentSyspermission = getSysPermissions(component, requestPath); + if(currentSyspermission!=null && !currentSyspermission.isEmpty()){ + List dataRules = new ArrayList<>(); + for (SysPermission sysPermission : currentSyspermission) { + // update-begin--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722 + List temp = sysPermissionDataRuleService.queryPermissionDataRules(username, sysPermission.getId()); + if(temp!=null && !temp.isEmpty()) { + //dataRules.addAll(temp); + dataRules = oConvertUtils.entityListToModelList(temp,SysPermissionDataRuleModel.class); + } + // update-end--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722 + } + return dataRules; + } + return Collections.emptyList(); + } + + @Nullable + private List getSysPermissions(String component, String requestPath) { List currentSyspermission; if(oConvertUtils.isNotEmpty(component)) { //1.通过注解属性pageComponent 获取菜单 @@ -161,20 +181,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { } } } - if(currentSyspermission!=null && !currentSyspermission.isEmpty()){ - List dataRules = new ArrayList<>(); - for (SysPermission sysPermission : currentSyspermission) { - // update-begin--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722 - List temp = sysPermissionDataRuleService.queryPermissionDataRules(username, sysPermission.getId()); - if(temp!=null && !temp.isEmpty()) { - //dataRules.addAll(temp); - dataRules = oConvertUtils.entityListToModelList(temp,SysPermissionDataRuleModel.class); - } - // update-end--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722 - } - return dataRules; - } - return Collections.emptyList(); + return currentSyspermission; } /** @@ -268,7 +275,6 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public DictModel getParentDepartId(String departId) { SysDepart depart = departMapper.getParentDepartId(departId); -// DictModel model = new DictModel(depart.getId(),depart.getParentId()); return new DictModel(depart.getId(),depart.getParentId()); } @@ -287,7 +293,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryTableDictItemsByCode(String table, String text, String code) { //update-begin-author:taoyan date:20200820 for:【Online+系统】字典表加权限控制机制逻辑,想法不错 LOWCOD-799 - if(table.indexOf("#{")>=0){ + if(table.contains("#{")){ table = QueryGenerator.getSqlRuleValue(table); } //update-end-author:taoyan date:20200820 for:【Online+系统】字典表加权限控制机制逻辑,想法不错 LOWCOD-799 @@ -496,13 +502,13 @@ public class SysBaseApiImpl implements ISysBaseAPI { try { DatabaseMetaData md = connection.getMetaData(); String dbType = md.getDatabaseProductName().toLowerCase(); - if(dbType.indexOf("mysql")>=0) { + if(dbType.contains("mysql")) { DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL; - }else if(dbType.indexOf("oracle")>=0) { + }else if(dbType.contains("oracle")) { DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE; - }else if(dbType.indexOf("sqlserver")>=0||dbType.indexOf("sql server")>=0) { + }else if(dbType.contains("sqlserver") || dbType.contains("sql server")) { DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER; - }else if(dbType.indexOf("postgresql")>=0) { + }else if(dbType.contains("postgresql")) { DB_TYPE = DataBaseConstant.DB_TYPE_POSTGRESQL; }else { throw new JeroBootException("数据库类型:["+dbType+"]不识别!"); @@ -535,7 +541,6 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryAllDSysCategory() { List ls = categoryMapper.selectList(null); -// List res = oConvertUtils.entityListToModelList(ls,SysCategoryModel.class); return oConvertUtils.entityListToModelList(ls,SysCategoryModel.class); } @@ -689,7 +694,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryAllUserByIds(String[] userIds) { QueryWrapper queryWrapper = new QueryWrapper().eq(STATUS,1).eq(DEL_FLAG,0); - queryWrapper.in("id",userIds); + queryWrapper.in("id",Arrays.asList(userIds)); List loginUsers = new ArrayList<>(); List sysUsers = userMapper.selectList(queryWrapper); for (SysUser user:sysUsers) { @@ -716,7 +721,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryUserByNames(String[] userNames) { QueryWrapper queryWrapper = new QueryWrapper().eq(STATUS,1).eq(DEL_FLAG,0); - queryWrapper.in("username",userNames); + queryWrapper.in("username",Arrays.asList(userNames)); List loginUsers = new ArrayList<>(); List sysUsers = userMapper.selectList(queryWrapper); for (SysUser user:sysUsers) { @@ -872,14 +877,14 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryUsersByUsernames(String usernames) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysUser::getUsername,usernames.split(",")); + queryWrapper.in(SysUser::getUsername,Arrays.asList(usernames.split(","))); return JSON.parseArray(JSON.toJSONString(userMapper.selectList(queryWrapper))).toJavaList(JSONObject.class); } @Override public List queryUsersByIds(String ids) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysUser::getId,ids.split(",")); + queryWrapper.in(SysUser::getId,Arrays.asList(ids.split(","))); return JSON.parseArray(JSON.toJSONString(userMapper.selectList(queryWrapper))).toJavaList(JSONObject.class); } @@ -891,14 +896,14 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryDepartsByOrgcodes(String orgCodes) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysDepart::getOrgCode,orgCodes.split(",")); + queryWrapper.in(SysDepart::getOrgCode,Arrays.asList(orgCodes.split(","))); return JSON.parseArray(JSON.toJSONString(sysDepartService.list(queryWrapper))).toJavaList(JSONObject.class); } @Override public List queryDepartsByIds(String ids) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysDepart::getId,ids.split(",")); + queryWrapper.in(SysDepart::getId,Arrays.asList(ids.split(","))); return JSON.parseArray(JSON.toJSONString(sysDepartService.list(queryWrapper))).toJavaList(JSONObject.class); }