From aa575d84d64bc959d648308937ba1a53d39de736 Mon Sep 17 00:00:00 2001 From: lgcareer <18610854716@163.com> Date: Thu, 31 Oct 2019 17:22:58 +0800 Subject: [PATCH] Increase the judgment of whether it is admin (#1136) * rename from DatasourceUserMapper to DataSourceUserMapper * add unit test in UserMapper and WorkerGroupMapper * change cn.escheduler to org.apache.dolphinscheduler * add unit test in UdfFuncMapperTest * add unit test in UdfFuncMapperTest * remove DatabaseConfiguration * add ConnectionFactoryTest * cal duration in processInstancesList * change desc to description * change table name in mysql ddl * change table name in mysql ddl * change escheduler to dolphinscheduler * change escheduler to dolphinscheduler * change escheduler to dolphinscheduler * remove log4j-1.2-api and modify AlertMapperTest * remove log4j-1.2-api * Add alertDao to spring management * Add alertDao to spring management * get SqlSessionFactory from MybatisSqlSessionFactoryBean * get processDao by DaoFactory * read druid properties in ConneciontFactory * read druid properties in ConneciontFactory * change get alertDao by spring to DaoFactory * add log4j to resolve #967 * resole verify udf name error and delete udf error * Determine if principal is empty * Determine whether the logon user has the right to delete the project * Fixed an issue that produced attatch file named such as ATT00002.bin * fix too many connection in upgrade or create * fix NEED_FAULT_TOLERANCE and WAITTING_THREAD count fail * Added a judgment on whether the currently login user is an administrator * fix update udf database not change and create time is changed * add enterprise.wechat.enable to decide whether to send enterprise WeChat * change method check * Remove the administrator's judgment on query access token list * only admin can create worker group * delete alert group need delete the relation of user and alert group * add timeout in proxy when upload large resource * add gets scheduled times by expect fire times * add gets scheduled times by expect fire times * Increase the judgment of whether it is admin * Increase the judgment of whether it is admin --- .../api/service/DataAnalysisService.java | 2 +- .../api/service/ProcessDefinitionService.java | 2 +- .../dao/mapper/ProcessDefinitionMapper.java | 6 ++++-- .../dao/mapper/ProcessDefinitionMapper.xml | 10 +++++++++- .../dao/mapper/ProcessDefinitionMapperTest.java | 5 +++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java index e8e6939747..034138d2ce 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/DataAnalysisService.java @@ -179,7 +179,7 @@ public class DataAnalysisService extends BaseService{ Integer[] projectIdArray = getProjectIdsArrays(loginUser, projectId); List defineGroupByUsers = processDefinitionMapper.countDefinitionGroupByUser( - loginUser.getId(), projectIdArray); + loginUser.getId(), projectIdArray,isAdmin(loginUser)); DefineUserDto dto = new DefineUserDto(defineGroupByUsers); result.put(Constants.DATA_LIST, dto); diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java index 3aac1da496..b112badde4 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java @@ -210,7 +210,7 @@ public class ProcessDefinitionService extends BaseDAGService { Page page = new Page(pageNo, pageSize); IPage processDefinitionIPage = processDefineMapper.queryDefineListPaging( - page, searchVal, userId, project.getId()); + page, searchVal, userId, project.getId(),isAdmin(loginUser)); PageInfo pageInfo = new PageInfo(pageNo, pageSize); pageInfo.setTotalCount((int)processDefinitionIPage.getTotal()); diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java index 3287d8d8fb..ccf621bd4b 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java @@ -35,7 +35,8 @@ public interface ProcessDefinitionMapper extends BaseMapper { IPage queryDefineListPaging(IPage page, @Param("searchVal") String searchVal, @Param("userId") int userId, - @Param("projectId") int projectId); + @Param("projectId") int projectId, + @Param("isAdmin") boolean isAdmin); List queryAllDefinitionList(@Param("projectId") int projectId); @@ -45,5 +46,6 @@ public interface ProcessDefinitionMapper extends BaseMapper { List countDefinitionGroupByUser( @Param("userId") Integer userId, - @Param("projectIds") Integer[] projectIds); + @Param("projectIds") Integer[] projectIds, + @Param("isAdmin") boolean isAdmin); } diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml index 5fe5caa95a..18447de260 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml @@ -12,10 +12,14 @@ and pd.name = #{processDefinitionName} +