fix
Helius
2022-07-12 ed0ddc8b0e628af3ea9bb86d018a6dbb20875081
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);
    }
}