diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java index 220b4fc4d0a7cc3d6fdfb9a4675061c891d95a30..f2bf4475c2d802c1212bc547bcbcb6de4f5cf0a2 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java @@ -511,7 +511,7 @@ public class UsersService extends BaseService { if (CollectionUtils.isNotEmpty(oldAuthorizedResIds)) { // get all resource id of process definitions those is released - List> list = processDefinitionMapper.listResources(); + List> list = processDefinitionMapper.listResourcesByUser(userId); Map> resourceProcessMap = ResourceProcessDefinitionUtils.getResourceProcessDefinitionMap(list); Set resourceIdSet = resourceProcessMap.keySet(); 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 b75bb58b7d4f3c577bf4ff18e2b5520632f30a86..4df93f2e9febb38b1dd004e01729a96801485165 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 @@ -102,4 +102,11 @@ public interface ProcessDefinitionMapper extends BaseMapper { */ @MapKey("id") List> listResources(); + + /** + * list all resource ids by user id + * @return resource ids list + */ + @MapKey("id") + List> listResourcesByUser(@Param("userId") Integer userId); } 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 0cabf800cd8998ee8efdc01cfeadf0ab2329f98a..3e538a23e06639aa80312ca5e5a98b69485cfdbd 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 @@ -96,4 +96,10 @@ FROM t_ds_process_definition WHERE release_state = 1 and resource_ids is not null and resource_ids != '' + + \ No newline at end of file diff --git a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapperTest.java b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapperTest.java index e92ec545408947a317c396e9be82096e23ce8046..7f0cf977d7dde32387ddeed7af066397b3c47119 100644 --- a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapperTest.java +++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapperTest.java @@ -242,4 +242,13 @@ public class ProcessDefinitionMapperTest { List> maps = processDefinitionMapper.listResources(); Assert.assertNotNull(maps); } + + @Test + public void listResourcesByUserTest(){ + ProcessDefinition processDefinition = insertOne(); + processDefinition.setResourceIds("3,5"); + processDefinition.setReleaseState(ReleaseState.ONLINE); + List> maps = processDefinitionMapper.listResourcesByUser(processDefinition.getUserId()); + Assert.assertNotNull(maps); + } } \ No newline at end of file