From eb3d6df3d5e48f32fc7714ec357f7b6ceccc3659 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 07 Jul 2022 19:57:47 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java                 |    2 
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MessageBoardServiceImpl.java |   29 ++++--
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java  |    4 
 src/main/resources/mapper/ArticleMapper.xml                                                 |    7 +
 src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java                  |    2 
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java       |   28 ++++--
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java      |   40 ++++++---
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java         |   10 ++
 src/main/java/com/xcong/farmer/cms/common/contants/AppContants.java                         |    5 +
 src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java                        |   61 ++++++++++++++
 10 files changed, 144 insertions(+), 44 deletions(-)

diff --git a/src/main/java/com/xcong/farmer/cms/common/contants/AppContants.java b/src/main/java/com/xcong/farmer/cms/common/contants/AppContants.java
index 315de52..8aef794 100644
--- a/src/main/java/com/xcong/farmer/cms/common/contants/AppContants.java
+++ b/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 ";
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java
index 26f26ab..29e0829 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/dto/AdminArticleDto.java
+++ b/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;
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java
index d258867..152bf91 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java
+++ b/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;
 
 }
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java
index 8435fda..962cef3 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java
+++ b/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;
+    }
 }
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java
index 897950c..0af5786 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java
+++ b/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);
             }
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java
index d114308..810ecc2 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java
+++ b/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;
+    }
 }
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MessageBoardServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MessageBoardServiceImpl.java
index 7ce5500..bee91c1 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/MessageBoardServiceImpl.java
+++ b/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;
+    }
 }
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java
index 7541027..8bc93c6 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java
+++ b/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();
             }
 
         }
diff --git a/src/main/resources/mapper/ArticleMapper.xml b/src/main/resources/mapper/ArticleMapper.xml
index 1f2c4e7..305c3df 100644
--- a/src/main/resources/mapper/ArticleMapper.xml
+++ b/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}
diff --git a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java b/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java
index efa9df4..03a4448 100644
--- a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java
+++ b/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());
     }
 
 }

--
Gitblit v1.9.1