Helius
2022-07-08 2b9bed85bac6906bd6c53bbe82057cc78d1af9f7
src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java
@@ -1,5 +1,6 @@
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;
@@ -9,6 +10,7 @@
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;
@@ -25,7 +27,6 @@
    @Autowired
    private TemplateConfiguration cfg;
    private final Executor executor = new ThreadPoolExecutor(5, 10, 600, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
    @Override
@@ -34,11 +35,34 @@
        data.put("templatePath", templatePath);
        data.put("templateName", data.get("id"));
        if (StrUtil.isEmpty(templateName)) {
            templateName = "defualt.artile.html";
            templateName = "defualt.article.html";
        }
        String finalTemplateName = templateName;
        executor.execute(() -> cfg.process(data, finalTemplateName));
        cfg.process(data, templateName);
    }
    @Override
    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 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
@@ -49,17 +73,16 @@
            templateName = "defualt.list.html";
        }
        String finalTemplateName = templateName;
        executor.execute(() -> cfg.process(data, finalTemplateName));
        cfg.process(data, templateName);
    }
    @Override
    public void indexProcess(@NotNull Map<String, Object> data, String templateName) {
        data.put("templateType", "index");
        if (StrUtil.isEmpty(templateName)) {
            templateName = "index.html";
        }
        String finalTemplateName = templateName;
        executor.execute(() -> cfg.process(data, finalTemplateName));
        cfg.process(data, templateName);
    }
}