From 1facfdc9361d888d72c959bac4d8fb05dcad02d7 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 07 Jul 2022 18:27:06 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/farmer-cms
---
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java | 225 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 172 insertions(+), 53 deletions(-)
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 f0ef2c5..ebeed62 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
@@ -1,27 +1,30 @@
package com.xcong.farmer.cms.modules.system.service.Impl;
+import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.AdminAddArticleDto;
-import com.xcong.farmer.cms.modules.system.dto.AdminArticleDto;
-import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto;
-import com.xcong.farmer.cms.modules.system.dto.AdminUpdateArticleDto;
-import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
-import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
-import com.xcong.farmer.cms.modules.system.entity.UserRoleEntity;
+import com.xcong.farmer.cms.modules.core.service.ICmsCoreService;
+import com.xcong.farmer.cms.modules.system.dto.*;
+import com.xcong.farmer.cms.modules.system.entity.*;
import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper;
import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper;
+import com.xcong.farmer.cms.modules.system.mapper.CompanyMapper;
import com.xcong.farmer.cms.modules.system.service.IArticleService;
+import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
import com.xcong.farmer.cms.modules.system.vo.AdminArticleVo;
import com.xcong.farmer.cms.modules.system.vo.AdminSeeArticleInfoVo;
+import com.xcong.farmer.cms.modules.system.vo.WebArticleVo;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Date;
@@ -30,6 +33,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
@Service
@Slf4j
@@ -38,17 +42,48 @@
@Resource
private ColumnMapper columnMapper;
+ @Resource
+ private CompanyMapper companyMapper;
+
+ @Autowired
+ private ICmsCoreService cmsCoreService;
+
+
@Override
public Result getArticleInPage(AdminArticleDto adminArticleDto) {
+ UserEntity userlogin = LoginUserUtil.getLoginUser();
+ 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)){
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);
+ }
+ }
+ if(UserEntity.USER_BELONG_TOP != companyId){
+ articleEntity.setCompanyId(companyId);
}
IPage<AdminArticleVo> list = this.baseMapper.selectAdminArticleInPage(page,articleEntity);
return Result.ok(list);
@@ -57,24 +92,21 @@
@Override
@Transactional
public Result addArticle(AdminAddArticleDto adminAddArticleDto) {
+ UserEntity userlogin = LoginUserUtil.getLoginUser();
+ long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId();
ArticleEntity articleEntity = new ArticleEntity();
+ articleEntity.setCompanyId(companyId);
String title = adminAddArticleDto.getTitle();
- if(StrUtil.isEmpty(title)){
- return Result.fail("请输入文章标题");
- }
articleEntity.setTitle(title);
String childTitle = adminAddArticleDto.getChildTitle();
- if(StrUtil.isNotEmpty(childTitle)){
articleEntity.setChildTitle(childTitle);
- }
- String describe = adminAddArticleDto.getDescribe();
- if(StrUtil.isNotEmpty(describe)){
- articleEntity.setDescribe(describe);
- }
+ String author = adminAddArticleDto.getAuthor();
+ articleEntity.setAuthor(author);
+ String authorBelong = adminAddArticleDto.getAuthorBelong();
+ articleEntity.setAuthorBelong(authorBelong);
+ String remark = adminAddArticleDto.getRemark();
+ articleEntity.setRemark(remark);
long columnId = adminAddArticleDto.getColumnId() == null ? 0L : adminAddArticleDto.getColumnId();
- if(columnId == 0L){
- return Result.fail("请选择文章栏目");
- }
ColumnEntity columnEntity = columnMapper.selectById(columnId);
if(ObjectUtil.isEmpty(columnEntity)){
return Result.fail("请选择文章栏目");
@@ -83,24 +115,26 @@
Integer visits = adminAddArticleDto.getVisits() == null ? 0 : adminAddArticleDto.getVisits();
articleEntity.setVisits(visits);
String mainDiagram = adminAddArticleDto.getMainDiagram();
- if(StrUtil.isNotEmpty(mainDiagram)){
articleEntity.setMainDiagram(mainDiagram);
- }
String atlas = adminAddArticleDto.getAtlas();
- if(StrUtil.isNotEmpty(atlas)){
articleEntity.setAtlas(atlas);
- }
Date releaseTime = adminAddArticleDto.getReleaseTime();
- if(ObjectUtil.isNotEmpty(releaseTime)){
articleEntity.setReleaseTime(releaseTime);
- }
+ Integer isTop = adminAddArticleDto.getIsTop();
+ articleEntity.setIsTop(isTop);
Integer releaseStatus = adminAddArticleDto.getReleaseStatus();
articleEntity.setReleaseStatus(releaseStatus);
- String articleDetails = adminAddArticleDto.getArticleDetails();
- if(StrUtil.isNotEmpty(articleDetails)){
- articleEntity.setArticleDetails(articleDetails);
+ if(ArticleEntity.RELEASE_STATUS_YES == releaseStatus){
+ articleEntity.setReleaseTime(new Date());
}
+ String articleDetails = adminAddArticleDto.getArticleDetails();
+ articleEntity.setArticleDetails(articleDetails);
+ String uploadFile = adminAddArticleDto.getUploadFile();
+ articleEntity.setUploadFile(uploadFile);
+ articleEntity.setArticleUrl(adminAddArticleDto.getArticleUrl());
+ articleEntity.setType(adminAddArticleDto.getType());
+ articleEntity.setContentType(adminAddArticleDto.getContentType());
this.baseMapper.insert(articleEntity);
return Result.ok("添加成功");
}
@@ -135,23 +169,18 @@
if(ObjectUtil.isEmpty(articleEntity)){
return Result.fail("文章不存在");
}
+ Integer isTop = adminUpdateArticleDto.getIsTop();
+ articleEntity.setIsTop(isTop);
String title = adminUpdateArticleDto.getTitle();
- if(StrUtil.isEmpty(title)){
- return Result.fail("请输入文章标题");
- }
articleEntity.setTitle(title);
String childTitle = adminUpdateArticleDto.getChildTitle();
- if(StrUtil.isNotEmpty(childTitle)){
- articleEntity.setChildTitle(childTitle);
- }
- String describe = adminUpdateArticleDto.getDescribe();
- if(StrUtil.isNotEmpty(describe)){
- articleEntity.setDescribe(describe);
- }
+ articleEntity.setChildTitle(childTitle);
+ String author = adminUpdateArticleDto.getAuthor();
+ articleEntity.setAuthor(author);
+
+ String remark = adminUpdateArticleDto.getRemark();
+ articleEntity.setRemark(remark);
long columnId = adminUpdateArticleDto.getColumnId() == null ? 0L : adminUpdateArticleDto.getColumnId();
- if(columnId == 0L){
- return Result.fail("请选择文章栏目");
- }
ColumnEntity columnEntity = columnMapper.selectById(columnId);
if(ObjectUtil.isEmpty(columnEntity)){
return Result.fail("请选择文章栏目");
@@ -160,23 +189,28 @@
Integer visits = adminUpdateArticleDto.getVisits() == null ? 0 : adminUpdateArticleDto.getVisits();
articleEntity.setVisits(visits);
String mainDiagram = adminUpdateArticleDto.getMainDiagram();
- if(StrUtil.isNotEmpty(mainDiagram)){
- articleEntity.setMainDiagram(mainDiagram);
- }
+ articleEntity.setMainDiagram(mainDiagram);
String atlas = adminUpdateArticleDto.getAtlas();
- if(StrUtil.isNotEmpty(atlas)){
- articleEntity.setAtlas(atlas);
- }
+ articleEntity.setAtlas(atlas);
Date releaseTime = adminUpdateArticleDto.getReleaseTime();
if(ObjectUtil.isNotEmpty(releaseTime)){
articleEntity.setReleaseTime(releaseTime);
}
Integer releaseStatus = adminUpdateArticleDto.getReleaseStatus();
articleEntity.setReleaseStatus(releaseStatus);
- String articleDetails = adminUpdateArticleDto.getArticleDetails();
- if(StrUtil.isNotEmpty(articleDetails)){
- articleEntity.setArticleDetails(articleDetails);
+ if(ArticleEntity.RELEASE_STATUS_YES == releaseStatus){
+ articleEntity.setReleaseTime(new Date());
}
+ String articleDetails = adminUpdateArticleDto.getArticleDetails();
+ articleEntity.setArticleDetails(articleDetails);
+ String uploadFile = adminUpdateArticleDto.getUploadFile();
+ articleEntity.setUploadFile(uploadFile);
+
+ articleEntity.setArticleUrl(adminUpdateArticleDto.getArticleUrl());
+ articleEntity.setType(adminUpdateArticleDto.getType());
+ articleEntity.setContentType(adminUpdateArticleDto.getContentType());
+ String authorBelong = adminUpdateArticleDto.getAuthorBelong();
+ articleEntity.setAuthorBelong(authorBelong);
this.baseMapper.updateById(articleEntity);
return Result.ok("更新成功");
}
@@ -196,4 +230,89 @@
}
return Result.ok("删除成功");
}
+
+ @Override
+ public Result updateStatusOff(Long id) {
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ articleEntity.setReleaseStatus(ArticleEntity.RELEASE_STATUS_NO);
+ this.baseMapper.updateById(articleEntity);
+ return Result.ok("操作成功");
+ }
+
+ @Override
+ public Result updateIstop(Long id) {
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ articleEntity.setIsTop(ArticleEntity.ISTOP_YES);
+ this.baseMapper.updateById(articleEntity);
+ return Result.ok("操作成功");
+ }
+
+ @Override
+ public Result updateIstopOff(Long id) {
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ articleEntity.setIsTop(ArticleEntity.ISTOP_NO);
+ this.baseMapper.updateById(articleEntity);
+ return Result.ok("操作成功");
+ }
+
+ @Override
+ public Result webArticleInPage(HttpServletRequest request, WebArticleInPageDto webArticleInPageDto) {
+ String website = request.getHeader(AppContants.WEBSITE_HEADER);
+ Long companyId = getCompanyIdFromWebsite(website);
+
+ Page<WebArticleVo> page = new Page<>(webArticleInPageDto.getPageNum(), webArticleInPageDto.getPageSize());
+ ArticleEntity articleEntity = new ArticleEntity();
+ Long columnId = webArticleInPageDto.getColumnId() == null ? 0L : webArticleInPageDto.getColumnId();
+ if(columnId != 0L){
+ articleEntity.setColumnId(columnId);
+ }
+ String author = webArticleInPageDto.getAuthor();
+ if(StrUtil.isNotEmpty(author)){
+ articleEntity.setAuthor(author);
+ }
+ String queryKey = webArticleInPageDto.getQueryKey();
+ if(StrUtil.isNotEmpty(queryKey)){
+ articleEntity.setTitle(queryKey);
+ }
+ if(UserEntity.USER_BELONG_TOP != companyId){
+ articleEntity.setCompanyId(companyId);
+ }
+ IPage<WebArticleVo> list = this.baseMapper.selectWebArticleInPage(page,articleEntity);
+ return Result.ok(list);
+ }
+
+ @Override
+ public Result updateStatusOn(Long id) {
+ ArticleEntity articleEntity = this.baseMapper.selectById(id);
+ if(ObjectUtil.isEmpty(articleEntity)){
+ return Result.fail("文章不存在");
+ }
+ articleEntity.setReleaseStatus(ArticleEntity.RELEASE_STATUS_YES);
+ articleEntity.setReleaseTime(new Date());
+ 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;
+ }
}
--
Gitblit v1.9.1