From 86f415c76ab9f5b48960ff1086f996fa47733d46 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 17 七月 2024 17:36:07 +0800 Subject: [PATCH] 代码提交 --- server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 105 insertions(+), 3 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java index f51413f..f138695 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java @@ -1,17 +1,23 @@ package com.doumee.service.business.impl; import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.ActionsMapper; import com.doumee.dao.business.MultifileMapper; import com.doumee.dao.business.NewsMapper; +import com.doumee.dao.business.model.Actions; import com.doumee.dao.business.model.BjParam; import com.doumee.dao.business.model.Multifile; import com.doumee.dao.business.model.News; import com.doumee.dao.system.model.SystemUser; +import com.doumee.dao.web.response.DailyUpdatesResponse; import com.doumee.service.business.NewsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -25,9 +31,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import javax.swing.*; +import java.util.*; +import java.util.stream.Collectors; /** * 璧勮鍜屽畾鍒舵湇鍔′俊鎭〃Service瀹炵幇 @@ -43,6 +49,8 @@ private MultifileMapper multifileMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; + @Autowired + private ActionsMapper actionsMapper; @Override @Transactional @@ -55,6 +63,8 @@ param.setCreateDate(new Date()); param.setEditDate(param.getCreateDate()); param.setPublishUserid(param.getCreator()); + param.setLookNum(Constants.ZERO); + param.setDonwloadNum(Constants.ZERO); param.setFileType(Constants.formatIntegerNum(param.getFileType())); newsMapper.insert(param); if(param.getFileList()!=null && param.getFileList().size()>0){ @@ -242,6 +252,7 @@ if (pageWrap.getModel().getType() != null) { queryWrapper.eq(News::getType, pageWrap.getModel().getType()); } + queryWrapper.orderByDesc(News::getCreateDate); PageData<News> pageData = PageData.from(newsMapper.selectJoinPage(page, News.class,queryWrapper)); if(pageData!=null && pageData.getRecords()!=null && pageData.getRecords().size()>0){ @@ -318,4 +329,95 @@ QueryWrapper<News> wrapper = new QueryWrapper<>(news); return newsMapper.selectCount(wrapper); } + + + /** + * 鏌ヨ瀹氬埗鏈嶅姟鍒楄〃 + * @return + */ + @Override + public List<News> getCustomizedNewsList(Integer type,Integer num,Integer fileType){ + List<News> list = newsMapper.selectList(new QueryWrapper<News>().lambda() + .eq(News::getIsdeleted,Constants.ZERO) + .eq(News::getType,type) + .eq(News::getStatus,Constants.ZERO) + .eq(Objects.nonNull(fileType),News::getFileType,fileType) + .last(Objects.nonNull(num),"limit " + num) + .orderByAsc(News::getSortnum) + ); + 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); + } + } + return list; + } + + @Override + public News getCustomizedNewsDetail(Long id){ + News news = newsMapper.selectById(id); + if(Objects.isNull(news)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + List<Long> idList = new ArrayList<>(); + idList.add(id); + List<Multifile> files = dealMultifileList(idList); + setFilelistById(news,files); + //澧炲姞娴忚閲� + newsMapper.update(new UpdateWrapper<News>().lambda() + .setSql( " LOOK_NUM = ( LOOK_NUM + 1 ) ").eq(News::getId,id)); + return news; + } + + + /** + * 姣忔棩涓婃柊 + * @return + */ + @Override + public DailyUpdatesResponse getDailyUpdatesResponse(Integer fileType){ + 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) + )); + dailyUpdatesResponse.setShareNum( + actionsMapper.selectCount(new QueryWrapper<Actions>()) + ); + dailyUpdatesResponse.setNewsList( + this.getCustomizedNewsList(Constants.ZERO,Constants.THREE,fileType) + ); + return dailyUpdatesResponse; + } + + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + @Override + public void saveShareRecord(Long id,Long userId){ + News news = newsMapper.selectById(id); + if(Objects.isNull(news)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + Actions actions = new Actions(); + actions.setCreateDate(new Date()); + actions.setIsDeleted(Constants.ZERO); + actions.setType(Constants.ZERO); + actions.setObjId(id); + actions.setObjType(Constants.ZERO); + actions.setMemberId(userId); + actions.setTitle(news.getTitle()); + actions.setContent(news.getContent()); + actions.setSubTitle(news.getSubTitle()); + actionsMapper.insert(actions); + //澧炲姞鍒嗕韩閲� + newsMapper.update(new UpdateWrapper<News>().lambda() + .setSql( " DONWLOAD_NUM = ( DONWLOAD_NUM + 1 ) ").eq(News::getId,id)); + + } + + + } -- Gitblit v1.9.3