|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cn.hutool.core.collection.CollUtil; | 
|---|
|  |  |  | import cn.hutool.core.util.StrUtil; | 
|---|
|  |  |  | import com.xcong.farmer.cms.common.contants.AppContants; | 
|---|
|  |  |  | import com.xcong.farmer.cms.core.template.TemplateConfiguration; | 
|---|
|  |  |  | import com.xcong.farmer.cms.modules.core.service.ICmsCoreService; | 
|---|
|  |  |  | import com.xcong.farmer.cms.modules.system.entity.ArticleEntity; | 
|---|
|  |  |  | import com.xcong.farmer.cms.modules.system.entity.ColumnEntity; | 
|---|
|  |  |  | import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper; | 
|---|
|  |  |  | import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper; | 
|---|
|  |  |  | import com.xcong.farmer.cms.modules.system.mapper.WebSetMapper; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WebSetMapper webSetMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ColumnMapper columnMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ArticleMapper articleMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    private final Executor executor = new ThreadPoolExecutor(10, 20, 600, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void articleProcess(Map<String, Object> data, String templateName, String templatePath) { | 
|---|
|  |  |  | 
|---|
|  |  |  | data.put("templatePath", templatePath); | 
|---|
|  |  |  | data.put("templateName", data.get("id")); | 
|---|
|  |  |  | globalData(data); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (StrUtil.isEmpty(templateName)) { | 
|---|
|  |  |  | templateName = "defualt.article.html"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | cfg.process(data, templateName); | 
|---|
|  |  |  | String finalTemplateName = templateName; | 
|---|
|  |  |  | AppContants.EXECUTOR.execute(() -> { | 
|---|
|  |  |  | cfg.process(data, finalTemplateName); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | log.error("发布文章出错", e); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | cfg.process(data, templateName); | 
|---|
|  |  |  | String finalTemplateName = templateName; | 
|---|
|  |  |  | AppContants.EXECUTOR.execute(() -> { | 
|---|
|  |  |  | cfg.process(data, finalTemplateName); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | log.error("发布栏目错误", e); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | cfg.process(data, templateName); | 
|---|
|  |  |  | String finalTemplateName = templateName; | 
|---|
|  |  |  | AppContants.EXECUTOR.execute(() -> { | 
|---|
|  |  |  | cfg.process(data, finalTemplateName); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | log.error("发布首页错误", e); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | String finalTemplateName = templateName; | 
|---|
|  |  |  | AppContants.EXECUTOR.execute(() -> { | 
|---|
|  |  |  | cfg.process(data, finalTemplateName); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | log.error("发布错误", e); | 
|---|
|  |  |  | 
|---|
|  |  |  | Long companyId = (Long) data.get("companyId"); | 
|---|
|  |  |  | Map<String, String> globalSetting = webSetMapper.selectSiteGlobalSetting(companyId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String type = (String) data.get("templateType"); | 
|---|
|  |  |  | if ("column".equals(type)){ | 
|---|
|  |  |  | Long id = (Long) data.get("id"); | 
|---|
|  |  |  | ColumnEntity columnEntity = columnMapper.selectById(id); | 
|---|
|  |  |  | globalSetting.put("title", columnEntity.getColumnName() + "_" + globalSetting.get("title")); | 
|---|
|  |  |  | } else if ("article".equals(type)) { | 
|---|
|  |  |  | Long id = (Long) data.get("id"); | 
|---|
|  |  |  | ArticleEntity article = articleMapper.selectById(id); | 
|---|
|  |  |  | ColumnEntity columnEntity = columnMapper.selectById(article.getColumnId()); | 
|---|
|  |  |  | globalSetting.put("title", article.getTitle() + "_" + columnEntity.getColumnName() +"_" + globalSetting.get("title")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data.putAll(globalSetting); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|