|
@@ -5,127 +5,80 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
-import org.dromara.common.core.utils.ObjectUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
import org.dromara.system.domain.SysNotice;
|
|
import org.dromara.system.domain.SysNotice;
|
|
|
-import org.dromara.system.domain.SysUser;
|
|
|
|
|
import org.dromara.system.domain.bo.SysNoticeBo;
|
|
import org.dromara.system.domain.bo.SysNoticeBo;
|
|
|
import org.dromara.system.domain.vo.SysNoticeVo;
|
|
import org.dromara.system.domain.vo.SysNoticeVo;
|
|
|
-import org.dromara.system.domain.vo.SysUserVo;
|
|
|
|
|
import org.dromara.system.mapper.SysNoticeMapper;
|
|
import org.dromara.system.mapper.SysNoticeMapper;
|
|
|
-import org.dromara.system.mapper.SysUserMapper;
|
|
|
|
|
import org.dromara.system.service.ISysNoticeService;
|
|
import org.dromara.system.service.ISysNoticeService;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 公告 服务层实现
|
|
|
|
|
|
|
+ * 系统通知信息 服务层实现
|
|
|
*
|
|
*
|
|
|
- * @author Lion Li
|
|
|
|
|
|
|
+ * @author ruoyi
|
|
|
*/
|
|
*/
|
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
|
@Service
|
|
@Service
|
|
|
public class SysNoticeServiceImpl implements ISysNoticeService {
|
|
public class SysNoticeServiceImpl implements ISysNoticeService {
|
|
|
|
|
|
|
|
private final SysNoticeMapper baseMapper;
|
|
private final SysNoticeMapper baseMapper;
|
|
|
- private final SysUserMapper userMapper;
|
|
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 分页查询通知公告列表
|
|
|
|
|
- *
|
|
|
|
|
- * @param notice 查询条件
|
|
|
|
|
- * @param pageQuery 分页参数
|
|
|
|
|
- * @return 通知公告分页列表
|
|
|
|
|
- */
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public TableDataInfo<SysNoticeVo> selectPageNoticeList(SysNoticeBo notice, PageQuery pageQuery) {
|
|
|
|
|
- LambdaQueryWrapper<SysNotice> lqw = buildQueryWrapper(notice);
|
|
|
|
|
|
|
+ public TableDataInfo<SysNoticeVo> selectPageNoticeList(SysNoticeBo bo, PageQuery pageQuery) {
|
|
|
|
|
+ LambdaQueryWrapper<SysNotice> lqw = buildQueryWrapper(bo);
|
|
|
Page<SysNoticeVo> page = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
Page<SysNoticeVo> page = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
return TableDataInfo.build(page);
|
|
return TableDataInfo.build(page);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 查询公告信息
|
|
|
|
|
- *
|
|
|
|
|
- * @param noticeId 公告ID
|
|
|
|
|
- * @return 公告信息
|
|
|
|
|
- */
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public SysNoticeVo selectNoticeById(Long noticeId) {
|
|
|
|
|
- return baseMapper.selectVoById(noticeId);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 查询公告列表
|
|
|
|
|
- *
|
|
|
|
|
- * @param notice 公告信息
|
|
|
|
|
- * @return 公告集合
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public List<SysNoticeVo> selectNoticeList(SysNoticeBo notice) {
|
|
|
|
|
- LambdaQueryWrapper<SysNotice> lqw = buildQueryWrapper(notice);
|
|
|
|
|
|
|
+ public List<SysNoticeVo> selectNoticeList(SysNoticeBo bo) {
|
|
|
|
|
+ LambdaQueryWrapper<SysNotice> lqw = buildQueryWrapper(bo);
|
|
|
return baseMapper.selectVoList(lqw);
|
|
return baseMapper.selectVoList(lqw);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private LambdaQueryWrapper<SysNotice> buildQueryWrapper(SysNoticeBo bo) {
|
|
|
|
|
- LambdaQueryWrapper<SysNotice> lqw = Wrappers.lambdaQuery();
|
|
|
|
|
- lqw.like(StringUtils.isNotBlank(bo.getNoticeTitle()), SysNotice::getNoticeTitle, bo.getNoticeTitle());
|
|
|
|
|
- lqw.eq(StringUtils.isNotBlank(bo.getNoticeType()), SysNotice::getNoticeType, bo.getNoticeType());
|
|
|
|
|
- if (StringUtils.isNotBlank(bo.getCreateByName())) {
|
|
|
|
|
- SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, bo.getCreateByName()));
|
|
|
|
|
- lqw.eq(SysNotice::getCreateBy, ObjectUtils.notNullGetter(sysUser, SysUserVo::getUserId));
|
|
|
|
|
- }
|
|
|
|
|
- lqw.orderByAsc(SysNotice::getNoticeId);
|
|
|
|
|
- return lqw;
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public SysNoticeVo selectNoticeById(Long id) {
|
|
|
|
|
+ return baseMapper.selectVoById(id);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 新增公告
|
|
|
|
|
- *
|
|
|
|
|
- * @param bo 公告信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public int insertNotice(SysNoticeBo bo) {
|
|
|
|
|
|
|
+ public Boolean insertNotice(SysNoticeBo bo) {
|
|
|
SysNotice notice = MapstructUtils.convert(bo, SysNotice.class);
|
|
SysNotice notice = MapstructUtils.convert(bo, SysNotice.class);
|
|
|
- return baseMapper.insert(notice);
|
|
|
|
|
|
|
+ return baseMapper.insert(notice) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 修改公告
|
|
|
|
|
- *
|
|
|
|
|
- * @param bo 公告信息
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public int updateNotice(SysNoticeBo bo) {
|
|
|
|
|
|
|
+ public Boolean updateNotice(SysNoticeBo bo) {
|
|
|
SysNotice notice = MapstructUtils.convert(bo, SysNotice.class);
|
|
SysNotice notice = MapstructUtils.convert(bo, SysNotice.class);
|
|
|
- return baseMapper.updateById(notice);
|
|
|
|
|
|
|
+ return baseMapper.updateById(notice) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 删除公告对象
|
|
|
|
|
- *
|
|
|
|
|
- * @param noticeId 公告ID
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public int deleteNoticeById(Long noticeId) {
|
|
|
|
|
- return baseMapper.deleteById(noticeId);
|
|
|
|
|
|
|
+ public Boolean deleteNoticeByIds(List<Long> ids) {
|
|
|
|
|
+ return baseMapper.deleteByIds(ids) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 批量删除公告信息
|
|
|
|
|
- *
|
|
|
|
|
- * @param noticeIds 需要删除的公告ID
|
|
|
|
|
- * @return 结果
|
|
|
|
|
- */
|
|
|
|
|
- @Override
|
|
|
|
|
- public int deleteNoticeByIds(Long[] noticeIds) {
|
|
|
|
|
- return baseMapper.deleteByIds(Arrays.asList(noticeIds));
|
|
|
|
|
|
|
+ private LambdaQueryWrapper<SysNotice> buildQueryWrapper(SysNoticeBo bo) {
|
|
|
|
|
+ Map<String, Object> params = bo.getParams();
|
|
|
|
|
+ LambdaQueryWrapper<SysNotice> lqw = Wrappers.lambdaQuery();
|
|
|
|
|
+ lqw.eq(bo.getSenderType() != null, SysNotice::getSenderType, bo.getSenderType());
|
|
|
|
|
+ lqw.eq(bo.getSender() != null, SysNotice::getSender, bo.getSender());
|
|
|
|
|
+ lqw.eq(bo.getSendFlag() != null, SysNotice::getSendFlag, bo.getSendFlag());
|
|
|
|
|
+ lqw.eq(bo.getType() != null, SysNotice::getType, bo.getType());
|
|
|
|
|
+ lqw.like(StringUtils.isNotBlank(bo.getTitle()), SysNotice::getTitle, bo.getTitle());
|
|
|
|
|
+ lqw.eq(bo.getReceiverType() != null, SysNotice::getReceiverType, bo.getReceiverType());
|
|
|
|
|
+ lqw.eq(bo.getReceiver() != null, SysNotice::getReceiver, bo.getReceiver());
|
|
|
|
|
+ lqw.eq(bo.getReadFlag() != null, SysNotice::getReadFlag, bo.getReadFlag());
|
|
|
|
|
+ lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
|
|
|
|
|
+ SysNotice::getCreateTime, params.get("beginTime"), params.get("endTime"));
|
|
|
|
|
+ lqw.orderByDesc(SysNotice::getId);
|
|
|
|
|
+ return lqw;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|