优化工作日志分页查询逻辑和排序条件。
This commit is contained in:
parent
ad7aae0daf
commit
7a041e64f1
@ -57,9 +57,6 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
|||||||
queryWrapper.selectAs("COALESCE(c.readCount, 0)", LogInstanceRespVO::getReadCount);
|
queryWrapper.selectAs("COALESCE(c.readCount, 0)", LogInstanceRespVO::getReadCount);
|
||||||
queryWrapper.selectAs("COALESCE(d.unreadCount, 0)", LogInstanceRespVO::getUnreadCount);
|
queryWrapper.selectAs("COALESCE(d.unreadCount, 0)", LogInstanceRespVO::getUnreadCount);
|
||||||
queryWrapper.selectAs("COALESCE(b.comment, 0)", LogInstanceRespVO::getComment);
|
queryWrapper.selectAs("COALESCE(b.comment, 0)", LogInstanceRespVO::getComment);
|
||||||
queryWrapper.innerJoin(UserPostDO.class, "userPost", UserPostDO::getUserId, LogInstanceDO::getStartUserId);
|
|
||||||
queryWrapper.innerJoin(DeptDO.class, "dept", DeptDO::getId, LogInstanceDO::getDeptId);
|
|
||||||
queryWrapper.innerJoin(PostDO.class, "post", PostDO::getId, UserPostDO::getPostId);
|
|
||||||
queryWrapper.leftJoin(LogReadDo.class, "e", on -> on
|
queryWrapper.leftJoin(LogReadDo.class, "e", on -> on
|
||||||
.eq(LogReadDo::getLogInstanceId, LogInstanceDO::getId)
|
.eq(LogReadDo::getLogInstanceId, LogInstanceDO::getId)
|
||||||
.eq(LogReadDo::getReadUserId, userId)
|
.eq(LogReadDo::getReadUserId, userId)
|
||||||
@ -67,6 +64,7 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
|||||||
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS readCount FROM work_log_read where read_status = 1 GROUP BY log_instance_id) c on t.id = c.log_instance_id");
|
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS readCount FROM work_log_read where read_status = 1 GROUP BY log_instance_id) c on t.id = c.log_instance_id");
|
||||||
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS unReadCount FROM work_log_read where read_status = 0 GROUP BY log_instance_id) AS d ON t.id = d.log_instance_id");
|
queryWrapper.leftJoin("(SELECT log_instance_id, COUNT(log_instance_id) AS unReadCount FROM work_log_read where read_status = 0 GROUP BY log_instance_id) AS d ON t.id = d.log_instance_id");
|
||||||
queryWrapper.leftJoin("(SELECT work_log_id, COUNT(work_log_id) AS comment FROM work_log_comment GROUP BY work_log_id) AS b ON t.id = b.work_log_id");
|
queryWrapper.leftJoin("(SELECT work_log_id, COUNT(work_log_id) AS comment FROM work_log_comment GROUP BY work_log_id) AS b ON t.id = b.work_log_id");
|
||||||
|
// queryWrapper.eq(pagingType == 1, LogInstanceDO::getStartUserId, userId);
|
||||||
queryWrapper.eqIfPresent(LogInstanceDO::getDeptId, reqVO.getDeptId());
|
queryWrapper.eqIfPresent(LogInstanceDO::getDeptId, reqVO.getDeptId());
|
||||||
queryWrapper.eqIfPresent(LogInstanceDO::getFormId, reqVO.getFormId());
|
queryWrapper.eqIfPresent(LogInstanceDO::getFormId, reqVO.getFormId());
|
||||||
queryWrapper.eqIfPresent(LogInstanceDO::getStartUserId, reqVO.getStartUserId());
|
queryWrapper.eqIfPresent(LogInstanceDO::getStartUserId, reqVO.getStartUserId());
|
||||||
@ -82,15 +80,15 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
|||||||
if (reqVO.getIsProduce() != null && reqVO.getIsProduce() == 2) {
|
if (reqVO.getIsProduce() != null && reqVO.getIsProduce() == 2) {
|
||||||
queryWrapper.notLike(DeptDO::getFlag, "166");
|
queryWrapper.notLike(DeptDO::getFlag, "166");
|
||||||
}
|
}
|
||||||
if (pagingType == 0) {
|
|
||||||
queryWrapper.ne(LogInstanceDO::getStartUserId, userId);
|
|
||||||
}
|
|
||||||
if (pagingType == 1) {
|
|
||||||
queryWrapper.eq(LogInstanceDO::getStartUserId, userId);
|
|
||||||
}
|
|
||||||
queryWrapper.groupBy(LogInstanceDO::getId);
|
queryWrapper.groupBy(LogInstanceDO::getId);
|
||||||
queryWrapper.orderByDesc(LogInstanceDO::getTime);
|
queryWrapper.orderByDesc(LogInstanceDO::getTime);
|
||||||
|
if (pagingType == 0) {
|
||||||
|
queryWrapper.innerJoin(UserPostDO.class, "userPost", UserPostDO::getUserId, LogInstanceDO::getStartUserId);
|
||||||
|
queryWrapper.innerJoin(DeptDO.class, "dept", DeptDO::getId, LogInstanceDO::getDeptId);
|
||||||
|
queryWrapper.innerJoin(PostDO.class, "post", PostDO::getId, UserPostDO::getPostId);
|
||||||
|
queryWrapper.ne(LogInstanceDO::getStartUserId, userId);
|
||||||
queryWrapper.orderByAsc(PostDO::getSort);
|
queryWrapper.orderByAsc(PostDO::getSort);
|
||||||
|
}
|
||||||
queryWrapper.orderByDesc(LogInstanceDO::getCreateTime);
|
queryWrapper.orderByDesc(LogInstanceDO::getCreateTime);
|
||||||
|
|
||||||
return selectJoinPage(page, LogInstanceRespVO.class, queryWrapper);
|
return selectJoinPage(page, LogInstanceRespVO.class, queryWrapper);
|
||||||
|
Loading…
Reference in New Issue
Block a user