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