mirror of https://gitee.com/stylefeng/roses
【8.0.5】【notice】新增分页接口
parent
2985ceaef1
commit
48d8bb464e
|
@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
||||||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||||
|
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.notice.NoticePublishStatusEnum;
|
import cn.stylefeng.roses.kernel.sys.api.enums.notice.NoticePublishStatusEnum;
|
||||||
|
@ -20,7 +21,6 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知管理业务实现层
|
* 通知管理业务实现层
|
||||||
|
@ -83,6 +83,11 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
@Override
|
@Override
|
||||||
public PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest) {
|
public PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest) {
|
||||||
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
|
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
|
||||||
|
|
||||||
|
// 只查询需要的字段
|
||||||
|
wrapper.select(SysNotice::getNoticeTitle, SysNotice::getPublishStatus, SysNotice::getPriorityLevel, SysNotice::getNoticeBeginTime, SysNotice::getNoticeEndTime,
|
||||||
|
BaseEntity::getCreateUser, BaseEntity::getCreateTime);
|
||||||
|
|
||||||
Page<SysNotice> pageList = this.page(PageFactory.defaultPage(), wrapper);
|
Page<SysNotice> pageList = this.page(PageFactory.defaultPage(), wrapper);
|
||||||
return PageResultFactory.createPageResult(pageList);
|
return PageResultFactory.createPageResult(pageList);
|
||||||
}
|
}
|
||||||
|
@ -116,34 +121,24 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||||
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
|
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
|
||||||
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
Long noticeId = sysNoticeRequest.getNoticeId();
|
// 根据查询条件搜索
|
||||||
String noticeTitle = sysNoticeRequest.getNoticeTitle();
|
String searchText = sysNoticeRequest.getSearchText();
|
||||||
String noticeSummary = sysNoticeRequest.getNoticeSummary();
|
if (ObjectUtil.isNotEmpty(searchText)) {
|
||||||
String noticeContent = sysNoticeRequest.getNoticeContent();
|
queryWrapper.like(SysNotice::getNoticeTitle, searchText);
|
||||||
String priorityLevel = sysNoticeRequest.getPriorityLevel();
|
queryWrapper.or().like(SysNotice::getNoticeContent, searchText);
|
||||||
String noticeBeginTime = sysNoticeRequest.getNoticeBeginTime();
|
}
|
||||||
String noticeEndTime = sysNoticeRequest.getNoticeEndTime();
|
|
||||||
Map<String, Object> noticeUserScope = sysNoticeRequest.getNoticeUserScope();
|
// 根据是否发布搜索
|
||||||
Integer publishStatus = sysNoticeRequest.getPublishStatus();
|
Integer publishStatus = sysNoticeRequest.getPublishStatus();
|
||||||
Long versionFlag = sysNoticeRequest.getVersionFlag();
|
if (ObjectUtil.isNotEmpty(publishStatus)) {
|
||||||
Map<String, Object> expandField = sysNoticeRequest.getExpandField();
|
queryWrapper.nested(i -> i.eq(SysNotice::getPublishStatus, publishStatus));
|
||||||
String delFlag = sysNoticeRequest.getDelFlag();
|
}
|
||||||
Long tenantId = sysNoticeRequest.getTenantId();
|
|
||||||
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(noticeId), SysNotice::getNoticeId, noticeId);
|
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(noticeTitle), SysNotice::getNoticeTitle, noticeTitle);
|
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(noticeSummary), SysNotice::getNoticeSummary, noticeSummary);
|
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(noticeContent), SysNotice::getNoticeContent, noticeContent);
|
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(priorityLevel), SysNotice::getPriorityLevel, priorityLevel);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(noticeBeginTime), SysNotice::getNoticeBeginTime, noticeBeginTime);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(noticeEndTime), SysNotice::getNoticeEndTime, noticeEndTime);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(noticeUserScope), SysNotice::getNoticeUserScope, noticeUserScope);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(publishStatus), SysNotice::getPublishStatus, publishStatus);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(versionFlag), SysNotice::getVersionFlag, versionFlag);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(expandField), SysNotice::getExpandField, expandField);
|
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(delFlag), SysNotice::getDelFlag, delFlag);
|
|
||||||
queryWrapper.eq(ObjectUtil.isNotNull(tenantId), SysNotice::getTenantId, tenantId);
|
|
||||||
|
|
||||||
|
// 根据优先级搜索
|
||||||
|
String priorityLevel = sysNoticeRequest.getPriorityLevel();
|
||||||
|
if (ObjectUtil.isNotEmpty(priorityLevel)) {
|
||||||
|
queryWrapper.nested(i -> i.eq(SysNotice::getPriorityLevel, priorityLevel));
|
||||||
|
}
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue