|
@@ -7,6 +7,8 @@ import com.caimei.www.pojo.page.TopMenu;
|
|
|
import com.caimei.www.service.generate.GenerateHtml;
|
|
|
import com.caimei.www.service.page.BaseService;
|
|
|
import com.caimei.www.service.page.HomeService;
|
|
|
+import com.caimei.www.service.page.ProductService;
|
|
|
+import com.caimei.www.service.page.SinglePageService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.io.FileUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -54,6 +56,10 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
private BaseService baseService;
|
|
|
@Resource
|
|
|
private HomeService homeService;
|
|
|
+ @Resource
|
|
|
+ private SinglePageService singlePageService;
|
|
|
+ @Resource
|
|
|
+ private ProductService productService;
|
|
|
/**
|
|
|
* 生成静态首页
|
|
|
*/
|
|
@@ -81,19 +87,30 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 删除静态页
|
|
|
+ * 生成产品仪器页面
|
|
|
+ * @param pageId 页面Id
|
|
|
*/
|
|
|
@Override
|
|
|
- public String deleteStaticHome(String pageName) {
|
|
|
- // 输出流
|
|
|
- File dest = new File(destPath, pageName + ".html");
|
|
|
+ public String generateProductType(ServerWebExchange exchange, Integer pageId){
|
|
|
+ // 上下文
|
|
|
+ SpringWebFluxContext context = new SpringWebFluxContext(exchange);
|
|
|
+ // 设置页面数据
|
|
|
+ context.setVariables(setStaticProductType(pageId));
|
|
|
+ // 输出流 /product/type-287.html
|
|
|
+ File dest = new File(destPath + "/product", "type-"+pageId+".html");
|
|
|
if (dest.exists()) {
|
|
|
boolean delete = dest.delete();
|
|
|
- if (delete) {
|
|
|
- return "[静态页服务]:删除静态页成功! ^_^";
|
|
|
- }
|
|
|
}
|
|
|
- return "[静态页服务]:删除静态页失败!";
|
|
|
+ try (PrintWriter writer = new PrintWriter(dest, "UTF-8")) {
|
|
|
+ // 生成html
|
|
|
+ templateEngine.process("index", context, writer);
|
|
|
+ log.info("[静态页服务]:生成静态产品仪器页("+pageId+")成功! ^_^");
|
|
|
+ return "[静态页服务]:生成静态产品仪器页("+pageId+")成功! ^_^";
|
|
|
+ } catch (Exception e) {
|
|
|
+ boolean delete = dest.delete();
|
|
|
+ log.error("[静态页服务]:生成静态产品仪器页("+pageId+")异常!", e);
|
|
|
+ return "[静态页服务]:生成静态产品仪器页("+pageId+")异常!"+e.toString();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -116,9 +133,7 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
* 设置静态首页数据
|
|
|
*/
|
|
|
private Map<String, Object> setStaticHomeData() {
|
|
|
- // 这里加载的数据是从数据库查询出来的,demo就写固定了
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
-
|
|
|
// 环境变量,(2:正式环境,1:测试环境,0:开发环境)
|
|
|
map.put("siteEnv", siteEnv);
|
|
|
map.put("agent", "");
|
|
@@ -136,6 +151,13 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
// 分类菜单
|
|
|
List<JSONObject> classifyList = baseService.getClassifyJson();
|
|
|
map.put("classifyJson", classifyList);
|
|
|
+ // 底部帮助页
|
|
|
+ List<BaseLink> helpPages = baseService.getHelpPages();
|
|
|
+ map.put("helpPages", helpPages);
|
|
|
+ // 友情链接
|
|
|
+ List<BaseLink> friendLinks = baseService.getFriendLinks();
|
|
|
+ map.put("friendLinks", friendLinks);
|
|
|
+
|
|
|
// 获取banner图
|
|
|
List<ImageLink> bannerList = homeService.getHomeBanners();
|
|
|
map.put("bannerList", bannerList);
|
|
@@ -145,12 +167,48 @@ public class GenerateHtmlImpl implements GenerateHtml {
|
|
|
// 右侧侧边栏数据
|
|
|
Map<String, Object> sideMap = homeService.getHomeSideJson();
|
|
|
map.put("sideJson", sideMap);
|
|
|
- // 底部帮助页
|
|
|
- List<BaseLink> helpPages = baseService.getHelpPages();
|
|
|
- map.put("helpPages", helpPages);
|
|
|
- // 友情链接
|
|
|
- List<BaseLink> friendLinks = baseService.getFriendLinks();
|
|
|
- map.put("friendLinks", friendLinks);
|
|
|
+
|
|
|
+ log.debug(map.toString());
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private Map<String, Object> setStaticProductType(Integer pageId) {
|
|
|
+ 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);
|
|
|
+ map.put("spiServer", spiServer);
|
|
|
+ // 搜索热门关键字
|
|
|
+ List<String> searchHotWord = baseService.getSearchHotWord();
|
|
|
+ map.put("searchHotWord", searchHotWord);
|
|
|
+ // 头部菜单
|
|
|
+ List<TopMenu> menuList = baseService.getNavMenu();
|
|
|
+ map.put("topMenuList", menuList);
|
|
|
+ // 分类菜单
|
|
|
+ List<JSONObject> classifyList = baseService.getClassifyJson();
|
|
|
+ map.put("classifyJson", classifyList);
|
|
|
+ // 底部帮助页
|
|
|
+ List<BaseLink> helpPages = baseService.getHelpPages();
|
|
|
+ map.put("helpPages", helpPages);
|
|
|
+ // 友情链接
|
|
|
+ List<BaseLink> friendLinks = baseService.getFriendLinks();
|
|
|
+ map.put("friendLinks", friendLinks);
|
|
|
+
|
|
|
+ String title = singlePageService.getPageTitleById(pageId);
|
|
|
+ map.put("pageId", pageId);
|
|
|
+ map.put("pageTitle", title);
|
|
|
+ // 产品仪器一级分类
|
|
|
+ Map<String, Object> classifyMap = productService.getTypeClassifyJson(pageId);
|
|
|
+ // 产品仪器楼层数据
|
|
|
+ Map<String, Object> floorMap = productService.getTypeFloorJson(pageId);
|
|
|
+ map.put("bigTypeJson", classifyMap);
|
|
|
+ map.put("typeFloorJson", floorMap);
|
|
|
|
|
|
log.debug(map.toString());
|
|
|
|