Merge branch 'master' into feature/20260519
This commit is contained in:
@@ -84,4 +84,8 @@ public class TaskList implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "创建时间字符串")
|
||||
private java.lang.String createTimeStr;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "当前用户权限等级:1=所有者,2=可编辑,3=可阅读")
|
||||
private java.lang.String myPermission;
|
||||
}
|
||||
|
||||
+4
-14
@@ -7,17 +7,7 @@
|
||||
FROM task_list t
|
||||
WHERE t.del_flag = '0'
|
||||
AND (
|
||||
-- 条件1:同一部门的人能看到互相创建的清单
|
||||
-- 注意:task_list.create_by 存的是 username,所以用 u.username 匹配
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
EXISTS (
|
||||
SELECT 1 FROM sys_user u
|
||||
WHERE u.username = t.create_by
|
||||
AND u.org_code = #{orgCode}
|
||||
)
|
||||
OR
|
||||
</if>
|
||||
-- 条件2:当前用户是所有者(permission=1)
|
||||
-- 条件1:当前用户是所有者(permission=1)
|
||||
EXISTS (
|
||||
SELECT 1 FROM task_list_permission p
|
||||
WHERE p.main_id = t.id
|
||||
@@ -25,7 +15,7 @@
|
||||
AND p.permission = '1'
|
||||
AND p.del_flag = '0'
|
||||
)
|
||||
-- 条件3:当前用户是协作者(permission=2/3)
|
||||
-- 条件2:当前用户是协作者(permission=2/3)
|
||||
OR EXISTS (
|
||||
SELECT 1 FROM task_list_permission p
|
||||
WHERE p.main_id = t.id
|
||||
@@ -33,7 +23,7 @@
|
||||
AND p.permission IN ('2', '3')
|
||||
AND p.del_flag = '0'
|
||||
)
|
||||
-- 条件4:清单中某任务的负责人/参与人是当前用户
|
||||
-- 条件3:清单中某任务的负责人/参与人是当前用户
|
||||
OR EXISTS (
|
||||
SELECT 1 FROM task_list_detial d
|
||||
WHERE d.main_id = t.id
|
||||
@@ -44,7 +34,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
-- 条件5:密级过滤(用户密级数值 > 清单密级数值才能看到)
|
||||
-- 条件4:密级过滤(用户密级数值 > 清单密级数值才能看到)
|
||||
AND (
|
||||
t.secret_level IS NULL
|
||||
OR t.secret_level < #{userSecLevel}
|
||||
|
||||
+9
-6
@@ -197,8 +197,8 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
|
||||
Integer sortOrder = 1;
|
||||
taskListFavoriteMapper.shiftSortOrderUpByType(userId, "0", sortOrder);
|
||||
Integer maxSort = taskListFavoriteService.getMaxSortOrderByType(userId, null, "0");
|
||||
Integer sortOrder = maxSort + 1;
|
||||
|
||||
TaskListFavorite favorite = new TaskListFavorite();
|
||||
favorite.setMainId(null);
|
||||
@@ -500,7 +500,7 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
||||
query.in(TaskList::getId, mainIds);
|
||||
query.and(w -> w.lt(TaskList::getSecretLevel, finalUserSecLevel).or().isNull(TaskList::getSecretLevel));
|
||||
query.orderByAsc(TaskList::getCreateTime);
|
||||
return enrichListSummaries(taskListMapper.selectList(query));
|
||||
return enrichListSummaries(taskListMapper.selectList(query), userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -514,7 +514,7 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
||||
String orgCode = loginUser.getOrgCode();
|
||||
|
||||
List<TaskList> lists = taskListMapper.selectVisibleLists(userId, userSecLevel, orgCode);
|
||||
return enrichListSummaries(lists);
|
||||
return enrichListSummaries(lists, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -541,14 +541,14 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
||||
query.in(TaskList::getId, mainIds);
|
||||
query.and(w -> w.lt(TaskList::getSecretLevel, finalUserSecLevel).or().isNull(TaskList::getSecretLevel));
|
||||
query.orderByAsc(TaskList::getCreateTime);
|
||||
return enrichListSummaries(taskListMapper.selectList(query));
|
||||
return enrichListSummaries(taskListMapper.selectList(query), userId);
|
||||
}
|
||||
|
||||
private String normalizePid(String pid) {
|
||||
return oConvertUtils.isNotEmpty(pid) ? pid : null;
|
||||
}
|
||||
|
||||
private List<TaskList> enrichListSummaries(List<TaskList> lists) {
|
||||
private List<TaskList> enrichListSummaries(List<TaskList> lists, String currentUserId) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
for (TaskList list : lists) {
|
||||
if (list.getCreateTime() != null) {
|
||||
@@ -564,6 +564,9 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
||||
if (ownerUser != null) {
|
||||
list.setOwnerName(ownerUser.getRealname());
|
||||
}
|
||||
if (currentUserId != null && currentUserId.equals(owner.getUserId())) {
|
||||
list.setMyPermission("1");
|
||||
}
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<TaskListPermission> collabQuery = new LambdaQueryWrapper<>();
|
||||
|
||||
Reference in New Issue
Block a user