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