ArticleServiceImpl.java 3.86 KB
package com.sincere.student.service.impl;

import com.github.pagehelper.PageHelper;
import com.sincere.student.dto.ArticleSearchDto;
import com.sincere.student.mapper.ArticleMapper;
import com.sincere.student.model.Article;
import com.sincere.student.service.ArticleService;
import com.sincere.student.utils.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

@Service
public class ArticleServiceImpl implements ArticleService {

    @Autowired
    ArticleMapper articleMapper;

    @Override
    public Page<Article> getList(ArticleSearchDto articleSearchDto) {
        Page<Article> result = new Page<>(articleSearchDto.getPage(),articleSearchDto.getPageSize());
        if(StringUtils.isNotBlank(articleSearchDto.getTitle())){
            articleSearchDto.setTitle("%"+articleSearchDto.getTitle()+"%");
        }
        PageHelper.startPage(articleSearchDto.getPage(),articleSearchDto.getPageSize());
        List<Article> list = articleMapper.getList(articleSearchDto) ;
        for(Article article : list){
            String[] urlList = article.getImageUrl().split(",");
            article.setImageUrlList(Arrays.asList(urlList));
            article.setImageCount(urlList.length);
        }
        List<Article> addAdvertList = new ArrayList<>();
        for(int i = 0 ; i < list.size() ;i++){
            addAdvertList.add(list.get(i));
            if(i % 6 ==5){
                try{
                    Article advert =articleMapper.getAdvert();
                    String[] urlList = advert.getImageUrl().split(",");
                    advert.setImageUrlList(Arrays.asList(urlList));
                    advert.setImageCount(urlList.length);
                    addAdvertList.add(advert);
                }catch (Exception e){

                }
            }
        }
        result.setList(addAdvertList);
        result.setCount(articleMapper.getListCount(articleSearchDto));
        return result;
    }

    @Override
    public Page<Article> getAdminList(ArticleSearchDto articleSearchDto) {
        Page<Article> result = new Page<>(articleSearchDto.getPage(),articleSearchDto.getPageSize());
        if(StringUtils.isNotBlank(articleSearchDto.getTitle())){
            articleSearchDto.setTitle("%"+articleSearchDto.getTitle()+"%");
        }
        PageHelper.startPage(articleSearchDto.getPage(),articleSearchDto.getPageSize());
        List<Article> list = articleMapper.getList(articleSearchDto) ;
        for(Article article : list){
            String[] urlList = article.getImageUrl().split(",");
            article.setImageUrlList(Arrays.asList(urlList));
            article.setImageCount(urlList.length);
        }
        result.setList(list);
        result.setCount(articleMapper.getListCount(articleSearchDto));
        return result;
    }

    @Override
    public List<Article> getRelationList(int universityId) {
        return articleMapper.getRelationList(universityId);
    }

    @Override
    public Article selectById(int id) {
        Article article = articleMapper.selectById(id);
        String[] urlList = article.getImageUrl().split(",");
        article.setImageUrlList(Arrays.asList(urlList));
        article.setImageCount(urlList.length);
        return  article ;
    }

    @Override
    public int create(Article article) {
        if(article.getType() == 1){
            article.setColumnType(0);
        }
        articleMapper.create(article);
        return  article.getId() ;
    }

    @Override
    public int delete(int id) {
        return articleMapper.delete(id);
    }

    @Override
    public int update(Article article) {
        if(article.getType() == 1){
            article.setColumnType(0);
        }
        return articleMapper.update(article);
    }
}