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