!61 czh-20260630-优化计划,增加分页、滚动加载等

Merge pull request !61 from 陈志浩/refactor/tasklist-20260630
This commit is contained in:
陈志浩
2026-06-30 08:17:03 +00:00
committed by Gitee
10 changed files with 429 additions and 15 deletions
@@ -316,24 +316,52 @@ public class TaskListController {
@AutoLog(value = "任务清单表-获取我所有的清单")
@Operation(summary = "获取我所有的清单")
@GetMapping(value = "/myOwnLists")
public Result<List<TaskList>> myOwnLists() {
List<TaskList> list = taskListService.getMyOwnLists();
return Result.OK(list);
public Result<Map<String, Object>> myOwnLists(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "20") Integer pageSize,
@RequestParam(name = "keyword", required = false) String keyword) {
List<TaskList> list = taskListService.getMyOwnListsPage(pageNo, pageSize, keyword);
int total = taskListService.countMyOwnLists(keyword);
Map<String, Object> result = new HashMap<>();
result.put("records", list);
result.put("total", total);
result.put("pageNo", pageNo);
result.put("pageSize", pageSize);
return Result.OK(result);
}
@AutoLog(value = "任务清单表-获取所有清单")
@Operation(summary = "获取所有清单")
@GetMapping(value = "/allLists")
public Result<List<TaskList>> getAllLists() {
return Result.OK(taskListService.getAllLists());
public Result<Map<String, Object>> getAllLists(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "20") Integer pageSize,
@RequestParam(name = "keyword", required = false) String keyword) {
List<TaskList> list = taskListService.getAllListsPage(pageNo, pageSize, keyword);
int total = taskListService.countAllLists(keyword);
Map<String, Object> result = new HashMap<>();
result.put("records", list);
result.put("total", total);
result.put("pageNo", pageNo);
result.put("pageSize", pageSize);
return Result.OK(result);
}
@AutoLog(value = "任务清单表-获取我协作的清单")
@Operation(summary = "获取我协作的清单")
@GetMapping(value = "/myCollabLists")
public Result<List<TaskList>> myCollabLists() {
List<TaskList> list = taskListService.getMyCollabLists();
return Result.OK(list);
public Result<Map<String, Object>> myCollabLists(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "20") Integer pageSize,
@RequestParam(name = "keyword", required = false) String keyword) {
List<TaskList> list = taskListService.getMyCollabListsPage(pageNo, pageSize, keyword);
int total = taskListService.countMyCollabLists(keyword);
Map<String, Object> result = new HashMap<>();
result.put("records", list);
result.put("total", total);
result.put("pageNo", pageNo);
result.put("pageSize", pageSize);
return Result.OK(result);
}
@AutoLog(value = "任务清单表-获取协作人列表")
@@ -518,17 +546,33 @@ public class TaskListController {
@AutoLog(value = "任务清单表-我负责的任务")
@Operation(summary = "获取当前用户负责的任务")
@GetMapping(value = "/myResponsibleTasks")
public Result<List<TaskListDetial>> myResponsibleTasks() {
List<TaskListDetial> list = taskListService.myResponsibleTasks();
return Result.OK(list);
public Result<Map<String, Object>> myResponsibleTasks(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "50") Integer pageSize) {
List<TaskListDetial> list = taskListService.myResponsibleTasksPage(pageNo, pageSize);
int total = taskListService.countMyResponsibleTasks();
Map<String, Object> result = new HashMap<>();
result.put("records", list);
result.put("total", total);
result.put("pageNo", pageNo);
result.put("pageSize", pageSize);
return Result.OK(result);
}
@AutoLog(value = "任务清单表-我关注的任务")
@Operation(summary = "获取当前用户关注的任务")
@GetMapping(value = "/myFollowedTasks")
public Result<List<TaskListDetial>> myFollowedTasks() {
List<TaskListDetial> list = taskListService.myFollowedTasks();
return Result.OK(list);
public Result<Map<String, Object>> myFollowedTasks(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "50") Integer pageSize) {
List<TaskListDetial> list = taskListService.myFollowedTasksPage(pageNo, pageSize);
int total = taskListService.countMyFollowedTasks();
Map<String, Object> result = new HashMap<>();
result.put("records", list);
result.put("total", total);
result.put("pageNo", pageNo);
result.put("pageSize", pageSize);
return Result.OK(result);
}
@AutoLog(value = "任务清单表-获取当前用户密级")
@@ -59,7 +59,8 @@ public class TaskListDetialController {
}
@GetMapping(value = "/listAllByMainId")
public Result<List<TaskListDetial>> listAllByMainId(@RequestParam(name = "mainId") String mainId) {
public Result<List<TaskListDetial>> listAllByMainId(
@RequestParam(name = "mainId") String mainId) {
List<TaskListDetial> list = taskListDetialService.queryAllByMainId(mainId);
return Result.OK(list);
}
@@ -25,6 +25,10 @@ public interface TaskListDetialMapper extends BaseMapper<TaskListDetial> {
List<TaskListDetial> selectAllByMainId(@Param("mainId") String mainId);
List<TaskListDetial> selectAllByMainIdPage(@Param("mainId") String mainId, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
int countAllByMainId(@Param("mainId") String mainId);
List<TaskListDetial> selectTopLevelByMainId(@Param("mainId") String mainId);
List<TaskListDetial> selectSubTasksByPage(@Param("parentId") String parentId, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
@@ -59,5 +63,13 @@ public interface TaskListDetialMapper extends BaseMapper<TaskListDetial> {
List<TaskListDetial> selectByFollowersId(@Param("followersId") String followersId, @Param("userId") String userId);
List<TaskListDetial> selectByAssigneeIdPage(@Param("assigneeId") String assigneeId, @Param("userId") String userId, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
int countByAssigneeId(@Param("assigneeId") String assigneeId, @Param("userId") String userId);
List<TaskListDetial> selectByFollowersIdPage(@Param("followersId") String followersId, @Param("userId") String userId, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
int countByFollowersId(@Param("followersId") String followersId, @Param("userId") String userId);
void appendAssigner(@Param("taskId") String taskId, @Param("userId") String userId, @Param("userName") String userName);
}
@@ -25,4 +25,16 @@ public interface TaskListMapper extends BaseMapper<TaskList> {
@Param("userSecLevel") Integer userSecLevel,
@Param("orgCode") String orgCode);
List<TaskList> selectVisibleListsPage(@Param("userId") String userId,
@Param("userSecLevel") Integer userSecLevel,
@Param("orgCode") String orgCode,
@Param("offset") Integer offset,
@Param("pageSize") Integer pageSize,
@Param("keyword") String keyword);
int countVisibleLists(@Param("userId") String userId,
@Param("userSecLevel") Integer userSecLevel,
@Param("orgCode") String orgCode,
@Param("keyword") String keyword);
}
@@ -189,4 +189,52 @@
AND (assign_id IS NULL OR assign_id NOT LIKE CONCAT('%', #{userId}, '%'))
</update>
<select id="selectAllByMainIdPage" resultType="org.jeecg.modules.demo.tasklist.entity.TaskListDetial">
SELECT * FROM task_list_detial
WHERE main_id = #{mainId} AND del_flag = '0'
ORDER BY sort_order ASC
LIMIT #{offset}, #{pageSize}
</select>
<select id="countAllByMainId" resultType="int">
SELECT COUNT(*) FROM task_list_detial
WHERE main_id = #{mainId} AND type = '1' AND del_flag = '0'
</select>
<select id="selectByAssigneeIdPage" resultType="org.jeecg.modules.demo.tasklist.entity.TaskListDetial">
SELECT d.*, t.tasklist_name AS listName, p.permission AS myPermission
FROM task_list_detial d
LEFT JOIN task_list t ON d.main_id = t.id AND t.del_flag = '0'
LEFT JOIN task_list_permission p ON d.main_id = p.main_id
AND p.user_id = #{userId} AND p.del_flag = '0'
WHERE d.type = '1' AND d.del_flag = '0'
AND d.assignee_id LIKE CONCAT('%', #{assigneeId}, '%')
ORDER BY d.create_time DESC
LIMIT #{offset}, #{pageSize}
</select>
<select id="countByAssigneeId" resultType="int">
SELECT COUNT(*) FROM task_list_detial d
WHERE d.type = '1' AND d.del_flag = '0'
AND d.assignee_id LIKE CONCAT('%', #{assigneeId}, '%')
</select>
<select id="selectByFollowersIdPage" resultType="org.jeecg.modules.demo.tasklist.entity.TaskListDetial">
SELECT d.*, t.tasklist_name AS listName, p.permission AS myPermission
FROM task_list_detial d
LEFT JOIN task_list t ON d.main_id = t.id AND t.del_flag = '0'
LEFT JOIN task_list_permission p ON d.main_id = p.main_id
AND p.user_id = #{userId} AND p.del_flag = '0'
WHERE d.type = '1' AND d.del_flag = '0'
AND d.followers_id LIKE CONCAT('%', #{followersId}, '%')
ORDER BY d.create_time DESC
LIMIT #{offset}, #{pageSize}
</select>
<select id="countByFollowersId" resultType="int">
SELECT COUNT(*) FROM task_list_detial d
WHERE d.type = '1' AND d.del_flag = '0'
AND d.followers_id LIKE CONCAT('%', #{followersId}, '%')
</select>
</mapper>
@@ -42,4 +42,82 @@
ORDER BY t.create_time ASC
</select>
<select id="selectVisibleListsPage" resultType="org.jeecg.modules.demo.tasklist.entity.TaskList">
SELECT DISTINCT t.*
FROM task_list t
WHERE t.del_flag = '0'
AND (
EXISTS (
SELECT 1 FROM task_list_permission p
WHERE p.main_id = t.id
AND p.user_id = #{userId}
AND p.permission = '1'
AND p.del_flag = '0'
)
OR EXISTS (
SELECT 1 FROM task_list_permission p
WHERE p.main_id = t.id
AND p.user_id = #{userId}
AND p.permission IN ('2', '3')
AND p.del_flag = '0'
)
OR EXISTS (
SELECT 1 FROM task_list_detial d
WHERE d.main_id = t.id
AND d.del_flag = '0'
AND (
d.assignee_id LIKE CONCAT('%', #{userId}, '%')
OR d.participant_id LIKE CONCAT('%', #{userId}, '%')
)
)
)
AND (
t.secret_level IS NULL
OR t.secret_level &lt; #{userSecLevel}
)
<if test="keyword != null and keyword != ''">
AND t.tasklist_name LIKE CONCAT('%', #{keyword}, '%')
</if>
ORDER BY t.create_time ASC
LIMIT #{offset}, #{pageSize}
</select>
<select id="countVisibleLists" resultType="int">
SELECT COUNT(DISTINCT t.id)
FROM task_list t
WHERE t.del_flag = '0'
AND (
EXISTS (
SELECT 1 FROM task_list_permission p
WHERE p.main_id = t.id
AND p.user_id = #{userId}
AND p.permission = '1'
AND p.del_flag = '0'
)
OR EXISTS (
SELECT 1 FROM task_list_permission p
WHERE p.main_id = t.id
AND p.user_id = #{userId}
AND p.permission IN ('2', '3')
AND p.del_flag = '0'
)
OR EXISTS (
SELECT 1 FROM task_list_detial d
WHERE d.main_id = t.id
AND d.del_flag = '0'
AND (
d.assignee_id LIKE CONCAT('%', #{userId}, '%')
OR d.participant_id LIKE CONCAT('%', #{userId}, '%')
)
)
)
AND (
t.secret_level IS NULL
OR t.secret_level &lt; #{userSecLevel}
)
<if test="keyword != null and keyword != ''">
AND t.tasklist_name LIKE CONCAT('%', #{keyword}, '%')
</if>
</select>
</mapper>
@@ -18,6 +18,10 @@ public interface ITaskListDetialService extends IService<TaskListDetial> {
List<TaskListDetial> queryAllByMainId(String mainId);
List<TaskListDetial> queryAllByMainIdPage(String mainId, Integer pageNo, Integer pageSize);
int countAllByMainId(String mainId);
List<TaskListDetial> queryTopLevelByMainId(String mainId);
void toggleStatus(String taskId);
@@ -78,10 +78,22 @@ public interface ITaskListService extends IService<TaskList> {
List<TaskList> getMyOwnLists();
List<TaskList> getMyOwnListsPage(Integer pageNo, Integer pageSize, String keyword);
int countMyOwnLists(String keyword);
List<TaskList> getAllLists();
List<TaskList> getAllListsPage(Integer pageNo, Integer pageSize, String keyword);
int countAllLists(String keyword);
List<TaskList> getMyCollabLists();
List<TaskList> getMyCollabListsPage(Integer pageNo, Integer pageSize, String keyword);
int countMyCollabLists(String keyword);
List<CollaboratorVO> getCollaborators(String taskListId);
void addCollaborator(AddCollaboratorReq req);
@@ -96,5 +108,13 @@ public interface ITaskListService extends IService<TaskList> {
List<TaskListDetial> myResponsibleTasks();
List<TaskListDetial> myResponsibleTasksPage(Integer pageNo, Integer pageSize);
int countMyResponsibleTasks();
List<TaskListDetial> myFollowedTasks();
List<TaskListDetial> myFollowedTasksPage(Integer pageNo, Integer pageSize);
int countMyFollowedTasks();
}
@@ -285,6 +285,21 @@ public class TaskListDetialServiceImpl extends ServiceImpl<TaskListDetialMapper,
return list;
}
@Override
public List<TaskListDetial> queryAllByMainIdPage(String mainId, Integer pageNo, Integer pageSize) {
if (pageNo == null || pageNo < 1) pageNo = 1;
if (pageSize == null || pageSize < 1) pageSize = 50;
int offset = (pageNo - 1) * pageSize;
List<TaskListDetial> list = taskListDetialMapper.selectAllByMainIdPage(mainId, offset, pageSize);
fillCreateByName(list);
return list;
}
@Override
public int countAllByMainId(String mainId) {
return taskListDetialMapper.countAllByMainId(mainId);
}
@Override
public List<TaskListDetial> queryTopLevelByMainId(String mainId) {
List<TaskListDetial> list = taskListDetialMapper.selectTopLevelByMainId(mainId);
@@ -509,6 +509,67 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
return enrichListSummaries(taskListMapper.selectList(query), userId);
}
@Override
public List<TaskList> getMyOwnListsPage(Integer pageNo, Integer pageSize, String keyword) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
Integer userSecLevel = loginUser.getUserSecurityLevel();
if (userSecLevel == null) {
userSecLevel = 3;
}
final Integer finalUserSecLevel = userSecLevel;
LambdaQueryWrapper<TaskListPermission> permQuery = new LambdaQueryWrapper<>();
permQuery.eq(TaskListPermission::getUserId, userId);
permQuery.eq(TaskListPermission::getPermission, "1");
List<TaskListPermission> perms = taskListPermissionMapper.selectList(permQuery);
List<String> mainIds = perms.stream().map(TaskListPermission::getMainId).collect(java.util.stream.Collectors.toList());
if (mainIds.isEmpty()) {
return java.util.Collections.emptyList();
}
LambdaQueryWrapper<TaskList> query = new LambdaQueryWrapper<>();
query.in(TaskList::getId, mainIds);
query.and(w -> w.lt(TaskList::getSecretLevel, finalUserSecLevel).or().isNull(TaskList::getSecretLevel));
if (keyword != null && !keyword.trim().isEmpty()) {
query.like(TaskList::getTasklistName, keyword.trim());
}
query.orderByAsc(TaskList::getCreateTime);
com.baomidou.mybatisplus.core.metadata.IPage<TaskList> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNo, pageSize);
com.baomidou.mybatisplus.core.metadata.IPage<TaskList> pageResult = taskListMapper.selectPage(page, query);
return enrichListSummaries(pageResult.getRecords(), userId);
}
@Override
public int countMyOwnLists(String keyword) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
Integer userSecLevel = loginUser.getUserSecurityLevel();
if (userSecLevel == null) {
userSecLevel = 3;
}
final Integer finalUserSecLevel = userSecLevel;
LambdaQueryWrapper<TaskListPermission> permQuery = new LambdaQueryWrapper<>();
permQuery.eq(TaskListPermission::getUserId, userId);
permQuery.eq(TaskListPermission::getPermission, "1");
List<TaskListPermission> perms = taskListPermissionMapper.selectList(permQuery);
List<String> mainIds = perms.stream().map(TaskListPermission::getMainId).collect(java.util.stream.Collectors.toList());
if (mainIds.isEmpty()) {
return 0;
}
LambdaQueryWrapper<TaskList> query = new LambdaQueryWrapper<>();
query.in(TaskList::getId, mainIds);
query.and(w -> w.lt(TaskList::getSecretLevel, finalUserSecLevel).or().isNull(TaskList::getSecretLevel));
if (keyword != null && !keyword.trim().isEmpty()) {
query.like(TaskList::getTasklistName, keyword.trim());
}
return taskListMapper.selectCount(query).intValue();
}
@Override
public List<TaskList> getAllLists() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -523,6 +584,34 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
return enrichListSummaries(lists, userId);
}
@Override
public List<TaskList> getAllListsPage(Integer pageNo, Integer pageSize, String keyword) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
Integer userSecLevel = loginUser.getUserSecurityLevel();
if (userSecLevel == null) {
userSecLevel = 3;
}
String orgCode = loginUser.getOrgCode();
if (pageNo == null || pageNo < 1) pageNo = 1;
if (pageSize == null || pageSize < 1) pageSize = 20;
int offset = (pageNo - 1) * pageSize;
List<TaskList> lists = taskListMapper.selectVisibleListsPage(userId, userSecLevel, orgCode, offset, pageSize, keyword);
return enrichListSummaries(lists, userId);
}
@Override
public int countAllLists(String keyword) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
Integer userSecLevel = loginUser.getUserSecurityLevel();
if (userSecLevel == null) {
userSecLevel = 3;
}
String orgCode = loginUser.getOrgCode();
return taskListMapper.countVisibleLists(userId, userSecLevel, orgCode, keyword);
}
@Override
public List<TaskList> getMyCollabLists() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -550,6 +639,67 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
return enrichListSummaries(taskListMapper.selectList(query), userId);
}
@Override
public List<TaskList> getMyCollabListsPage(Integer pageNo, Integer pageSize, String keyword) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
Integer userSecLevel = loginUser.getUserSecurityLevel();
if (userSecLevel == null) {
userSecLevel = 3;
}
final Integer finalUserSecLevel = userSecLevel;
LambdaQueryWrapper<TaskListPermission> permQuery = new LambdaQueryWrapper<>();
permQuery.eq(TaskListPermission::getUserId, userId);
permQuery.ne(TaskListPermission::getPermission, "1");
List<TaskListPermission> perms = taskListPermissionMapper.selectList(permQuery);
List<String> mainIds = perms.stream().map(TaskListPermission::getMainId).collect(java.util.stream.Collectors.toList());
if (mainIds.isEmpty()) {
return java.util.Collections.emptyList();
}
LambdaQueryWrapper<TaskList> query = new LambdaQueryWrapper<>();
query.in(TaskList::getId, mainIds);
query.and(w -> w.lt(TaskList::getSecretLevel, finalUserSecLevel).or().isNull(TaskList::getSecretLevel));
if (keyword != null && !keyword.trim().isEmpty()) {
query.like(TaskList::getTasklistName, keyword.trim());
}
query.orderByAsc(TaskList::getCreateTime);
com.baomidou.mybatisplus.core.metadata.IPage<TaskList> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNo, pageSize);
com.baomidou.mybatisplus.core.metadata.IPage<TaskList> pageResult = taskListMapper.selectPage(page, query);
return enrichListSummaries(pageResult.getRecords(), userId);
}
@Override
public int countMyCollabLists(String keyword) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
Integer userSecLevel = loginUser.getUserSecurityLevel();
if (userSecLevel == null) {
userSecLevel = 3;
}
final Integer finalUserSecLevel = userSecLevel;
LambdaQueryWrapper<TaskListPermission> permQuery = new LambdaQueryWrapper<>();
permQuery.eq(TaskListPermission::getUserId, userId);
permQuery.ne(TaskListPermission::getPermission, "1");
List<TaskListPermission> perms = taskListPermissionMapper.selectList(permQuery);
List<String> mainIds = perms.stream().map(TaskListPermission::getMainId).collect(java.util.stream.Collectors.toList());
if (mainIds.isEmpty()) {
return 0;
}
LambdaQueryWrapper<TaskList> query = new LambdaQueryWrapper<>();
query.in(TaskList::getId, mainIds);
query.and(w -> w.lt(TaskList::getSecretLevel, finalUserSecLevel).or().isNull(TaskList::getSecretLevel));
if (keyword != null && !keyword.trim().isEmpty()) {
query.like(TaskList::getTasklistName, keyword.trim());
}
return taskListMapper.selectCount(query).intValue();
}
private String normalizePid(String pid) {
return oConvertUtils.isNotEmpty(pid) ? pid : null;
}
@@ -859,12 +1009,42 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
return taskListDetialMapper.selectByAssigneeId(loginUser.getId(), loginUser.getId());
}
@Override
public List<TaskListDetial> myResponsibleTasksPage(Integer pageNo, Integer pageSize) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (pageNo == null || pageNo < 1) pageNo = 1;
if (pageSize == null || pageSize < 1) pageSize = 50;
int offset = (pageNo - 1) * pageSize;
return taskListDetialMapper.selectByAssigneeIdPage(loginUser.getId(), loginUser.getId(), offset, pageSize);
}
@Override
public int countMyResponsibleTasks() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
return taskListDetialMapper.countByAssigneeId(loginUser.getId(), loginUser.getId());
}
@Override
public List<TaskListDetial> myFollowedTasks() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
return taskListDetialMapper.selectByFollowersId(loginUser.getId(), loginUser.getId());
}
@Override
public List<TaskListDetial> myFollowedTasksPage(Integer pageNo, Integer pageSize) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (pageNo == null || pageNo < 1) pageNo = 1;
if (pageSize == null || pageSize < 1) pageSize = 50;
int offset = (pageNo - 1) * pageSize;
return taskListDetialMapper.selectByFollowersIdPage(loginUser.getId(), loginUser.getId(), offset, pageSize);
}
@Override
public int countMyFollowedTasks() {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
return taskListDetialMapper.countByFollowersId(loginUser.getId(), loginUser.getId());
}
private String getSecretText(Integer level) {
if (level == null) return "非密";
switch (level) {