|
@@ -2,6 +2,7 @@ package com.caimei.www.service.generate.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.caimei.www.pojo.baike.BaikeType;
|
|
|
import com.caimei.www.pojo.page.BaseLink;
|
|
|
import com.caimei.www.pojo.page.ImageLink;
|
|
|
import com.caimei.www.pojo.page.TopMenu;
|
|
@@ -118,6 +119,33 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成采美百科产品仪器页面
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public String generateBaikePage(ServerWebExchange exchange, Integer commodityType) {
|
|
|
+ // 上下文
|
|
|
+ SpringWebFluxContext context = new SpringWebFluxContext(exchange);
|
|
|
+ // 设置页面数据
|
|
|
+ context.setVariables(setStaticBaikePage(commodityType));
|
|
|
+ // 输出流 /product/type-287.html
|
|
|
+ File dest = new File(destPath + "/encyclopedia", 1 == commodityType ? "product.html" : "instrument.html");
|
|
|
+ if (dest.exists()) {
|
|
|
+ boolean delete = dest.delete();
|
|
|
+ }
|
|
|
+ String commodityName = 1 == commodityType ? "产品" : "仪器";
|
|
|
+ try (PrintWriter writer = new PrintWriter(dest, "UTF-8")) {
|
|
|
+ // 生成html
|
|
|
+ templateEngine.process("product/instrument", context, writer);
|
|
|
+ log.info("[静态页服务]:生成静态采美百科" + commodityName + "页成功! ^_^");
|
|
|
+ return "[静态页服务]:生成静态采美百科" + commodityName + "页成功! ^_^";
|
|
|
+ } catch (Exception e) {
|
|
|
+ boolean delete = dest.delete();
|
|
|
+ log.error("[静态页服务]:生成静态采美百科" + commodityName + "页异常!", e);
|
|
|
+ return "[静态页服务]:生成静态采美百科" + commodityName + "页异常!"+e.toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 拷贝静态资源文件
|
|
|
*/
|
|
@@ -224,6 +252,33 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ private Map<String, Object> setStaticBaikePage(Integer commodityType) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ // 环境变量,(2:正式环境,1:测试环境,0:开发环境)
|
|
|
+ map.put("siteEnv", siteEnv);
|
|
|
+ map.put("agent", "");
|
|
|
+ // 静态文件版本号
|
|
|
+ map.put("version", buildTime);
|
|
|
+ // spi服务器地址
|
|
|
+ map.put("coreServer", coreServer);
|
|
|
+ // 搜索热门关键字
|
|
|
+ List<String> searchHotWord = baseService.getBaikeSearchHotWord();
|
|
|
+ map.put("searchHotWord", searchHotWord);
|
|
|
+ // banner图
|
|
|
+ ImageLink banner = baseService.getBaikeBannerImage(commodityType);
|
|
|
+ map.put("banner", banner);
|
|
|
+ // 分类列表
|
|
|
+ List<BaikeType> typeList = baseService.getBaikeTypeList(commodityType);
|
|
|
+ map.put("typeList", typeList);
|
|
|
+ // 产品仪器分类数据
|
|
|
+ JSONArray typeData = productService.getBaikeTypeJson(commodityType);
|
|
|
+ map.put("typeData", typeData);
|
|
|
+
|
|
|
+ log.debug(map.toString());
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 资源清单获取并拷贝
|
|
|
*/
|