This is an automated email from the ASF dual-hosted git repository.
kerwin pushed a commit to branch 3.1.3-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/3.1.3-prepare by this push:
new 7fa8454906 cherry-pick [Fix-13260][API] Ironed out the issue with
lacking the value of user's name when querying the list of workflow
definitions. #13261
7fa8454906 is described below
commit 7fa84549062277b3dbf38246a9dc40c10a9da02c
Author: calvin <[email protected]>
AuthorDate: Fri Dec 23 19:22:08 2022 +0800
cherry-pick [Fix-13260][API] Ironed out the issue with lacking the value of
user's name when querying the list of workflow definitions. #13261
---
.../api/service/impl/ProcessDefinitionServiceImpl.java | 8 ++++++--
.../api/service/ProcessDefinitionServiceTest.java | 8 +++++++-
.../org/apache/dolphinscheduler/dao/entity/ProcessDefinition.java | 2 +-
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
index 7d276ef209..26410f9a56 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
@@ -156,6 +156,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.JsonNode;
@@ -491,12 +492,15 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
.stream()
.collect(Collectors.toMap(Schedule::getProcessDefinitionCode,
Function.identity()));
+ Map<Integer, String> userMap = userMapper.selectList(new
QueryWrapper<>()).stream()
+ .collect(Collectors.toMap(User::getId, User::getUserName));
+
for (ProcessDefinition pd : processDefinitions) {
// todo: use batch query
ProcessDefinitionLog processDefinitionLog =
processDefinitionLogMapper.queryByDefinitionCodeAndVersion(pd.getCode(),
pd.getVersion());
- User user =
userMapper.selectById(processDefinitionLog.getOperator());
- pd.setModifyBy(user.getUserName());
+ pd.setModifyBy(userMap.get(processDefinitionLog.getOperator()));
+ pd.setUserName(userMap.get(pd.getUserId()));
Schedule schedule = scheduleMap.get(pd.getCode());
pd.setScheduleReleaseState(schedule == null ? null :
schedule.getReleaseState());
}
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
index 9eae1a6536..171dbbc8c6 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
@@ -63,6 +63,7 @@ import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
import org.apache.dolphinscheduler.dao.mapper.ScheduleMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
+import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.dao.model.PageListingResult;
import org.apache.dolphinscheduler.dao.repository.ProcessDefinitionDao;
import org.apache.dolphinscheduler.service.process.ProcessService;
@@ -164,6 +165,9 @@ public class ProcessDefinitionServiceTest {
@Mock
private WorkFlowLineageService workFlowLineageService;
+ @Mock
+ private UserMapper userMapper;
+
protected User user;
protected Exception exception;
protected final static long projectCode = 1L;
@@ -221,7 +225,9 @@ public class ProcessDefinitionServiceTest {
@Test
@SuppressWarnings("unchecked")
public void testQueryProcessDefinitionListPaging() {
- long projectCode = 1L;
+
Mockito.when(projectMapper.queryByCode(projectCode)).thenReturn(getProject(projectCode));
+
Mockito.when(userMapper.selectList(Mockito.any())).thenReturn(Lists.newArrayList());
+
Project project = getProject(projectCode);
User loginUser = new User();
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinition.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinition.java
index 6e7414c286..6f05feb77a 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinition.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessDefinition.java
@@ -121,7 +121,7 @@ public class ProcessDefinition {
private int userId;
/**
- * user name
+ * create user name
*/
@TableField(exist = false)
private String userName;