package com.xcong.farmer.cms.modules.core.service.impl;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.xcong.farmer.cms.core.template.TemplateConfiguration;
|
import com.xcong.farmer.cms.modules.core.service.ICmsCoreService;
|
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.Map;
|
import java.util.concurrent.Executor;
|
import java.util.concurrent.LinkedBlockingQueue;
|
import java.util.concurrent.ThreadPoolExecutor;
|
import java.util.concurrent.TimeUnit;
|
|
/**
|
* @author wzy
|
* @date 2022-07-03
|
**/
|
@Slf4j
|
@Service
|
public class CmsCoreServiceImpl implements ICmsCoreService {
|
|
@Autowired
|
private TemplateConfiguration cfg;
|
private final Executor executor = new ThreadPoolExecutor(5, 10, 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"));
|
if (StrUtil.isEmpty(templateName)) {
|
templateName = "defualt.artile.html";
|
}
|
|
String finalTemplateName = templateName;
|
executor.execute(() -> cfg.process(data, finalTemplateName));
|
}
|
|
@Override
|
public void columnProcess(Map<String, Object> data, String templateName) {
|
data.put("templateType", "column");
|
data.put("page", 1);
|
if (StrUtil.isEmpty(templateName)) {
|
templateName = "defualt.list.html";
|
}
|
|
String finalTemplateName = templateName;
|
executor.execute(() -> cfg.process(data, finalTemplateName));
|
}
|
|
@Override
|
public void indexProcess(@NotNull Map<String, Object> data, String templateName) {
|
if (StrUtil.isEmpty(templateName)) {
|
templateName = "index.html";
|
}
|
|
String finalTemplateName = templateName;
|
executor.execute(() -> cfg.process(data, finalTemplateName));
|
}
|
}
|