fix
Helius
2022-07-07 eb3d6df3d5e48f32fc7714ec357f7b6ceccc3659
fix
10 files modified
188 ■■■■ changed files
src/main/java/com/xcong/farmer/cms/common/contants/AppContants.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MessageBoardServiceImpl.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/ArticleMapper.xml 7 ●●●● patch | view | raw | blame | history
src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java 61 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/common/contants/AppContants.java
@@ -17,6 +17,11 @@
    public static final String TOKEN_HEADER = "Authorization";
    /**
     * web头部
     */
    public static final String WEBSITE_HEADER = "website";
    /**
     * token start with
     */
    public static final String TOKEN_START_WITH = "Bearer ";
src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java
@@ -15,7 +15,7 @@
    private Integer contentType;
    @ApiModelProperty(value = "所属栏目ID", example = "2")
    private Long columnId;
    private String columnIdStr;
    @ApiModelProperty(value = "每页条数", example = "10")
    private Integer pageSize;
src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java
@@ -98,5 +98,7 @@
    private String path;
    @TableField(exist = false)
    private List<Long> columnIds;
    @TableField(exist = false)
    private List<Long> columnList;
}
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java
@@ -6,6 +6,7 @@
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.*;
@@ -24,6 +25,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Date;
@@ -53,9 +55,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)){
@@ -259,17 +266,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();
@@ -305,4 +303,18 @@
        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(website, companyEntity.getWebAddress());
                if(contains){
                    companyId = companyEntity.getId();
                }
            }
        }
        return companyId;
    }
}
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java
@@ -104,7 +104,7 @@
                        cmsTemplate.setType(1);
                    }
                    cmsTemplate.setName(StrUtil.isNotBlank(attr) ? attr : templateFile.getName());
                    cmsTemplate.setPath(IdUtil.simpleUUID()+templateFile.getName());
                    cmsTemplate.setPath(templateFile.getName());
                    this.baseMapper.insert(cmsTemplate);
                }
@@ -126,7 +126,7 @@
                    cmsTemplate.setType(1);
                }
                cmsTemplate.setName(StrUtil.isNotBlank(attr) ? attr : file.getName());
                cmsTemplate.setPath(IdUtil.simpleUUID()+file.getName());
                cmsTemplate.setPath(file.getName());
                this.baseMapper.insert(cmsTemplate);
            }
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java
@@ -6,6 +6,7 @@
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.system.dto.AdminAddColumnDto;
import com.xcong.farmer.cms.modules.system.dto.AdminColumnDto;
@@ -282,17 +283,8 @@
    @Override
    public Result getWebColumnInList(HttpServletRequest request) {
        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);
        List<WebColumnVo> records = this.baseMapper.selectWebColumnInListByParentId(ColumnEntity.PARENTID_DEFAULT,companyId);
        if(CollUtil.isNotEmpty(records)){
            for(WebColumnVo webColumnVo : records){
@@ -316,4 +308,18 @@
        }
        return Result.ok(records);
    }
    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(website, companyEntity.getWebAddress());
                if(contains){
                    companyId = companyEntity.getId();
                }
            }
        }
        return companyId;
    }
}
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MessageBoardServiceImpl.java
@@ -5,6 +5,7 @@
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.system.dto.AdminAddMessageDto;
import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto;
@@ -70,17 +71,9 @@
    @Override
    public Result addMessage(HttpServletRequest request, AdminAddMessageDto adminAddMessageDto) {
        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);
        String title = adminAddMessageDto.getTitle();
        String remark = adminAddMessageDto.getRemark();
        if(StrUtil.isEmpty(title) && StrUtil.isEmpty(remark)){
@@ -100,4 +93,18 @@
        this.baseMapper.insert(messageBoardEntity);
        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(website, companyEntity.getWebAddress());
                if(contains){
                    companyId = companyEntity.getId();
                }
            }
        }
        return companyId;
    }
}
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java
@@ -6,6 +6,7 @@
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.system.dto.*;
import com.xcong.farmer.cms.modules.system.entity.*;
@@ -13,7 +14,9 @@
import com.xcong.farmer.cms.modules.system.service.IUserService;
import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
import com.xcong.farmer.cms.modules.system.vo.*;
import com.xcong.farmer.cms.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -43,6 +46,8 @@
    private MessageBoardMapper messageBoardMapper;
    @Resource
    private MenuMapper menuMapper;
    @Resource
    private RedisUtils redisUtils;
    @Override
    public Result getUserInPage(AdminUserDto adminUserDto) {
@@ -350,6 +355,11 @@
                userRoleMapper.delete(objectQueryWrapper);
                this.baseMapper.deleteById(userId);
                String redisMember = AppContants.APP_LOGIN_PREFIX + userId;
                String token = redisUtils.getString(redisMember);
                redisUtils.del(AppContants.APP_LOGIN_PREFIX + token);
                SecurityContextHolder.clearContext();
            }
        }
src/main/resources/mapper/ArticleMapper.xml
@@ -12,8 +12,11 @@
        <where>
            and a.del_status = 1
            <if test="record != null" >
                <if test="record.columnId != null">
                    and a.column_id = #{record.columnId}
                <if test="record.columnList != null">
                    and a.column_id in
                    <foreach collection="record.columnList" separator="," close=")" open="(" item="item">
                        #{item}
                    </foreach>
                </if>
                <if test="record.companyId != null">
                    and a.company_id = #{record.companyId}
src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java
@@ -1,13 +1,25 @@
package com.xcong.farmer.cms;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xcong.farmer.cms.common.response.Result;
import com.xcong.farmer.cms.common.utils.FileUtils;
import com.xcong.farmer.cms.configurations.properties.CmsProperties;
import com.xcong.farmer.cms.modules.system.dto.AdminArticleDto;
import com.xcong.farmer.cms.modules.system.dto.WebArticleInPageDto;
import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity;
import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
import com.xcong.farmer.cms.modules.system.entity.UserEntity;
import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper;
import com.xcong.farmer.cms.modules.system.mapper.CmsTemplateMapper;
import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper;
import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
import com.xcong.farmer.cms.modules.system.vo.AdminArticleVo;
import com.xcong.farmer.cms.modules.test.dao.TestUserDao;
import com.xcong.farmer.cms.modules.test.entity.TestUserEntity;
import org.jsoup.Jsoup;
@@ -23,7 +35,9 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@SpringBootTest
class KssframeworkApplicationTests {
@@ -103,11 +117,52 @@
        System.out.println(content);
    }
    @Autowired
    private ColumnMapper columnMapper;
    @Autowired
    private ArticleMapper articleMapper;
    @Test
    public void dateTest(){
        WebArticleInPageDto webArticleInPageDto = new WebArticleInPageDto();
        webArticleInPageDto.setTimeType("一周内");
        System.out.println(webArticleInPageDto.getTimeType());
        String columnIdStrs = "68,63";
        AdminArticleDto adminArticleDto = new AdminArticleDto();
        adminArticleDto.setColumnId(columnIdStrs);
        adminArticleDto.setPageNum(1);
        adminArticleDto.setPageSize(8);
        Page<AdminArticleVo> page = new Page<>(adminArticleDto.getPageNum(), adminArticleDto.getPageSize());
        ArticleEntity articleEntity = new ArticleEntity();
        String columnIdStr = adminArticleDto.getColumnId();
        if(StrUtil.isNotEmpty(columnIdStr)){
            long[] columnIdLongs = StrUtil.splitToLong(columnIdStr, StrUtil.COMMA);
            List<Long> columnList = new ArrayList<>();
            for(long columnIdLong : columnIdLongs){
                columnList.add(columnIdLong);
            }
            articleEntity.setColumnList(columnList);
        }
        String title = adminArticleDto.getTitle();
        if(StrUtil.isNotEmpty(title)){
            articleEntity.setTitle(title);
        }
        Integer contentType = adminArticleDto.getContentType() == null ? 0 : adminArticleDto.getContentType();
        if(contentType != 0){
            QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>();
            objectQueryWrapper.eq("content_type",contentType);
            List<ColumnEntity> columnEntities = columnMapper.selectList(objectQueryWrapper);
            if(CollUtil.isNotEmpty(columnEntities)){
                List<Long> columIds = new ArrayList<>();
                for(ColumnEntity columnEntity : columnEntities){
                    Long id = columnEntity.getId();
                    columIds.add(id);
                }
                articleEntity.setColumnIds(columIds);
            }
        }
        articleEntity.setCompanyId(24L);
        IPage<AdminArticleVo> list = articleMapper.selectAdminArticleInPage(page,articleEntity);
        System.out.println(list.getRecords());
    }
}