优化工作日志分页查询逻辑和排序条件。
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(d.unreadCount, 0)", LogInstanceRespVO::getUnreadCount);
|
||||
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
|
||||
.eq(LogReadDo::getLogInstanceId, LogInstanceDO::getId)
|
||||
.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 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.eq(pagingType == 1, LogInstanceDO::getStartUserId, userId);
|
||||
queryWrapper.eqIfPresent(LogInstanceDO::getDeptId, reqVO.getDeptId());
|
||||
queryWrapper.eqIfPresent(LogInstanceDO::getFormId, reqVO.getFormId());
|
||||
queryWrapper.eqIfPresent(LogInstanceDO::getStartUserId, reqVO.getStartUserId());
|
||||
@ -82,15 +80,15 @@ public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
||||
if (reqVO.getIsProduce() != null && reqVO.getIsProduce() == 2) {
|
||||
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.orderByDesc(LogInstanceDO::getTime);
|
||||
queryWrapper.orderByAsc(PostDO::getSort);
|
||||
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.orderByDesc(LogInstanceDO::getCreateTime);
|
||||
|
||||
return selectJoinPage(page, LogInstanceRespVO.class, queryWrapper);
|
||||
|
Loading…
Reference in New Issue
Block a user