From 89ebff2b2d96a66fd732d8ecb209d155fa69e946 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 07 Jul 2022 18:27:03 +0800
Subject: [PATCH] 20220606

---
 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/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/common/contants/AppContants.java                         |    5 +
 src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java                        |   15 ++++-
 8 files changed, 86 insertions(+), 42 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..4e3dc91 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 columnId;
 
     @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..b46f113 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 db10d13..bc42bd5 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.*;
@@ -23,6 +24,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Date;
 
@@ -52,9 +54,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 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)){
@@ -258,17 +265,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();
@@ -302,4 +300,18 @@
         this.baseMapper.updateById(articleEntity);
         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/ColumnServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java
index 18d34a9..26149b2 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/resources/mapper/ArticleMapper.xml b/src/main/resources/mapper/ArticleMapper.xml
index 6564050..9e2ea47 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..a8bd719 100644
--- a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java
+++ b/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java
@@ -1,6 +1,7 @@
 package com.xcong.farmer.cms;
 
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.xcong.farmer.cms.common.response.Result;
 import com.xcong.farmer.cms.common.utils.FileUtils;
 import com.xcong.farmer.cms.configurations.properties.CmsProperties;
@@ -23,7 +24,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 {
@@ -105,9 +108,15 @@
 
     @Test
     public void dateTest(){
-        WebArticleInPageDto webArticleInPageDto = new WebArticleInPageDto();
-        webArticleInPageDto.setTimeType("一周内");
-        System.out.println(webArticleInPageDto.getTimeType());
+        String columnIdStr = "1,2,3";
+        if(StrUtil.isNotEmpty(columnIdStr)){
+            long[] columnIdLongs = StrUtil.splitToLong(columnIdStr, StrUtil.COMMA);
+            List<Long> columnList = new ArrayList<>();
+            for(long columnIdLong : columnIdLongs){
+                columnList.add(columnIdLong);
+            }
+            System.out.println(columnList);
+        }
     }
 
 }

--
Gitblit v1.9.1