From ea4120a80f7ef6188a745d9b27238cde1a3f7d74 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 07 Jul 2022 18:06:55 +0800
Subject: [PATCH] modify release
---
src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java | 28 ++++++++-----
src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminColumnController.java | 7 +++
src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java | 4 +-
src/main/java/com/xcong/farmer/cms/modules/system/dto/ReleaseColumnDto.java | 20 ++++++++++
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java | 1
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java | 23 ++++++++++-
6 files changed, 67 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java b/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java
index 0a15e8e..9f37a90 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java
@@ -10,7 +10,7 @@
* @param id
* @param templateName
*/
- void articleProcess(Long id, String templateName, String templatPath);
+ void articleProcess(Map<String, Object> data, String templateName, String templatePath);
/**
* 栏目编译
@@ -18,7 +18,7 @@
* @param templateName 模板名称
* @param columnOnly 是否只编译当前栏目列表页(如果false,则会编译栏目下所有子栏目或者所有文章)
*/
- void columnProcess(Map<String, Object> map, String templateName, boolean columnOnly);
+ void columnProcess(Map<String, Object> map, String templateName);
void indexProcess(Map<String, Object> map, String templateName);
diff --git a/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java
index 475c74d..433f90a 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java
@@ -10,6 +10,10 @@
import javax.validation.constraints.NotNull;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
/**
* @author wzy
@@ -21,30 +25,32 @@
@Autowired
private TemplateConfiguration cfg;
+ private final Executor executor = new ThreadPoolExecutor(5, 10, 600, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
+
@Override
- public void articleProcess(Long id, String templateName, String templatePath) {
- Map<String, Object> data = new HashMap<>();
- data.put("id", id);
- data.put("companyId", 23L);
+ public void articleProcess(Map<String, Object> data, String templateName, String templatePath) {
data.put("templateType", "article");
data.put("templatePath", templatePath);
- data.put("templateName", id);
+ data.put("templateName", data.get("id"));
if (StrUtil.isEmpty(templateName)) {
templateName = "defualt.artile.html";
}
- cfg.process(data, templateName);
+
+ String finalTemplateName = templateName;
+ executor.execute(() -> cfg.process(data, finalTemplateName));
}
@Override
- public void columnProcess(Map<String, Object> data, String templateName, boolean article) {
- data.put("companyId", 23L);
+ public void columnProcess(Map<String, Object> data, String templateName) {
data.put("templateType", "column");
data.put("page", 1);
if (StrUtil.isEmpty(templateName)) {
templateName = "defualt.list.html";
}
- cfg.process(data, templateName);
+
+ String finalTemplateName = templateName;
+ executor.execute(() -> cfg.process(data, finalTemplateName));
}
@Override
@@ -53,7 +59,7 @@
templateName = "index.html";
}
- data.put("companyId", 23L);
- cfg.process(data, templateName);
+ String finalTemplateName = templateName;
+ executor.execute(() -> cfg.process(data, finalTemplateName));
}
}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminColumnController.java b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminColumnController.java
index 27779ea..236057e 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminColumnController.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminColumnController.java
@@ -10,6 +10,7 @@
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -65,4 +66,10 @@
return iColumnService.delObjs(adminDeleteDto);
}
+ @ApiOperation(value = "发布栏目", notes = "发布栏目")
+ @PostMapping(value = "/release")
+ public Result release(@RequestBody ReleaseColumnDto releaseColumnDto) {
+ return Result.ok("发布成功");
+ }
+
}
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/dto/ReleaseColumnDto.java b/src/main/java/com/xcong/farmer/cms/modules/system/dto/ReleaseColumnDto.java
new file mode 100644
index 0000000..ba1464a
--- /dev/null
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/dto/ReleaseColumnDto.java
@@ -0,0 +1,20 @@
+package com.xcong.farmer.cms.modules.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2022-07-07
+ **/
+@Data
+@ApiModel(value = "ReleaseColumnDto", description = "发布栏目接收参数类")
+public class ReleaseColumnDto {
+
+ @ApiModelProperty(value = "栏目ID", example = "1")
+ private Long id;
+
+ @ApiModelProperty(value = "是否编译子栏目和栏目下所有文章 1-是 ,2-否", example = "1")
+ private Integer type;
+}
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 6a2ce1d..4cb2c13 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
@@ -46,6 +46,7 @@
@Autowired
private ICmsCoreService cmsCoreService;
+
@Override
public Result getArticleInPage(AdminArticleDto adminArticleDto) {
UserEntity userlogin = LoginUserUtil.getLoginUser();
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
index 8002634..0b1587b 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
@@ -6,6 +6,7 @@
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.service.IReleaseService;
+import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -32,14 +33,25 @@
@Override
public void releaseArticle(Long id) {
+ Long companyId = LoginUserUtil.getCompanyId();
ArticleEntity article = articleMapper.selectById(id);
-
ColumnEntity column = columnMapper.selectById(article.getColumnId());
- cmsCoreService.articleProcess(article.getId(), column.getArticleTemplate(), column.getPath());
+
+ Map<String, Object> data = new HashMap<>();
+ data.put("id", article.getId());
+ data.put("companyId", companyId);
+
+ cmsCoreService.articleProcess(data, column.getArticleTemplate(), column.getPath());
+ this.releaseColumn(column.getId(), false);
+ if (column.getParentId() != 0L) {
+ releaseColumn(column.getParentId(), false);
+ }
+ this.releaseIndex();
}
@Override
public void releaseColumn(Long id, boolean article) {
+ Long companyId = LoginUserUtil.getCompanyId();
ColumnEntity columnEntity = columnMapper.selectById(id);
Map<String, Object> map = new HashMap<>();
map.put("id", columnEntity.getId());
@@ -51,12 +63,17 @@
map.put("parentCode", parent.getColumnCode());
}
map.put("templatePath", columnEntity.getPath());
- cmsCoreService.columnProcess(map, columnEntity.getListTemplate(), article);
+ map.put("companyId", companyId);
+
+ cmsCoreService.columnProcess(map, columnEntity.getListTemplate());
}
@Override
public void releaseIndex() {
Map<String, Object> map = new HashMap<>();
+ Long companyId = LoginUserUtil.getCompanyId();
+ map.put("companyId", companyId);
+
cmsCoreService.indexProcess(map, null);
}
}
--
Gitblit v1.9.1