Explorar o código

Merge remote-tracking branch 'origin/developer' into developer

Aslee %!s(int64=4) %!d(string=hai) anos
pai
achega
7dc1a1e04e

+ 28 - 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,19 @@ public class NewActivityController extends BaseController {
         model.addAttribute("product", product);
         return "modules/newhome/updateActivityForm";
     }
-}
+
+
+    /**
+     * 有数据变动时需要清除缓存
+     */
+    public void cleanRedisCache() {
+        //首页缓存
+        String homeData = "getHomeData*";
+        redisService.removePattern(homeData);
+        redisService.removePattern("getHomeCommodityData*");
+        // 重新生成静态首页
+        generateUtils.generateHome();
+
+    }
+
+}

+ 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();
     }
 }

+ 10 - 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,9 @@ public class NewPageFloorController extends BaseController {
         //首页缓存
         String homeData = "getHomeData*";
         redisService.removePattern(homeData);
+        redisService.removePattern("getHomeCommodityData*");
+        // 重新生成静态首页
+        generateUtils.generateHome();
+
     }
-}
+}

+ 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();
         }
     }
 
-}
+}

+ 19 - 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,16 @@ 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);
+        redisService.removePattern("getHomeCommodityData*");
+        // 重新生成静态首页
+        generateUtils.generateHome();
+
+    }
+}

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

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

+ 16 - 0
src/main/java/com/caimei/modules/product/web/CmSecondHandDetailController.java

@@ -14,6 +14,7 @@ import com.caimei.modules.product.service.CmSecondHandTransactionService;
 import com.caimei.modules.product.service.ProductNewService;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.po.ProductImage;
+import com.caimei.redis.RedisService;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.utils.Encodes;
@@ -60,6 +61,8 @@ public class CmSecondHandDetailController extends BaseController {
     private ProductNewService productNewService;
     @Autowired
     private ProductNewDao productNewDao;
+    @Autowired
+    private RedisService redisService;
 
     @ModelAttribute
     public CmSecondHandDetail get(@RequestParam(required = false) String id) {
@@ -357,6 +360,8 @@ public class CmSecondHandDetailController extends BaseController {
             redirectAttributes.addAttribute("searchBrandID", cmSecondHandDetail.getSearchBrandID());
             redirectAttributes.addAttribute("searchPreferredFlag", cmSecondHandDetail.getSearchPreferredFlag());
         }
+        // 有数据变动时需要清除缓存
+        cleanRedisCache();
         return "redirect:" + Global.getAdminPath() + "/product/new/list?searchProductCategory=2";
     }
 
@@ -402,7 +407,18 @@ public class CmSecondHandDetailController extends BaseController {
     public String delete(CmSecondHandDetail cmSecondHandDetail, RedirectAttributes redirectAttributes) {
         cmSecondHandDetailService.delete(cmSecondHandDetail);
         addMessage(redirectAttributes, "删除成功");
+        // 有数据变动时需要清除缓存
+        cleanRedisCache();
         return "redirect:" + Global.getAdminPath() + "/product/cmSecondHandDetail/?repage";
     }
 
+    /**
+     * 有数据变动时需要清除缓存
+     */
+    public void cleanRedisCache() {
+        // 首页缓存
+        String homeData = "getHomeData*";
+        redisService.removePattern(homeData);
+        redisService.removePattern("getHomeCommodityData*");
+    }
 }

+ 18 - 3
src/main/java/com/caimei/modules/product/web/ProductNewController.java

@@ -12,6 +12,7 @@ import com.caimei.modules.user.entity.CmUserOrganize;
 import com.caimei.modules.user.service.CmUserOrganizeService;
 import com.caimei.po.ProductImage;
 import com.caimei.po.ProductLadderPrice;
+import com.caimei.redis.RedisService;
 import com.caimei.utils.AppUtils;
 import com.caimei.vo.JsonModel;
 import com.google.common.collect.Maps;
@@ -69,6 +70,8 @@ public class ProductNewController extends BaseController {
     private CmBrandService cmBrandService;
     @Resource
     private CmSecondHandDetailService cmSecondHandDetailService;
+    @Autowired
+    private RedisService redisService;
 
     @ModelAttribute
     public Product get(@RequestParam(required = false) String id) {
@@ -324,7 +327,6 @@ public class ProductNewController extends BaseController {
         addMessage(redirectAttributes, "保存商品成功");
         // 更新索引
         searchUitls.updateProductIndex(product.getProductID());
-
         String editFlag = product.getEditFlag();
         if (StringUtils.equals("1", editFlag)) {
             redirectAttributes.addAttribute("id", product.getId());
@@ -342,7 +344,8 @@ public class ProductNewController extends BaseController {
             redirectAttributes.addAttribute("searchPreferredFlag", product.getSearchPreferredFlag());
             redirectAttributes.addAttribute("searchProductCategory", product.getSearchProductCategory());
         }
-
+        // 有数据变动时需要清除缓存
+        cleanRedisCache();
         return "redirect:" + Global.getAdminPath() + "/product/new/list/";
     }
 
@@ -475,6 +478,8 @@ public class ProductNewController extends BaseController {
         redirectAttributes.addAttribute("searchBrandID", product.getSearchBrandID());
         redirectAttributes.addAttribute("searchPreferredFlag", product.getSearchPreferredFlag());
         redirectAttributes.addAttribute("searchProductCategory", product.getSearchProductCategory());
+        // 有数据变动时需要清除缓存
+        cleanRedisCache();
         return "redirect:" + Global.getAdminPath() + "/product/new/list/";
     }
 
@@ -595,6 +600,8 @@ public class ProductNewController extends BaseController {
             map.put("msg", "操作成功");
             // 更新索引
             searchUitls.updateProductIndex(productID);
+            // 有数据变动时需要清除缓存
+            cleanRedisCache();
         } catch (Exception e) {
             logger.debug(e.toString(), e);
             map.put("success", false);
@@ -851,6 +858,14 @@ public class ProductNewController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/product/new/recommend?id=" + productID;
     }
 
-
+    /**
+     * 有数据变动时需要清除缓存
+     */
+    public void cleanRedisCache() {
+        // 首页缓存
+        String homeData = "getHomeData*";
+        redisService.removePattern(homeData);
+        redisService.removePattern("getHomeCommodityData*");
+    }
 }