This is an automated email from the ASF dual-hosted git repository.

caishunfeng pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new bc4ceda4cf TaskGroup remove query func permission check. (#10557)
bc4ceda4cf is described below

commit bc4ceda4cf864d068583879ae8f35afdaaefeccb
Author: WangJPLeo <[email protected]>
AuthorDate: Thu Jun 23 10:00:31 2022 +0800

    TaskGroup remove query func permission check. (#10557)
---
 .../api/service/impl/TaskGroupServiceImpl.java                | 11 ++++++-----
 .../apache/dolphinscheduler/dao/mapper/TaskGroupMapper.java   |  2 +-
 .../apache/dolphinscheduler/dao/mapper/TaskGroupMapper.xml    |  9 ++++++++-
 3 files changed, 15 insertions(+), 7 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
index 5941196ed1..32ea9ad39f 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
@@ -215,13 +215,14 @@ public class TaskGroupServiceImpl extends BaseServiceImpl 
implements TaskGroupSe
     public Map<String, Object> queryTaskGroupByProjectCode(User loginUser, int 
pageNo, int pageSize, Long projectCode) {
         Map<String, Object> result = new HashMap<>();
         Page<TaskGroup> page = new Page<>(pageNo, pageSize);
-
-        boolean canOperatorPermissions = canOperatorPermissions(loginUser, 
null, AuthorizationType.TASK_GROUP, 
ApiFuncIdentificationConstant.TASK_GROUP_VIEW);
-        if (!canOperatorPermissions){
-            putMsg(result, Status.NO_CURRENT_OPERATING_PERMISSION);
+        PageInfo<TaskGroup> emptyPageInfo = new PageInfo<>(pageNo, pageSize);
+        Set<Integer> ids = 
resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.TASK_GROUP,
 loginUser.getId(), logger);
+        if (ids.isEmpty()) {
+            result.put(Constants.DATA_LIST, emptyPageInfo);
+            putMsg(result, Status.SUCCESS);
             return result;
         }
-        IPage<TaskGroup> taskGroupPaging = 
taskGroupMapper.queryTaskGroupPagingByProjectCode(page, projectCode);
+        IPage<TaskGroup> taskGroupPaging = 
taskGroupMapper.queryTaskGroupPagingByProjectCode(page, new ArrayList<>(ids), 
projectCode);
 
         return getStringObjectMap(pageNo, pageSize, result, taskGroupPaging);
     }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.java
index 48b9fb6c22..a2c9359e18 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.java
@@ -78,7 +78,7 @@ public interface TaskGroupMapper extends 
BaseMapper<TaskGroup> {
 
     int selectCountByIdStatus(@Param("id") int id,@Param("status") int status);
 
-    IPage<TaskGroup> queryTaskGroupPagingByProjectCode(Page<TaskGroup> page, 
@Param("projectCode") Long projectCode);
+    IPage<TaskGroup> queryTaskGroupPagingByProjectCode(Page<TaskGroup> page, 
@Param("ids") List<Integer> ids, @Param("projectCode") Long projectCode);
 
     /**
      * listAuthorizedResource
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.xml
index 54e4c63341..7d3fa96b11 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupMapper.xml
@@ -62,7 +62,14 @@
         <include refid="baseSql">
         </include>
         from t_ds_task_group
-        where project_code in ( #{projectCode} ,  0)
+        where 1=1
+        <if test="ids != null and ids.size() > 0">
+            and id in
+            <foreach collection="ids" item="i" open="(" close=")" 
separator=",">
+                #{i}
+            </foreach>
+        </if>
+        and project_code in ( #{projectCode} ,  0)
         order by update_time desc
     </select>
 

Reply via email to