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

leonbao pushed a commit to branch 2.0.1-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/2.0.1-prepare by this push:
     new 0a44a47  Fix homepage user statistics result by new user (#7189)
0a44a47 is described below

commit 0a44a47266112eac700518110c189e521849a0d5
Author: Jiajie Zhong <[email protected]>
AuthorDate: Sun Dec 5 20:35:48 2021 +0800

    Fix homepage user statistics result by new user (#7189)
    
    For now when we create new user, it would see homepage
    statisic info as admin user like, cause `projectCodeArray`
    would not filter when we render sql. So I add prefix condition
    to handle this situation.
    
    fix #7182
---
 .../api/service/impl/DataAnalysisServiceImpl.java         | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
index 1800dd2..2c66138 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
@@ -44,6 +44,7 @@ import 
org.apache.dolphinscheduler.service.process.ProcessService;
 
 import org.apache.commons.lang.StringUtils;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
@@ -154,10 +155,13 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
             }
         }
 
+        List<ExecuteStatusCount> processInstanceStateCounts = new 
ArrayList<>();
         Long[] projectCodeArray = projectCode == 0 ? 
getProjectCodesArrays(loginUser)
                 : new Long[] { projectCode };
-        List<ExecuteStatusCount> processInstanceStateCounts =
-                instanceStateCounter.apply(start, end, projectCodeArray);
+
+        if (projectCodeArray.length != 0 || loginUser.getUserType() == 
UserType.ADMIN_USER) {
+            processInstanceStateCounts = instanceStateCounter.apply(start, 
end, projectCodeArray);
+        }
 
         if (processInstanceStateCounts != null) {
             TaskCountDto taskCountResult = new 
TaskCountDto(processInstanceStateCounts);
@@ -187,10 +191,13 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
             }
         }
 
+        List<DefinitionGroupByUser> defineGroupByUsers = new ArrayList<>();
         Long[] projectCodeArray = projectCode == 0 ? 
getProjectCodesArrays(loginUser)
                 : new Long[] { projectCode };
-        List<DefinitionGroupByUser> defineGroupByUsers = 
processDefinitionMapper.countDefinitionGroupByUser(
-                loginUser.getId(), projectCodeArray, isAdmin(loginUser));
+        if (projectCodeArray.length != 0 || loginUser.getUserType() == 
UserType.ADMIN_USER) {
+            defineGroupByUsers = 
processDefinitionMapper.countDefinitionGroupByUser(
+                    loginUser.getId(), projectCodeArray, isAdmin(loginUser));
+        }
 
         DefineUserDto dto = new DefineUserDto(defineGroupByUsers);
         result.put(Constants.DATA_LIST, dto);

Reply via email to