liukangdong
2024-09-29 b2d360d9113b6955287108ca9e90d76a1f3c1419
server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.dingtalk.api.request.OapiMaterialNewsListRequest;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -188,12 +189,19 @@
        IPage<News> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<News> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if(Objects.isNull(pageWrap.getModel())){
            News news = new News();
            pageWrap.setModel(news);
        }
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,News::getEditor)
                .selectAll(News.class)
                .selectAs(SystemUser::getRealname,News::getEditorName);
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.eq(News::getId, pageWrap.getModel().getId());
        }
        if(pageWrap.getModel().getIsPublish()!=null && Constants.equalsInteger(pageWrap.getModel().getIsPublish(),Constants.ONE)){
            queryWrapper.apply(" now() >= t.PUBLISH_DATE ");
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.eq(News::getCreator, pageWrap.getModel().getCreator());
@@ -256,7 +264,6 @@
        PageData<News> pageData =  PageData.from(newsMapper.selectJoinPage(page, News.class,queryWrapper));
        if(pageData!=null && pageData.getRecords()!=null && pageData.getRecords().size()>0){
            List<Long> idList = new ArrayList<>();
            for(News model : pageData.getRecords()){
                idList.add(model.getId());
@@ -265,7 +272,6 @@
            for(News model : pageData.getRecords()){
                setFilelistById(model,files);
            }
        }
        return pageData;
    }
@@ -377,20 +383,35 @@
     * @return
     */
    @Override
    public DailyUpdatesResponse getDailyUpdatesResponse(Integer fileType){
    public DailyUpdatesResponse getDailyUpdatesResponse(){
        DailyUpdatesResponse dailyUpdatesResponse = new DailyUpdatesResponse();
        dailyUpdatesResponse.setDailyUpdateNum(
                newsMapper.selectCount(new QueryWrapper<News>().lambda()
                .eq(News::getIsdeleted,Constants.ZERO)
                .like(News::getCreateDate, DateUtil.getDateLong(new Date()))
                .eq(News::getType,Constants.ONE)
                .apply(" now() >= PUBLISH_DATE ")
                .eq(News::getType,Constants.ZERO)
        ));
        dailyUpdatesResponse.setShareNum(
                actionsMapper.selectCount(new QueryWrapper<Actions>())
        );
        dailyUpdatesResponse.setNewsList(
                this.getCustomizedNewsList(Constants.ZERO,Constants.THREE,fileType)
        List<News> list = newsMapper.selectList(new QueryWrapper<News>().lambda()
                .eq(News::getIsdeleted,Constants.ZERO)
                .eq(News::getType,Constants.ZERO)
                .eq(News::getStatus,Constants.ZERO)
                .eq(News::getFileType,Constants.ZERO)
                .apply(" now() >= PUBLISH_DATE ")
                .last( "limit 3"  )
                .orderByDesc(News::getCreateDate)
        );
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
            List<Long> idList =  list.stream().map(i->i.getId()).collect(Collectors.toList());
            List<Multifile> files = dealMultifileList(idList);
            for(News model : list){
                setFilelistById(model,files);
            }
        }
        dailyUpdatesResponse.setNewsList(list);
        return dailyUpdatesResponse;
    }
@@ -420,4 +441,5 @@
}