Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ public Result queryProjectCreatedAndAuthorizedByUser(@ApiIgnore @RequestAttribut
@ApiException(LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR)
@AccessLogAnnotation(ignoreRequestArgs = "loginUser")
public Result queryAllProjectList(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser) {
Map<String, Object> result = projectService.queryAllProjectList();
Map<String, Object> result = projectService.queryAllProjectList(loginUser);
return returnDataList(result);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,10 @@ public interface ProjectService {
/**
* query all project list that have one or more process definitions.
*
* @param loginUser login user
* @return project list
*/
Map<String, Object> queryAllProjectList();
Map<String, Object> queryAllProjectList(User loginUser);

/**
* query authorized and user create project list by user id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,7 @@ public Map<String, Object> queryProjectCreatedAndAuthorizedByUser(User loginUser

List<Project> projects = null;
if (loginUser.getUserType() == UserType.ADMIN_USER) {
projects = projectMapper.selectList(null);
projects = projectMapper.queryAllProject();
} else {
projects = projectMapper.queryProjectCreatedAndAuthorizedByUserId(loginUser.getId());
}
Expand Down Expand Up @@ -485,14 +485,21 @@ private int queryPermission(User user, Project project) {
/**
* query all project list
*
* @param loginUser user
* @return project list
*/
@Override
public Map<String, Object> queryAllProjectList() {
Map<String, Object> result = new HashMap<>();
List<Project> projects = projectMapper.queryAllProject();
public Map<String, Object> queryAllProjectList(User loginUser) {
List<Project> projectList;
if (loginUser.getUserType() == UserType.ADMIN_USER) {
projectList = projectMapper.queryAllProject();
} else {
projectList = projectMapper.queryProjectCreatedAndAuthorizedByUserId(loginUser.getId());
}

result.put(Constants.DATA_LIST, projects);
Map<String, Object> result = new HashMap<>(16);

result.put(Constants.DATA_LIST, projectList);
putMsg(result, Status.SUCCESS);
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public void testQueryAuthorizedProject() {
public void testQueryAllProjectList() {
Map<String, Object> result = new HashMap<>();
putMsg(result, Status.SUCCESS);
Mockito.when(projectService.queryAllProjectList()).thenReturn(result);
Mockito.when(projectService.queryAllProjectList(user)).thenReturn(result);
Result response = projectController.queryAllProjectList(user);
Assert.assertEquals(Status.SUCCESS.getCode(), response.getCode().intValue());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,8 @@ public void testQueryProjectCreatedAndAuthorizedByUser() {
public void testQueryAllProjectList() {
Mockito.when(projectMapper.queryAllProject()).thenReturn(getList());

Map<String, Object> result = projectService.queryAllProjectList();
User loginUser = getLoginUser();
Map<String, Object> result = projectService.queryAllProjectList(loginUser);
logger.info(result.toString());
List<Project> projects = (List<Project>) result.get(Constants.DATA_LIST);
Assert.assertTrue(CollectionUtils.isNotEmpty(projects));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ IPage<Project> queryProjectListPaging(IPage<Project> page,
ProjectUser queryProjectWithUserByProcessInstanceId(@Param("processInstanceId") int processInstanceId);

/**
* query all project
* query all project,only admin user can use this method, Other users query all projects use {@link ProjectMapper#queryProjectCreatedAndAuthorizedByUserId(int)}
* @return projectList
*/
List<Project> queryAllProject();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,25 @@
${alias}.id, ${alias}.name, ${alias}.code, ${alias}.description, ${alias}.user_id, ${alias}.flag, ${alias}.create_time, ${alias}.update_time
</sql>

<select id="queryByCode" resultType="org.apache.dolphinscheduler.dao.entity.Project">
<sql id="baseSqlProjectDetail">
select
<include refid="baseSql"/>
from t_ds_project
where code = #{projectCode}
<include refid="baseSqlV2">
<property name="alias" value="p"/>
</include>
,
u.user_name as user_name,
(SELECT COUNT(*) FROM t_ds_process_definition AS def WHERE def.project_code = p.code) AS def_count,
(SELECT COUNT(*) FROM t_ds_process_definition_log def, t_ds_process_instance inst WHERE def.code =
inst.process_definition_code and def.version = inst.process_definition_version AND def.project_code = p.code
AND inst.state=1 ) as inst_running_count
from t_ds_project p
left join t_ds_user u on u.id=p.user_id
</sql>

<select id="queryByCode" resultType="org.apache.dolphinscheduler.dao.entity.Project">
<include refid="baseSqlProjectDetail">
</include>
where p.code=#{projectCode}
</select>

<select id="queryDetailByCode" resultType="org.apache.dolphinscheduler.dao.entity.Project">
Expand Down Expand Up @@ -95,12 +109,14 @@
order by p.create_time desc
</select>
<select id="queryAuthedProjectListByUserId" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select
<include refid="baseSqlV2">
<property name="alias" value="p"/>
<include refid="baseSqlProjectDetail">
</include>
from t_ds_project p,t_ds_relation_project_user rel
where p.id = rel.project_id and rel.user_id= #{userId}
where 1=1
<if test="userId != 0">
and p.id in
(select project_id from t_ds_relation_project_user where user_id=#{userId}
)
</if>
</select>
<select id="queryRelationProjectListByUserId" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select
Expand All @@ -115,10 +131,9 @@
</if>
</select>
<select id="queryProjectExceptUserId" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select
<include refid="baseSql"/>
from t_ds_project
where user_id <![CDATA[ <> ]]> #{userId}
<include refid="baseSqlProjectDetail">
</include>
where p.user_id <![CDATA[ <> ]]> #{userId}
</select>
<select id="queryProjectCreatedByUser" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select
Expand All @@ -127,11 +142,11 @@
where user_id = #{userId}
</select>
<select id="queryProjectCreatedAndAuthorizedByUserId" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select
<include refid="baseSql"/>
from t_ds_project where id in
(select project_id from t_ds_relation_project_user where user_id=#{userId}
union select id as project_id from t_ds_project where user_id=#{userId})
<include refid="baseSqlProjectDetail">
</include>
where p.id in
(select project_id from t_ds_relation_project_user where user_id=#{userId}
union select id as project_id from t_ds_project where user_id=#{userId})
</select>

<select id="queryProjectWithUserByProcessInstanceId" resultType="org.apache.dolphinscheduler.dao.entity.ProjectUser">
Expand All @@ -147,6 +162,7 @@
</select>

<select id="queryAllProject" resultType="org.apache.dolphinscheduler.dao.entity.Project">
select * from t_ds_project
<include refid="baseSqlProjectDetail">
</include>
</select>
</mapper>