rk
5 天以前 74b0af6814b96378201ea27d205e054bf01d0306
server/services/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -1,8 +1,10 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.NoticeMapper;
@@ -12,6 +14,7 @@
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
 * 消息通知信息Service实现
@@ -86,35 +89,12 @@
        IPage<Notice> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Notice> queryWrapper = new QueryWrapper<>();
        if (pageWrap.getModel() != null) {
            if (pageWrap.getModel().getIsdeleted() != null) {
                queryWrapper.lambda().eq(Notice::getIsdeleted, pageWrap.getModel().getIsdeleted());
            Notice model = pageWrap.getModel();
            queryWrapper.lambda().eq(Notice::getIsdeleted,Constants.ZERO);
            queryWrapper.lambda().eq(Objects.nonNull(model.getUserId()),Notice::getUserId,model.getUserId());
            queryWrapper.lambda().eq(Objects.nonNull(model.getUserType()),Notice::getUserType,model.getUserType());
            }
            if (pageWrap.getModel().getUserType() != null) {
                queryWrapper.lambda().eq(Notice::getUserType, pageWrap.getModel().getUserType());
            }
            if (pageWrap.getModel().getUserId() != null) {
                queryWrapper.lambda().eq(Notice::getUserId, pageWrap.getModel().getUserId());
            }
            if (pageWrap.getModel().getObjType() != null) {
                queryWrapper.lambda().eq(Notice::getObjType, pageWrap.getModel().getObjType());
            }
            if (pageWrap.getModel().getStatus() != null) {
                queryWrapper.lambda().eq(Notice::getStatus, pageWrap.getModel().getStatus());
            }
            if (pageWrap.getModel().getTitle() != null) {
                queryWrapper.lambda().like(Notice::getTitle, pageWrap.getModel().getTitle());
            }
            if (pageWrap.getModel().getCreateDate() != null) {
                queryWrapper.lambda().ge(Notice::getCreateDate, pageWrap.getModel().getCreateDate());
            }
        }
        for (PageWrap.SortData sortData : pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.lambda().orderByAsc(Notice::getStatus).orderByDesc(Notice::getCreateDate);
        return PageData.from(noticeMapper.selectPage(page, queryWrapper));
    }
@@ -123,4 +103,26 @@
        QueryWrapper<Notice> wrapper = new QueryWrapper<>(notice);
        return noticeMapper.selectCount(wrapper);
    }
    @Override
    public void readNotice(Integer id, Integer userId) {
        Notice notice = noticeMapper.selectById(id);
        if (notice != null && notice.getUserId().equals(userId)) {
            notice.setStatus(Constants.ONE);
            notice.setEditDate(new java.util.Date());
            noticeMapper.updateById(notice);
        }
    }
    @Override
    public void readAllNotice(Integer userType, Integer userId) {
        noticeMapper.update(new UpdateWrapper<Notice>().lambda()
                .set(Notice::getStatus, Constants.ONE)
                .set(Notice::getEditDate, new java.util.Date())
                .eq(Notice::getUserType, userType)
                .eq(Notice::getUserId, userId)
                .eq(Notice::getStatus, Constants.ZERO)
                .eq(Notice::getIsdeleted, Constants.ZERO));
    }
}