From ccafbd516a315f23214aea124f41d47ea47b69f7 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 12 Jul 2022 10:42:53 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 102 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..21dd11e 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,110 @@
     @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;
 
+
+    @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 {
+            cfg.process(data, templateName);
+        } 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 {
+            cfg.process(data, templateName);
+        } 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 {
+            cfg.process(data, templateName);
+        } 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 {
+            cfg.process(data, templateName);
+        } 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