From d3afea7e42dddedc1fb9f05fe3894bc741e8fc7d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 09 Aug 2022 15:28:46 +0800
Subject: [PATCH] 20220809 最大上传512
---
src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java | 124 ++++++++++++++++++++++++++++++++++++++--
1 files changed, 116 insertions(+), 8 deletions(-)
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 5a2579b..366a9df 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
@@ -1,14 +1,22 @@
package com.xcong.farmer.cms.modules.core.service.impl;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.xcong.farmer.cms.core.template.TemplateConfiguration;
import com.xcong.farmer.cms.modules.core.service.ICmsCoreService;
+import com.xcong.farmer.cms.modules.system.mapper.WebSetMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.validation.constraints.NotNull;
import java.util.HashMap;
+import java.util.List;
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,24 +29,124 @@
@Autowired
private TemplateConfiguration cfg;
- @Override
- public void articleProcess(Long id, String templateName) {
- Map<String, Object> data = new HashMap<>();
- data.put("id", id);
+ @Autowired
+ private WebSetMapper webSetMapper;
+ private final Executor executor = new ThreadPoolExecutor(10, 20, 600, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
+
+
+ @Override
+ public void articleProcess(Map<String, Object> data, String templateName, String templatePath) {
+ data.put("templateType", "article");
+ data.put("templatePath", templatePath);
+ data.put("templateName", data.get("id"));
+ globalData(data);
if (StrUtil.isEmpty(templateName)) {
- templateName = "artile.defualt.html";
+ templateName = "defualt.article.html";
}
- cfg.process(data, templateName);
+
+ try {
+ String finalTemplateName = templateName;
+ executor.execute(() -> {
+ cfg.process(data, finalTemplateName);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("发布文章出错", e);
+ }
}
@Override
- public void columnProcess(String code, String templateName, boolean article) {
+ public void articlesProcess(Map<String, Object> data, List<Long> ids, String templateName, String templatePath) {
+ if (CollUtil.isEmpty(ids)) {
+ return;
+ }
+ for (Long id : ids) {
+ data.put("id", id);
+ articleProcess(data, templateName, templatePath);
+ }
}
@Override
- public void columnProcess(Long id, String templateName, boolean article) {
+ public void columnsProcess(Map<String, Object> data, List<Long> ids, String templateName) {
+ if (CollUtil.isEmpty(ids)) {
+ return;
+ }
+ for (Long id : ids) {
+ data.put("id", id);
+ columnProcess(data, templateName);
+ }
+ }
+
+ @Override
+ public void columnProcess(Map<String, Object> data, String templateName) {
+ data.put("templateType", "column");
+ data.put("page", 1);
+ globalData(data);
+ if (StrUtil.isEmpty(templateName)) {
+ templateName = "defualt.list.html";
+ }
+
+ try {
+ String finalTemplateName = templateName;
+ executor.execute(() -> {
+ cfg.process(data, finalTemplateName);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("发布栏目错误", e);
+ }
+ }
+
+ @Override
+ public void indexProcess(@NotNull Map<String, Object> data, String templateName) {
+ data.put("templateType", "index");
+ globalData(data);
+ if (StrUtil.isEmpty(templateName)) {
+ templateName = "index.html";
+ }
+
+ try {
+ String finalTemplateName = templateName;
+ executor.execute(() -> {
+ cfg.process(data, finalTemplateName);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("发布首页错误", e);
+ }
+ }
+
+ @Override
+ public void process(Map<String, Object> data, String templateType, String templateName) {
+ data.put("templateType", templateType);
+ globalData(data);
+
+ if ("search".equals(templateType) && StrUtil.isBlank(templateName)) {
+ templateName = "search.html";
+ }
+
+ if ("message".equals(templateType) && StrUtil.isBlank(templateName)) {
+ templateName = "message.html";
+ }
+
+ try {
+ String finalTemplateName = templateName;
+ executor.execute(() -> {
+ cfg.process(data, finalTemplateName);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("发布错误", e);
+ }
+ }
+
+ private void globalData(Map<String, Object> data) {
+ Long companyId = (Long) data.get("companyId");
+ Map<String, String> globalSetting = webSetMapper.selectSiteGlobalSetting(companyId);
+
+ data.putAll(globalSetting);
}
}
--
Gitblit v1.9.1