From a508775d5c69e61e605c8f00fc18e70279444869 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 11 Jul 2022 21:49:04 +0800 Subject: [PATCH] add companyCode --- src/main/java/com/xcong/farmer/cms/configurations/properties/CmsProperties.java | 18 ++++ src/main/java/com/xcong/farmer/cms/modules/core/service/impl/CmsCoreServiceImpl.java | 26 ++++++ src/main/java/com/xcong/farmer/cms/common/utils/FileUtils.java | 6 + src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java | 9 +- src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java | 4 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java | 12 +- src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java | 11 +- src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java | 7 + src/main/java/com/xcong/farmer/cms/core/template/Configuration.java | 6 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java | 27 ++++-- src/main/resources/mapper/WebSetMapper.xml | 13 +++ src/main/java/com/xcong/farmer/cms/core/node/Template.java | 2 src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java | 10 + src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java | 2 src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java | 10 +- src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java | 4 + src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java | 2 src/main/resources/application.yml | 6 src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java | 7 + 19 files changed, 136 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/common/utils/FileUtils.java b/src/main/java/com/xcong/farmer/cms/common/utils/FileUtils.java index 32d768d..17c62ad 100644 --- a/src/main/java/com/xcong/farmer/cms/common/utils/FileUtils.java +++ b/src/main/java/com/xcong/farmer/cms/common/utils/FileUtils.java @@ -22,10 +22,14 @@ public static String path(String path, String fileName) { File file = new File(path); - if (!file.isDirectory()){ + if (file.exists() && !file.isDirectory()){ return ""; } + if (!file.exists()) { + file.mkdirs(); + } + String dir = path(path); return dir + fileName; } diff --git a/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java b/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java index 8b5873f..5e2896e 100644 --- a/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java +++ b/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java @@ -3,11 +3,15 @@ import com.xcong.farmer.cms.configurations.properties.CmsProperties; import com.xcong.farmer.cms.core.template.TemplateConfiguration; import com.xcong.farmer.cms.core.template.TemplateLoader; +import com.xcong.farmer.cms.modules.system.entity.DataDictionaryCustom; +import com.xcong.farmer.cms.modules.system.mapper.DataDictionaryCustomMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; + +import java.util.List; /** * @author wzy @@ -23,7 +27,8 @@ @Bean public TemplateConfiguration templateConfiguration() { log.info("CMS管理系统"); - TemplateConfiguration cfg = new TemplateConfiguration(cmsProperties.getTemplatePath(), cmsProperties.getStaticPath(), cmsProperties.getOutputPath(), cmsProperties.getBaseUrl(), cmsProperties.getStaticUrl()); + + TemplateConfiguration cfg = new TemplateConfiguration(cmsProperties.getTemplatePath(), cmsProperties.getStaticPath(), cmsProperties.getOutputPath(), cmsProperties.getApiUrl(), cmsProperties.getStaticUrl()); TemplateLoader loader = new TemplateLoader(cfg); cfg.templateLoader(loader); return cfg; diff --git a/src/main/java/com/xcong/farmer/cms/configurations/properties/CmsProperties.java b/src/main/java/com/xcong/farmer/cms/configurations/properties/CmsProperties.java index 22b0fc9..440a51c 100644 --- a/src/main/java/com/xcong/farmer/cms/configurations/properties/CmsProperties.java +++ b/src/main/java/com/xcong/farmer/cms/configurations/properties/CmsProperties.java @@ -3,19 +3,35 @@ import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; @Data @Configuration @ConfigurationProperties(prefix = "cms") public class CmsProperties { + /** + * 模板保存地址 + */ private String templatePath; + /** + * 静态文件保存地址 + */ private String staticPath; + /** + * html输出地址 + */ private String outputPath; + /** + * 静态文件访问地址 + */ private String staticUrl; - private String baseUrl; + /** + * api请求地址 + */ + private String apiUrl; } diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java index f5bc847..1beb535 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/ArticleDataParserHandler.java @@ -25,10 +25,11 @@ public class ArticleDataParserHandler implements DataParserHandler { private final ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class); - private final CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); @Override public void dataParser(AttrNode node) { log.info("######文章解析########"); + String baseUrl = (String) node.getSystemDataValue("baseUrl"); + Article tag = (Article) node.getParam(); ArticleEntity data = articleMapper.selectById(tag.getId()); @@ -40,7 +41,7 @@ if (prevEntity.getType() == 2) { prev.setUrl(prevEntity.getArticleUrl()); } else { - prev.setUrl(cmsProperties.getBaseUrl() + prevEntity.getPath() + "/" + prevEntity.getId() + ".html"); + prev.setUrl(baseUrl + prevEntity.getPath() + "/" + prevEntity.getId() + ".html"); } articleData.setPrev(prev); @@ -54,7 +55,7 @@ if (nextEntity.getType() == 2) { next.setUrl(nextEntity.getArticleUrl()); } else { - next.setUrl(cmsProperties.getBaseUrl() + nextEntity.getPath() + "/" + nextEntity.getId() + ".html"); + next.setUrl(baseUrl + nextEntity.getPath() + "/" + nextEntity.getId() + ".html"); } articleData.setNext(next); diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java index 909656a..1c3b8ae 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/ArticlesDataParserHandler.java @@ -27,12 +27,14 @@ public class ArticlesDataParserHandler implements DataParserHandler { private ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class); - private CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); @Override public void dataParser(AttrNode node) { log.info("文章列表解析"); Long companyId = (Long) node.getSystemDataValue("companyId"); + String companyCode = (String) node.getSystemDataValue("companyCode"); + String baseUrl = (String) node.getSystemDataValue("baseUrl"); + Articles param = (Articles) node.getParam(); ArticleEntity article = new ArticleEntity(); Page<ArticleEntity> page = new Page<>(Integer.parseInt(param.getPage()), Integer.parseInt(param.getLimit())); @@ -59,20 +61,20 @@ List<ArticleData> list = new ArrayList<>(); for (ArticleEntity record : listPage.getRecords()) { - ArticleData articleData = entityToData(record); + ArticleData articleData = entityToData(record, baseUrl + companyCode); list.add(articleData); } node.setData(list); } - public ArticleData entityToData(ArticleEntity article) { + public ArticleData entityToData(ArticleEntity article, String baseUrl) { ArticleData articleData = ArticleConversion.INSTANCE.entityToData(article); if (article.getType() == 2) { articleData.setUrl(article.getArticleUrl()); } else { - articleData.setUrl(cmsProperties.getBaseUrl() + article.getPath() + "/" + article.getId() + ".html"); + articleData.setUrl(baseUrl + article.getPath() + "/" + article.getId() + ".html"); } diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java index 50ef367..2a2643f 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/ColumnDataParserHandler.java @@ -26,12 +26,13 @@ private ColumnMapper columnMapper = SpringContextHolder.getBean(ColumnMapper.class); private ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class); - private CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); + private String baseUrl = ""; @Override public void dataParser(AttrNode attrNode) { log.info("栏目解析"); Long companyId = (Long) attrNode.getSystemDataValue("companyId"); + baseUrl = (String) attrNode.getSystemDataValue("baseUrl"); Column param = (Column) attrNode.getParam(); @@ -59,14 +60,14 @@ public ColumnData columnToData(ColumnEntity column) { ColumnData columnData = ColumnConversion.INSTANCE.entityToData(column); - columnData.setUrl(cmsProperties.getBaseUrl() + column.getPath()); + columnData.setUrl(baseUrl + column.getPath()); if (column.getType() == 2) { if (column.getTargetType() == 1) { ArticleEntity article = this.articleMapper.selectArticleById(Long.parseLong(column.getTargetUrl())); - columnData.setUrl(cmsProperties.getBaseUrl() + article.getPath() + "/" + article.getId() + ".html"); + columnData.setUrl(baseUrl + article.getPath() + "/" + article.getId() + ".html"); } else if (column.getTargetType() == 2) { ColumnEntity columnEntity = this.columnMapper.selectByCodeAndCompanyId(column.getTargetUrl(), column.getCompanyId()); - columnData.setUrl(cmsProperties.getBaseUrl() + columnEntity.getPath()); + columnData.setUrl(baseUrl + columnEntity.getPath()); } else { columnData.setUrl(column.getTargetUrl()); } diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java index cac8b9a..fbb19e3 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/NavDataParserHandler.java @@ -28,12 +28,13 @@ private ColumnMapper columnMapper = SpringContextHolder.getBean(ColumnMapper.class); private ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class); - private CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); + private String baseUrl = ""; @Override public void dataParser(AttrNode node) { log.info("导航栏解析"); Long companyId = (Long) node.getSystemDataValue("companyId"); + baseUrl = (String) node.getSystemDataValue("baseUrl"); List<ColumnEntity> columns = columnMapper.selectColumnByParentId(0L, companyId, 1); @@ -45,7 +46,7 @@ NavData index = new NavData(); index.setTitle("首页"); - index.setUrl(cmsProperties.getBaseUrl()); + index.setUrl(baseUrl); index.setCode("index"); list.add(index); @@ -75,14 +76,14 @@ public NavData columnToNav(ColumnEntity column) { NavData navData = ColumnConversion.INSTANCE.columnToNav(column); - navData.setUrl(cmsProperties.getBaseUrl() + column.getPath()); + navData.setUrl(baseUrl + column.getPath()); if (column.getType() == 2) { if (column.getTargetType() == 1) { ArticleEntity article = this.articleMapper.selectArticleById(Long.parseLong(column.getTargetUrl())); - navData.setUrl(cmsProperties.getBaseUrl() + article.getPath() + "/" + article.getId() + ".html"); + navData.setUrl(baseUrl + article.getPath() + "/" + article.getId() + ".html"); } else if (column.getTargetType() == 2) { ColumnEntity columnEntity = this.columnMapper.selectByCodeAndCompanyId(column.getTargetUrl(), column.getCompanyId()); - navData.setUrl(cmsProperties.getBaseUrl() + columnEntity.getPath()); + navData.setUrl(baseUrl + columnEntity.getPath()); } else { navData.setUrl(column.getTargetUrl()); } diff --git a/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java b/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java index 297e1d6..e49892f 100644 --- a/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java +++ b/src/main/java/com/xcong/farmer/cms/core/handler/PageDataParserHandler.java @@ -27,12 +27,12 @@ public class PageDataParserHandler implements DataParserHandler { private ArticleMapper articleMapper = SpringContextHolder.getBean(ArticleMapper.class); - private CmsProperties cmsProperties = SpringContextHolder.getBean(CmsProperties.class); @Override public void dataParser(AttrNode attrNode) { log.info("分页解析"); synchronized (this) { Template.HAS_PAGING = true; + String baseUrl = (String) attrNode.getSystemDataValue("baseUrl"); Long companyId = (Long) attrNode.getSystemDataValue("companyId"); Pagination param = (Pagination) attrNode.getParam(); @@ -49,7 +49,7 @@ pageData.setTotalCnt((int) pageList.getSize()); if (CollUtil.isNotEmpty(pageList.getRecords())) { - String path = cmsProperties.getBaseUrl() + "/" + param.getCode(); + String path = baseUrl + "/" + param.getCode(); String filename = "index_{}.html"; List<PageChildData> list = new ArrayList<>(); diff --git a/src/main/java/com/xcong/farmer/cms/core/node/Template.java b/src/main/java/com/xcong/farmer/cms/core/node/Template.java index 51d5c27..6a7a49c 100644 --- a/src/main/java/com/xcong/farmer/cms/core/node/Template.java +++ b/src/main/java/com/xcong/farmer/cms/core/node/Template.java @@ -97,7 +97,7 @@ sb.append(partNode.getHtml()); } document = Jsoup.parse(sb.toString()); - String outPath = path(outputPath); + String outPath = path(outputPath) + system.get("companyCode"); String html = document.html(); try { diff --git a/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java b/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java index 766240b..ade1636 100644 --- a/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java +++ b/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java @@ -6,7 +6,7 @@ public abstract class Configuration { - protected static String BASE_URL; + protected static String API_URL; protected static String STATIC_URL; protected static String staticPath; protected static String templatePath; @@ -15,11 +15,11 @@ public Configuration() { } - public Configuration(String templatePath, String staticPath, String outputPath, String baseUrl, String staticUrl) { + public Configuration(String templatePath, String staticPath, String outputPath, String apiUrl, String staticUrl) { Configuration.staticPath = staticPath; Configuration.templatePath = templatePath; Configuration.outputPath = outputPath; - Configuration.BASE_URL = baseUrl; + Configuration.API_URL = apiUrl; Configuration.STATIC_URL = staticUrl; } diff --git a/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java b/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java index 1c3b7f6..22ac0dc 100644 --- a/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java +++ b/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java @@ -1,5 +1,6 @@ package com.xcong.farmer.cms.core.template; +import com.xcong.farmer.cms.common.utils.FileUtils; import com.xcong.farmer.cms.core.node.PartNode; import com.xcong.farmer.cms.core.node.Template; import lombok.extern.slf4j.Slf4j; @@ -32,10 +33,13 @@ if (this.templateLoader == null) { throw new RuntimeException("TemplateLoader do not able to be null"); } + map.put("apiUrl", API_URL); + + String companyCode = (String) map.get("companyCode"); log.info("解析开始执行--#类型:{}#--#模板名称:{}#--#ID:{}#", map.get("templateType"), templateName, map.get("id")); this.templateLoader.data(map); - Template template = template(templateName); + Template template = template(FileUtils.path(templatePath, companyCode), templateName); template.output(outputPath); // 判断是否有分页,有则执行。从第二页开始 @@ -43,13 +47,13 @@ while(Template.HAS_PAGING) { map.put("page", i); this.templateLoader.data(map); - Template pageTemplate = template(templateName); + Template pageTemplate = template(FileUtils.path(templatePath, companyCode), templateName); pageTemplate.output(outputPath); i++; } } - public Template template(String templateName) { + public Template template(String templatePath, String templateName) { return template(new File(path(templatePath) + templateName)); } diff --git a/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java b/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java index 08b0e1e..9eceba7 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java +++ b/src/main/java/com/xcong/farmer/cms/modules/core/service/ICmsCoreService.java @@ -38,4 +38,6 @@ void indexProcess(Map<String, Object> map, String templateName); + void process(Map<String, Object> map, String templateType, String templateName); + } 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 811b5da..7a2eb81 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 @@ -4,6 +4,7 @@ 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; @@ -28,12 +29,16 @@ @Autowired private TemplateConfiguration cfg; + @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 = "defualt.article.html"; } @@ -74,6 +79,7 @@ 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"; } @@ -89,6 +95,7 @@ @Override public void indexProcess(@NotNull Map<String, Object> data, String templateName) { data.put("templateType", "index"); + globalData(data); if (StrUtil.isEmpty(templateName)) { templateName = "index.html"; } @@ -100,4 +107,23 @@ log.error("发布首页错误", e); } } + + @Override + public void process(Map<String, Object> data, String templateType, String templateName) { + data.put("templateType", templateType); + globalData(data); + 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); + } } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java index 2a0a7db..fa83417 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/mapper/WebSetMapper.java @@ -4,7 +4,11 @@ import com.xcong.farmer.cms.modules.system.entity.WebSettingEntity; import org.apache.ibatis.annotations.Param; +import java.util.Map; + public interface WebSetMapper extends BaseMapper<WebSettingEntity> { WebSettingEntity selectByCompanyId(@Param("companyId") Long companyId); + + Map<String, String> selectSiteGlobalSetting(@Param("companyId") Long companyId); } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java index 092a821..2467205 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java @@ -15,7 +15,9 @@ import com.xcong.farmer.cms.modules.system.dto.AdminSaveTemplateInfoDto; import com.xcong.farmer.cms.modules.system.dto.TemplateListDto; import com.xcong.farmer.cms.modules.system.entity.CmsTemplateEntity; +import com.xcong.farmer.cms.modules.system.entity.CompanyEntity; import com.xcong.farmer.cms.modules.system.mapper.CmsTemplateMapper; +import com.xcong.farmer.cms.modules.system.mapper.CompanyMapper; import com.xcong.farmer.cms.modules.system.service.ICmsTemplateService; import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; import org.jsoup.Jsoup; @@ -46,6 +48,10 @@ @Autowired private CmsProperties properties; + @Autowired + private CompanyMapper companyMapper; + + private List<String> fileSuffix = Arrays.asList(".zip", ".html"); @Override @@ -53,6 +59,11 @@ String templatePath = properties.getTemplatePath(); String staticPath = properties.getStaticPath(); Long companyId = LoginUserUtil.getCompanyId(); + CompanyEntity company = companyMapper.selectById(companyId); + + String companyCode = company.getCode(); + templatePath = FileUtils.path(templatePath, companyCode); + staticPath = FileUtils.path(staticPath, companyCode); String filename = upload.getOriginalFilename(); String suffix = filename.substring(filename.lastIndexOf(".")); @@ -91,14 +102,14 @@ continue; } - insertTemplate(templateFile, companyId); + insertTemplate(templateFile, companyId, companyCode); } } if (".html".equals(suffix)) { FileUtil.touch(file); - insertTemplate(file, companyId); + insertTemplate(file, companyId, companyCode); } } catch (IOException e) { e.printStackTrace(); @@ -106,13 +117,13 @@ } } - private void insertTemplate(File file, Long companyId) throws IOException { + private void insertTemplate(File file, Long companyId, String companyCode) throws IOException { Document parse = Jsoup.parse(file, null); String attr = parse.head().attr("name"); - staticPathParser(parse, "img", "src"); - staticPathParser(parse, "link", "href"); - staticPathParser(parse, "script", "src"); + staticPathParser(parse, "img", "src", companyCode); + staticPathParser(parse, "link", "href", companyCode); + staticPathParser(parse, "script", "src", companyCode); FileOutputStream outputStream = new FileOutputStream(file); outputStream.write(parse.html().getBytes()); @@ -133,7 +144,7 @@ this.baseMapper.insert(cmsTemplate); } - private void staticPathParser(Document document, String tagName, String attrKey) { + private void staticPathParser(Document document, String tagName, String attrKey, String companyCode) { Elements elements = document.getElementsByTag(tagName); if (elements.isEmpty()) { return; @@ -142,7 +153,7 @@ for (Element element : elements) { String attr = element.attr(attrKey); if (StrUtil.isNotBlank(attr) && !attr.contains("http://") && !attr.contains("https://")) { - element.attr(attrKey, cmsProperties.getStaticUrl() + attr); + element.attr(attrKey, cmsProperties.getStaticUrl() + companyCode + "/" + attr); } } } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java index 287fe8c..7498eb2 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.farmer.cms.common.contants.AppContants; import com.xcong.farmer.cms.common.response.Result; -import com.xcong.farmer.cms.configurations.properties.CmsProperties; import com.xcong.farmer.cms.modules.system.dto.AdminAddColumnDto; import com.xcong.farmer.cms.modules.system.dto.AdminColumnDto; import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto; @@ -42,8 +41,6 @@ private ArticleMapper articleMapper; @Autowired private CompanyMapper companyMapper; - @Autowired - private CmsProperties cmsProperties; @Override public Result getColumnInPage(AdminColumnDto adminColumnDto) { @@ -167,18 +164,21 @@ adminSeeColumnInfoVo.setType(columnEntity.getType()); adminSeeColumnInfoVo.setTargetType(columnEntity.getTargetType()); adminSeeColumnInfoVo.setContentType(columnEntity.getContentType()); + + CompanyEntity companyEntity = companyMapper.selectById(LoginUserUtil.getCompanyId()); + if (columnEntity.getType() == 2) { if (columnEntity.getTargetType() == 1) { ArticleEntity articleEntity = articleMapper.selectById(Long.parseLong(columnEntity.getTargetUrl())); adminSeeColumnInfoVo.setTargetName(articleEntity.getTitle()); - adminSeeColumnInfoVo.setUrl(cmsProperties.getBaseUrl() + columnEntity.getPath() + "/" + columnEntity.getTargetUrl() + ".html"); + adminSeeColumnInfoVo.setUrl(companyEntity.getWebAddress() + columnEntity.getPath() + "/" + columnEntity.getTargetUrl() + ".html"); } else if (columnEntity.getTargetType() == 2) { ColumnEntity column = this.baseMapper.selectByCodeAndCompanyId(columnEntity.getTargetUrl(), LoginUserUtil.getCompanyId()); adminSeeColumnInfoVo.setTargetName(column.getColumnName()); - adminSeeColumnInfoVo.setUrl(cmsProperties.getBaseUrl() + column.getPath()); + adminSeeColumnInfoVo.setUrl(companyEntity.getWebAddress() + column.getPath()); } } else { - adminSeeColumnInfoVo.setUrl(cmsProperties.getBaseUrl() + columnEntity.getPath()); + adminSeeColumnInfoVo.setUrl(companyEntity.getWebAddress() + columnEntity.getPath()); } adminSeeColumnInfoVo.setTargetUrl(columnEntity.getTargetUrl()); return Result.ok(adminSeeColumnInfoVo); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index dea844b..6adb6f3 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -99,9 +99,9 @@ path: /image/ cms: - base-url: http://localhost + api-url: http://120.27.238.55:8878 static-url: http://120.27.238.55:8000/cms/static/ - template-path: /Users/helius/Desktop/template - static-path: /Users/helius/Desktop/static + template-path: /Users/helius/Desktop/template-online/template + static-path: /Users/helius/Desktop/template-online/static output-path: /Users/helius/Desktop/template-online/output diff --git a/src/main/resources/mapper/WebSetMapper.xml b/src/main/resources/mapper/WebSetMapper.xml index d70179d..c802dc4 100644 --- a/src/main/resources/mapper/WebSetMapper.xml +++ b/src/main/resources/mapper/WebSetMapper.xml @@ -11,4 +11,17 @@ where a.company_id=#{companyId} and a.company_id=b.id </select> + <select id="selectSiteGlobalSetting" resultType="java.util.Map"> + select + a.title title, + a.seo_title seoTitle, + a.seo_keyword seoKeyword, + a.seo_description seoDescription, + a.logo_url logo, + b.web_address baseUrl, + b.code companyCode + from t_web_setting a, t_company b + where a.company_id=#{companyId} and a.company_id=b.id + </select> + </mapper> \ No newline at end of file diff --git a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java b/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java index a571fb4..888ee4a 100644 --- a/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java +++ b/src/test/java/com/xcong/farmer/cms/KssframeworkApplicationTests.java @@ -108,7 +108,7 @@ public void viewTemplateInfo() { Long id = 4L; CmsTemplateEntity cmsTemplateEntity = cmsTemplateMapper.selectById(id); - String htmlUrl = cmsProperties.getBaseUrl() + cmsProperties.getTemplatePath(); + String htmlUrl = "" + cmsProperties.getTemplatePath(); File uploadDir = new File(htmlUrl); if (!uploadDir.isDirectory()) { uploadDir.mkdir(); -- Gitblit v1.9.1