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()); } }