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);