czh-20260630-优化计划,增加分页、滚动加载等
This commit is contained in:
+58
-14
@@ -316,24 +316,52 @@ public class TaskListController {
|
|||||||
@AutoLog(value = "任务清单表-获取我所有的清单")
|
@AutoLog(value = "任务清单表-获取我所有的清单")
|
||||||
@Operation(summary = "获取我所有的清单")
|
@Operation(summary = "获取我所有的清单")
|
||||||
@GetMapping(value = "/myOwnLists")
|
@GetMapping(value = "/myOwnLists")
|
||||||
public Result<List<TaskList>> myOwnLists() {
|
public Result<Map<String, Object>> myOwnLists(
|
||||||
List<TaskList> list = taskListService.getMyOwnLists();
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
return Result.OK(list);
|
@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 = "任务清单表-获取所有清单")
|
@AutoLog(value = "任务清单表-获取所有清单")
|
||||||
@Operation(summary = "获取所有清单")
|
@Operation(summary = "获取所有清单")
|
||||||
@GetMapping(value = "/allLists")
|
@GetMapping(value = "/allLists")
|
||||||
public Result<List<TaskList>> getAllLists() {
|
public Result<Map<String, Object>> getAllLists(
|
||||||
return Result.OK(taskListService.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 = "任务清单表-获取我协作的清单")
|
@AutoLog(value = "任务清单表-获取我协作的清单")
|
||||||
@Operation(summary = "获取我协作的清单")
|
@Operation(summary = "获取我协作的清单")
|
||||||
@GetMapping(value = "/myCollabLists")
|
@GetMapping(value = "/myCollabLists")
|
||||||
public Result<List<TaskList>> myCollabLists() {
|
public Result<Map<String, Object>> myCollabLists(
|
||||||
List<TaskList> list = taskListService.getMyCollabLists();
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
return Result.OK(list);
|
@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 = "任务清单表-获取协作人列表")
|
@AutoLog(value = "任务清单表-获取协作人列表")
|
||||||
@@ -518,17 +546,33 @@ public class TaskListController {
|
|||||||
@AutoLog(value = "任务清单表-我负责的任务")
|
@AutoLog(value = "任务清单表-我负责的任务")
|
||||||
@Operation(summary = "获取当前用户负责的任务")
|
@Operation(summary = "获取当前用户负责的任务")
|
||||||
@GetMapping(value = "/myResponsibleTasks")
|
@GetMapping(value = "/myResponsibleTasks")
|
||||||
public Result<List<TaskListDetial>> myResponsibleTasks() {
|
public Result<Map<String, Object>> myResponsibleTasks(
|
||||||
List<TaskListDetial> list = taskListService.myResponsibleTasks();
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
return Result.OK(list);
|
@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 = "任务清单表-我关注的任务")
|
@AutoLog(value = "任务清单表-我关注的任务")
|
||||||
@Operation(summary = "获取当前用户关注的任务")
|
@Operation(summary = "获取当前用户关注的任务")
|
||||||
@GetMapping(value = "/myFollowedTasks")
|
@GetMapping(value = "/myFollowedTasks")
|
||||||
public Result<List<TaskListDetial>> myFollowedTasks() {
|
public Result<Map<String, Object>> myFollowedTasks(
|
||||||
List<TaskListDetial> list = taskListService.myFollowedTasks();
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
return Result.OK(list);
|
@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 = "任务清单表-获取当前用户密级")
|
@AutoLog(value = "任务清单表-获取当前用户密级")
|
||||||
|
|||||||
+2
-1
@@ -59,7 +59,8 @@ public class TaskListDetialController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(value = "/listAllByMainId")
|
@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);
|
List<TaskListDetial> list = taskListDetialService.queryAllByMainId(mainId);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|||||||
+12
@@ -25,6 +25,10 @@ public interface TaskListDetialMapper extends BaseMapper<TaskListDetial> {
|
|||||||
|
|
||||||
List<TaskListDetial> selectAllByMainId(@Param("mainId") String mainId);
|
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> selectTopLevelByMainId(@Param("mainId") String mainId);
|
||||||
|
|
||||||
List<TaskListDetial> selectSubTasksByPage(@Param("parentId") String parentId, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
|
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> 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);
|
void appendAssigner(@Param("taskId") String taskId, @Param("userId") String userId, @Param("userName") String userName);
|
||||||
}
|
}
|
||||||
|
|||||||
+12
@@ -25,4 +25,16 @@ public interface TaskListMapper extends BaseMapper<TaskList> {
|
|||||||
@Param("userSecLevel") Integer userSecLevel,
|
@Param("userSecLevel") Integer userSecLevel,
|
||||||
@Param("orgCode") String orgCode);
|
@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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+48
@@ -189,4 +189,52 @@
|
|||||||
AND (assign_id IS NULL OR assign_id NOT LIKE CONCAT('%', #{userId}, '%'))
|
AND (assign_id IS NULL OR assign_id NOT LIKE CONCAT('%', #{userId}, '%'))
|
||||||
</update>
|
</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>
|
</mapper>
|
||||||
|
|||||||
+78
@@ -42,4 +42,82 @@
|
|||||||
ORDER BY t.create_time ASC
|
ORDER BY t.create_time ASC
|
||||||
</select>
|
</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 < #{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 < #{userSecLevel}
|
||||||
|
)
|
||||||
|
<if test="keyword != null and keyword != ''">
|
||||||
|
AND t.tasklist_name LIKE CONCAT('%', #{keyword}, '%')
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+4
@@ -18,6 +18,10 @@ public interface ITaskListDetialService extends IService<TaskListDetial> {
|
|||||||
|
|
||||||
List<TaskListDetial> queryAllByMainId(String mainId);
|
List<TaskListDetial> queryAllByMainId(String mainId);
|
||||||
|
|
||||||
|
List<TaskListDetial> queryAllByMainIdPage(String mainId, Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
|
int countAllByMainId(String mainId);
|
||||||
|
|
||||||
List<TaskListDetial> queryTopLevelByMainId(String mainId);
|
List<TaskListDetial> queryTopLevelByMainId(String mainId);
|
||||||
|
|
||||||
void toggleStatus(String taskId);
|
void toggleStatus(String taskId);
|
||||||
|
|||||||
+20
@@ -78,10 +78,22 @@ public interface ITaskListService extends IService<TaskList> {
|
|||||||
|
|
||||||
List<TaskList> getMyOwnLists();
|
List<TaskList> getMyOwnLists();
|
||||||
|
|
||||||
|
List<TaskList> getMyOwnListsPage(Integer pageNo, Integer pageSize, String keyword);
|
||||||
|
|
||||||
|
int countMyOwnLists(String keyword);
|
||||||
|
|
||||||
List<TaskList> getAllLists();
|
List<TaskList> getAllLists();
|
||||||
|
|
||||||
|
List<TaskList> getAllListsPage(Integer pageNo, Integer pageSize, String keyword);
|
||||||
|
|
||||||
|
int countAllLists(String keyword);
|
||||||
|
|
||||||
List<TaskList> getMyCollabLists();
|
List<TaskList> getMyCollabLists();
|
||||||
|
|
||||||
|
List<TaskList> getMyCollabListsPage(Integer pageNo, Integer pageSize, String keyword);
|
||||||
|
|
||||||
|
int countMyCollabLists(String keyword);
|
||||||
|
|
||||||
List<CollaboratorVO> getCollaborators(String taskListId);
|
List<CollaboratorVO> getCollaborators(String taskListId);
|
||||||
|
|
||||||
void addCollaborator(AddCollaboratorReq req);
|
void addCollaborator(AddCollaboratorReq req);
|
||||||
@@ -96,5 +108,13 @@ public interface ITaskListService extends IService<TaskList> {
|
|||||||
|
|
||||||
List<TaskListDetial> myResponsibleTasks();
|
List<TaskListDetial> myResponsibleTasks();
|
||||||
|
|
||||||
|
List<TaskListDetial> myResponsibleTasksPage(Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
|
int countMyResponsibleTasks();
|
||||||
|
|
||||||
List<TaskListDetial> myFollowedTasks();
|
List<TaskListDetial> myFollowedTasks();
|
||||||
|
|
||||||
|
List<TaskListDetial> myFollowedTasksPage(Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
|
int countMyFollowedTasks();
|
||||||
}
|
}
|
||||||
|
|||||||
+15
@@ -285,6 +285,21 @@ public class TaskListDetialServiceImpl extends ServiceImpl<TaskListDetialMapper,
|
|||||||
return list;
|
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
|
@Override
|
||||||
public List<TaskListDetial> queryTopLevelByMainId(String mainId) {
|
public List<TaskListDetial> queryTopLevelByMainId(String mainId) {
|
||||||
List<TaskListDetial> list = taskListDetialMapper.selectTopLevelByMainId(mainId);
|
List<TaskListDetial> list = taskListDetialMapper.selectTopLevelByMainId(mainId);
|
||||||
|
|||||||
+180
@@ -509,6 +509,67 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
|||||||
return enrichListSummaries(taskListMapper.selectList(query), userId);
|
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
|
@Override
|
||||||
public List<TaskList> getAllLists() {
|
public List<TaskList> getAllLists() {
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
@@ -523,6 +584,34 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
|||||||
return enrichListSummaries(lists, userId);
|
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
|
@Override
|
||||||
public List<TaskList> getMyCollabLists() {
|
public List<TaskList> getMyCollabLists() {
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
@@ -550,6 +639,67 @@ public class TaskListServiceImpl extends ServiceImpl<TaskListMapper, TaskList> i
|
|||||||
return enrichListSummaries(taskListMapper.selectList(query), userId);
|
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) {
|
private String normalizePid(String pid) {
|
||||||
return oConvertUtils.isNotEmpty(pid) ? pid : null;
|
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());
|
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
|
@Override
|
||||||
public List<TaskListDetial> myFollowedTasks() {
|
public List<TaskListDetial> myFollowedTasks() {
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
return taskListDetialMapper.selectByFollowersId(loginUser.getId(), loginUser.getId());
|
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) {
|
private String getSecretText(Integer level) {
|
||||||
if (level == null) return "非密";
|
if (level == null) return "非密";
|
||||||
switch (level) {
|
switch (level) {
|
||||||
|
|||||||
Reference in New Issue
Block a user