Browse Source

www静态页面生成

chao 4 năm trước cách đây
mục cha
commit
9f2017b421

+ 27 - 16
src/main/java/com/caimei/modules/newhome/web/NewActivityController.java

@@ -1,21 +1,12 @@
 package com.caimei.modules.newhome.web;
 
-import com.caimei.modules.miniprogram.entity.CmWxArticle;
 import com.caimei.modules.miniprogram.utils.DateUtils;
 import com.caimei.modules.newhome.entity.ActType;
-import com.caimei.modules.newhome.entity.NewPageFloor;
-import com.caimei.modules.newhome.service.NewPageFloorService;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.caimei.modules.product.entity.*;
-import com.caimei.modules.product.service.BigTypeService;
 import com.caimei.modules.product.service.ProductService;
-import com.caimei.modules.product.service.SmallTypeService;
-import com.caimei.po.TinyType;
+import com.caimei.redis.RedisService;
 import com.caimei.utils.AppUtils;
-import com.cmme.modules.product.entity.CmmeBigtype;
-import com.cmme.modules.product.entity.CmmeSmalltype;
-import com.cmme.modules.product.service.CmmeBigtypeService;
-import com.cmme.modules.product.service.CmmeSmalltypeService;
-import com.google.common.collect.Maps;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.utils.StringUtils;
@@ -28,9 +19,9 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
@@ -43,10 +34,12 @@ import java.util.*;
 @Controller
 @RequestMapping(value = "${adminPath}/newhome/newActivity")
 public class NewActivityController extends BaseController {
-
+    @Autowired
+    private RedisService redisService;
 	@Autowired
 	private ProductService productService;
-
+    @Resource
+    private GenerateUtils generateUtils;
 	@ModelAttribute
 	public Product get(@RequestParam(required=false) String id) {
 		Product entity = null;
@@ -58,7 +51,7 @@ public class NewActivityController extends BaseController {
 		}
 		return entity;
 	}
-	
+
 	@RequiresPermissions("newhome:newActivity:view")
 	@RequestMapping(value = {"list","", "groupList"})
 	public String list(Product product,String message, HttpServletRequest request, HttpServletResponse response, Model model) {
@@ -157,6 +150,7 @@ public class NewActivityController extends BaseController {
             returnUrl = "/newhome/newActivity?repage";
         }
 		productService.save(product);
+		cleanRedisCache();
 		addMessage(redirectAttributes, "保存商品信息成功");
 		return "redirect:"+ Global.getAdminPath()+returnUrl;
 	}
@@ -212,6 +206,7 @@ public class NewActivityController extends BaseController {
             product.setActSort("1");
         }
         productService.updateActive(product);
+        cleanRedisCache();
         addMessage(redirectAttributes, "保存推荐商品成功");
         return "redirect:" + Global.getAdminPath() + "/newhome/newActivity/?repage";
     }
@@ -220,6 +215,7 @@ public class NewActivityController extends BaseController {
     @RequestMapping(value = "updateActivity")
     public String updateActivity(Product product,RedirectAttributes redirectAttributes) {
         productService.updateActive(product);
+        cleanRedisCache();
         addMessage(redirectAttributes, "保存推荐商品成功");
         return "redirect:" + Global.getAdminPath() + "/newhome/newActivity/?repage";
     }
@@ -235,6 +231,7 @@ public class NewActivityController extends BaseController {
             returnUrl = "/newhome/newActivity/groupList?repage";
         }
         productService.deleteActive(product);
+        cleanRedisCache();
         addMessage(redirectAttributes, "删除推荐成功");
         return "redirect:"+Global.getAdminPath()+returnUrl;
     }
@@ -265,4 +262,18 @@ public class NewActivityController extends BaseController {
         model.addAttribute("product", product);
         return "modules/newhome/updateActivityForm";
     }
-}
+
+
+    /**
+     * 有数据变动时需要清除缓存
+     */
+    public void cleanRedisCache() {
+        //首页缓存
+        String homeData = "getHomeData*";
+        redisService.removePattern(homeData);
+        // 重新生成静态首页
+        generateUtils.generateHome();
+        redisService.removePattern("getHomeCommodityData*");
+    }
+
+}

+ 6 - 1
src/main/java/com/caimei/modules/newhome/web/NewPageFirstNavigationController.java

@@ -4,6 +4,7 @@ import com.caimei.constants.common.RedisKeyUtil;
 import com.caimei.modules.miniprogram.utils.UploadPicUtils;
 import com.caimei.modules.newhome.entity.NewPageFirstNavigation;
 import com.caimei.modules.newhome.service.NewPageFirstNavigationService;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.caimei.redis.RedisService;
 import com.google.common.collect.Maps;
 import com.thinkgem.jeesite.common.config.Global;
@@ -12,6 +13,7 @@ import com.thinkgem.jeesite.common.utils.StringUtils;
 import com.thinkgem.jeesite.common.web.BaseController;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.ModelAttribute;
@@ -45,7 +47,8 @@ public class NewPageFirstNavigationController extends BaseController {
 
     @Resource
     private RedisService redisService;
-
+    @Resource
+    private GenerateUtils generateUtils;
     @ModelAttribute
     public NewPageFirstNavigation get(@RequestParam(required = false) String id) {
         NewPageFirstNavigation entity = null;
@@ -202,5 +205,7 @@ public class NewPageFirstNavigationController extends BaseController {
         //首页导航栏缓存
         String getNavMenu = "getNavMenu*";
         redisService.removePattern(getNavMenu);
+        // 重新生成静态首页
+        generateUtils.generateHome();
     }
 }

+ 9 - 1
src/main/java/com/caimei/modules/newhome/web/NewPageFloorController.java

@@ -4,6 +4,7 @@ import com.caimei.modules.newhome.entity.NewPageFloor;
 import com.caimei.modules.newhome.entity.NewPageFloorContent;
 import com.caimei.modules.newhome.entity.NewPageFloorImage;
 import com.caimei.modules.newhome.service.NewPageFloorService;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.caimei.modules.product.entity.Product;
 import com.caimei.modules.product.service.ProductService;
 import com.caimei.redis.RedisService;
@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Map;
@@ -47,6 +49,9 @@ public class NewPageFloorController extends BaseController {
     @Autowired
     private RedisService redisService;
 
+    @Resource
+    private GenerateUtils generateUtils;
+
     @ModelAttribute
     public NewPageFloor get(@RequestParam(required = false) String id) {
         NewPageFloor entity = null;
@@ -318,5 +323,8 @@ public class NewPageFloorController extends BaseController {
         //首页缓存
         String homeData = "getHomeData*";
         redisService.removePattern(homeData);
+        // 重新生成静态首页
+        generateUtils.generateHome();
+        redisService.removePattern("getHomeCommodityData*");
     }
-}
+}

+ 10 - 5
src/main/java/com/caimei/modules/newhome/web/NewPageFriendshipLinkController.java

@@ -1,8 +1,10 @@
 package com.caimei.modules.newhome.web;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.caimei.redis.RedisService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,7 +36,8 @@ public class NewPageFriendshipLinkController extends BaseController {
 
 	@Autowired
 	private RedisService redisService;
-	
+    @Resource
+    private GenerateUtils generateUtils;
 	@ModelAttribute
 	public NewPageFriendshipLink get(@RequestParam(required=false) String id) {
 		NewPageFriendshipLink entity = null;
@@ -46,11 +49,11 @@ public class NewPageFriendshipLinkController extends BaseController {
 		}
 		return entity;
 	}
-	
+
 	@RequiresPermissions("newhome:newPageFriendshipLink:view")
 	@RequestMapping(value = {"list", ""})
 	public String list(NewPageFriendshipLink newPageFriendshipLink, HttpServletRequest request, HttpServletResponse response, Model model) {
-		Page<NewPageFriendshipLink> page = newPageFriendshipLinkService.findPage(new Page<NewPageFriendshipLink>(request, response), newPageFriendshipLink); 
+		Page<NewPageFriendshipLink> page = newPageFriendshipLinkService.findPage(new Page<NewPageFriendshipLink>(request, response), newPageFriendshipLink);
 		model.addAttribute("page", page);
 		return "modules/newhome/newPageFriendshipLinkList";
 	}
@@ -73,7 +76,7 @@ public class NewPageFriendshipLinkController extends BaseController {
 		addMessage(redirectAttributes, "保存新友情链接成功");
 		return "redirect:"+Global.getAdminPath()+"/newhome/newPageFriendshipLink/?repage";
 	}
-	
+
 	@RequiresPermissions("newhome:newPageFriendshipLink:delete")
 	@RequestMapping(value = "delete")
 	public String delete(NewPageFriendshipLink newPageFriendshipLink, RedirectAttributes redirectAttributes) {
@@ -92,5 +95,7 @@ public class NewPageFriendshipLinkController extends BaseController {
 		if (redisService.exists(getFriendLinks)) {
 			redisService.remove(getFriendLinks);
 		}
+        // 重新生成静态首页
+        generateUtils.generateHome();
 	}
-}
+}

+ 6 - 2
src/main/java/com/caimei/modules/newhome/web/NewPageHomeimageController.java

@@ -3,6 +3,7 @@ package com.caimei.modules.newhome.web;
 import com.caimei.constants.common.RedisKeyUtil;
 import com.caimei.modules.newhome.entity.NewPageHomeimage;
 import com.caimei.modules.newhome.service.NewPageHomeimageService;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.caimei.redis.RedisService;
 import com.google.common.collect.Maps;
 import com.thinkgem.jeesite.common.config.Global;
@@ -38,7 +39,8 @@ public class NewPageHomeimageController extends BaseController {
     private RedisService redisService;
     @Autowired
     private NewPageHomeimageService newPageHomeimageService;
-
+    @Resource
+    private GenerateUtils generateUtils;
     @ModelAttribute
     public NewPageHomeimage get(@RequestParam(required = false) String id) {
         NewPageHomeimage entity = null;
@@ -139,7 +141,9 @@ public class NewPageHomeimageController extends BaseController {
             if (redisService.exists(crm)) {
                 redisService.remove(crm);
             }
+            // 重新生成静态首页
+            generateUtils.generateHome();
         }
     }
 
-}
+}

+ 18 - 12
src/main/java/com/caimei/modules/newhome/web/NewPageQualitySupplierController.java

@@ -1,10 +1,12 @@
 package com.caimei.modules.newhome.web;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.caimei.constants.common.RedisKeyUtil;
 import com.caimei.modules.newhome.entity.NewPageQualitySupplierImage;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.caimei.modules.product.entity.CmBigtype;
 import com.caimei.redis.RedisService;
 import com.google.common.collect.Maps;
@@ -44,7 +46,8 @@ public class NewPageQualitySupplierController extends BaseController {
 
 	@Autowired
 	private RedisService redisService;
-	
+    @Resource
+    private GenerateUtils generateUtils;
 	@ModelAttribute
 	public NewPageQualitySupplier get(@RequestParam(required=false) String id) {
 		NewPageQualitySupplier entity = null;
@@ -56,7 +59,7 @@ public class NewPageQualitySupplierController extends BaseController {
 		}
 		return entity;
 	}
-	
+
 	@RequiresPermissions("newhome:newPageQualitySupplier:view")
 	@RequestMapping(value = {"list", ""})
 	public String list(NewPageQualitySupplier newPageQualitySupplier, HttpServletRequest request, HttpServletResponse response, Model model) {
@@ -167,7 +170,7 @@ public class NewPageQualitySupplierController extends BaseController {
 		addMessage(redirectAttributes, "保存优质供应商成功");
 		return "redirect:"+Global.getAdminPath()+"/newhome/newPageQualitySupplier/?repage";
 	}
-	
+
 	@RequiresPermissions("newhome:newPageQualitySupplier:delete")
 	@RequestMapping(value = "delete")
 	public String delete(NewPageQualitySupplier newPageQualitySupplier, RedirectAttributes redirectAttributes) {
@@ -212,12 +215,15 @@ public class NewPageQualitySupplierController extends BaseController {
 		return map;
 	}
 
-	/**
-	 * 有数据变动时需要清除缓存
-	 */
-	public void cleanRedisCache() {
-		//首页缓存
-		String homeData = "getHomeData*";
-		redisService.removePattern(homeData);
-	}
-}
+    /**
+     * 有数据变动时需要清除缓存
+     */
+    public void cleanRedisCache() {
+        //首页缓存
+        String homeData = "getHomeData*";
+        redisService.removePattern(homeData);
+        // 重新生成静态首页
+        generateUtils.generateHome();
+        redisService.removePattern("getHomeCommodityData*");
+    }
+}

+ 25 - 0
src/main/java/com/caimei/modules/opensearch/GenerateUtils.java

@@ -0,0 +1,25 @@
+package com.caimei.modules.opensearch;
+
+import com.thinkgem.jeesite.common.config.Global;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * www静态页面生成utils
+ *
+ * @author : Charles
+ * @date : 2021/5/10
+ */
+public class GenerateUtils {
+
+    public void generateHome(){
+        // 获取www服务器地址
+        String wwwServer = Global.getConfig("wwwServer");
+        RestTemplate restTemplate = new RestTemplate();
+        String uri = wwwServer + "/generate/home";
+        // 发起Post请求
+        String result = restTemplate.postForObject(uri, null, String.class);
+        System.out.println("生成www静态首页:" + result);
+    }
+
+
+}