xiaoyong931011
2022-07-08 bd4ab82f2e0c485f36a254e3cbf72f21dabfd628
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java
@@ -1,11 +1,13 @@
package com.xcong.farmer.cms.modules.system.service.Impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xcong.farmer.cms.common.contants.AppContants;
import com.xcong.farmer.cms.common.response.Result;
import com.xcong.farmer.cms.modules.core.service.ICmsCoreService;
import com.xcong.farmer.cms.modules.system.dto.*;
@@ -14,6 +16,7 @@
import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper;
import com.xcong.farmer.cms.modules.system.mapper.CompanyMapper;
import com.xcong.farmer.cms.modules.system.service.IArticleService;
import com.xcong.farmer.cms.modules.system.service.IReleaseService;
import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
import com.xcong.farmer.cms.modules.system.vo.AdminArticleVo;
import com.xcong.farmer.cms.modules.system.vo.AdminSeeArticleInfoVo;
@@ -23,6 +26,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Date;
@@ -44,7 +48,7 @@
    private CompanyMapper companyMapper;
    @Autowired
    private ICmsCoreService cmsCoreService;
    private IReleaseService releaseService;
    @Override
    public Result getArticleInPage(AdminArticleDto adminArticleDto) {
@@ -52,9 +56,14 @@
        long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId();
        Page<AdminArticleVo> page = new Page<>(adminArticleDto.getPageNum(), adminArticleDto.getPageSize());
        ArticleEntity articleEntity = new ArticleEntity();
        Long columnId = adminArticleDto.getColumnId() == null ? 0L : adminArticleDto.getColumnId();
        if(columnId != 0L){
            articleEntity.setColumnId(columnId);
        String columnIdStrs = adminArticleDto.getColumnIdStr();
        if(StrUtil.isNotEmpty(columnIdStrs)){
            String[] columnIdStr = columnIdStrs.split(StringPool.COMMA);
            List<Long> columnList = new ArrayList<>();
            for(String columnIdString : columnIdStr){
                columnList.add(Long.valueOf(columnIdString));
            }
            articleEntity.setColumnList(columnList);
        }
        String title = adminArticleDto.getTitle();
        if(StrUtil.isNotEmpty(title)){
@@ -258,17 +267,8 @@
    @Override
    public Result webArticleInPage(HttpServletRequest request, WebArticleInPageDto webArticleInPageDto) {
        StringBuffer requestURL = request.getRequestURL();
        List<CompanyEntity> companyEntities = companyMapper.selectList(new QueryWrapper<>());
        Long companyId = 0L;
        if(CollUtil.isNotEmpty(companyEntities)){
            for(CompanyEntity companyEntity : companyEntities){
                boolean contains = StrUtil.contains(requestURL, companyEntity.getWebAddress());
                if(contains){
                    companyId = companyEntity.getId();
                }
            }
        }
        String website = request.getHeader(AppContants.WEBSITE_HEADER);
        Long companyId = getCompanyIdFromWebsite(website);
        Page<WebArticleVo> page = new Page<>(webArticleInPageDto.getPageNum(), webArticleInPageDto.getPageSize());
        ArticleEntity articleEntity = new ArticleEntity();
@@ -287,6 +287,10 @@
        if(UserEntity.USER_BELONG_TOP != companyId){
            articleEntity.setCompanyId(companyId);
        }
        String timeType = webArticleInPageDto.getTimeType();
        if(StrUtil.isNotEmpty(timeType)){
            articleEntity.setTimeType(timeType);
        }
        IPage<WebArticleVo> list = this.baseMapper.selectWebArticleInPage(page,articleEntity);
        return Result.ok(list);
    }
@@ -300,6 +304,22 @@
        articleEntity.setReleaseStatus(ArticleEntity.RELEASE_STATUS_YES);
        articleEntity.setReleaseTime(new Date());
        this.baseMapper.updateById(articleEntity);
        releaseService.releaseArticle(articleEntity.getId());
        return Result.ok("操作成功");
    }
    private Long getCompanyIdFromWebsite(String website){
        List<CompanyEntity> companyEntities = companyMapper.selectList(new QueryWrapper<>());
        Long companyId = 0L;
        if(CollUtil.isNotEmpty(companyEntities)){
            for(CompanyEntity companyEntity : companyEntities){
                boolean contains = StrUtil.contains(companyEntity.getWebAddress(), website);
                if(contains){
                    companyId = companyEntity.getId();
                }
            }
        }
        return companyId;
    }
}