Ver código fonte

采美百科产品仪器静态页生成

Aslee 3 anos atrás
pai
commit
97722524a8

+ 1 - 1
src/main/java/com/caimei/modules/baike/dao/CmBaikeProductDao.java

@@ -46,5 +46,5 @@ public interface CmBaikeProductDao extends CrudDao<CmBaikeProduct> {
 
     void insertProductQuestion(@Param("question") String question,@Param("answer") String answer,@Param("productId") String productId);
 
-    Integer findTopLength(Integer commodityType);
+    Integer findTopLength();
 }

+ 17 - 1
src/main/java/com/caimei/modules/baike/web/CmBaikeProductController.java

@@ -10,6 +10,7 @@ import com.caimei.modules.baike.entity.CmBaikeProductQuestion;
 import com.caimei.modules.baike.entity.CmBaikeType;
 import com.caimei.modules.baike.service.CmBaikeTypeService;
 import com.caimei.modules.info.entity.Info;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.google.common.collect.Maps;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -48,6 +49,9 @@ public class CmBaikeProductController extends BaseController {
 
 	@Resource
     private CmBaikeProductDao cmBaikeProductDao;
+
+	@Resource
+	private GenerateUtils generateUtils;
 	
 	@ModelAttribute
 	public CmBaikeProduct get(@RequestParam(required=false) String id) {
@@ -69,7 +73,7 @@ public class CmBaikeProductController extends BaseController {
         List<CmBaikeType> typeList = cmBaikeTypeService.findList(cmBaikeType);
         String commodityType = cmBaikeProduct.getCommodityType() == 1 ? "产品" : "仪器";
 		// 置顶数量
-		Integer topLength = cmBaikeProductDao.findTopLength(cmBaikeProduct.getCommodityType());
+		Integer topLength = cmBaikeProductDao.findTopLength();
 		model.addAttribute("page", page);
 		model.addAttribute("typeList", typeList);
 		model.addAttribute("commodityType", commodityType);
@@ -110,6 +114,7 @@ public class CmBaikeProductController extends BaseController {
 		}
 		cmBaikeProductService.save(cmBaikeProduct);
 		addMessage(redirectAttributes, "保存产品成功");
+		cleanRedisCache();
         return "redirect:" + Global.getAdminPath() + "/baike/cmBaikeProduct/?repage&commodityType=" + cmBaikeProduct.getCommodityType();
 	}
 	
@@ -117,6 +122,7 @@ public class CmBaikeProductController extends BaseController {
 	public String delete(CmBaikeProduct cmBaikeProduct, RedirectAttributes redirectAttributes) {
 		cmBaikeProductService.delete(cmBaikeProduct);
 		addMessage(redirectAttributes, "删除产品成功");
+		cleanRedisCache();
         return "redirect:" + Global.getAdminPath() + "/baike/cmBaikeProduct/?repage&commodityType=" + cmBaikeProduct.getCommodityType();
 	}
 
@@ -127,6 +133,7 @@ public class CmBaikeProductController extends BaseController {
         cmBaikeProductDao.updateStatus(status, productId);
         result.put("success", true);
         result.put("msg", (status == 1 ? "启用" : "停用") + "成功");
+		cleanRedisCache();
         return result;
     }
 
@@ -172,4 +179,13 @@ public class CmBaikeProductController extends BaseController {
 		}
 		return map;
 	}
+
+	/**
+	 * 有数据变动时需要清除缓存
+	 */
+	public void cleanRedisCache() {
+		// 重新生成采美百科产品仪器页
+		generateUtils.generateBaikePage(1);
+		generateUtils.generateBaikePage(2);
+	}
 }

+ 17 - 0
src/main/java/com/caimei/modules/baike/web/CmBaikeTypeController.java

@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.caimei.modules.baike.dao.CmBaikeTypeDao;
+import com.caimei.modules.opensearch.GenerateUtils;
 import com.google.common.collect.Maps;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +43,9 @@ public class CmBaikeTypeController extends BaseController {
 
 	@Resource
 	private CmBaikeTypeDao cmBaikeTypeDao;
+
+	@Resource
+	private GenerateUtils generateUtils;
 	
 	@ModelAttribute
 	public CmBaikeType get(@RequestParam(required=false) String id) {
@@ -75,6 +79,7 @@ public class CmBaikeTypeController extends BaseController {
 		}
 		cmBaikeTypeService.save(cmBaikeType);
 		addMessage(redirectAttributes, "保存分类成功");
+		cleanRedisCache();
 		return "redirect:" + Global.getAdminPath() + "/baike/cmBaikeType/?repage&typeSort=" + cmBaikeType.getTypeSort();
 	}
 	
@@ -82,6 +87,7 @@ public class CmBaikeTypeController extends BaseController {
 	public String delete(CmBaikeType cmBaikeType, RedirectAttributes redirectAttributes) {
 		cmBaikeTypeService.delete(cmBaikeType);
 		addMessage(redirectAttributes, "删除分类成功");
+		cleanRedisCache();
 		return "redirect:" + Global.getAdminPath() + "/baike/cmBaikeType/?repage&typeSort=" + cmBaikeType.getTypeSort();
 	}
 
@@ -93,6 +99,7 @@ public class CmBaikeTypeController extends BaseController {
 		cmBaikeTypeDao.updateStatus(status, typeId);
 		result.put("success", true);
 		result.put("msg", (status == 1 ? "启用" : "停用") + "分类成功");
+		cleanRedisCache();
 		return result;
 	}
 
@@ -128,6 +135,7 @@ public class CmBaikeTypeController extends BaseController {
 					}
 				}
 			}
+			cleanRedisCache();
 			map.put("success", true);
 			map.put("msg", "更新排序成功");
 			return map;
@@ -138,4 +146,13 @@ public class CmBaikeTypeController extends BaseController {
 		}
 	}
 
+
+	/**
+	 * 有数据变动时需要清除缓存
+	 */
+	public void cleanRedisCache() {
+		// 重新生成采美百科产品仪器页
+		generateUtils.generateBaikePage(1);
+		generateUtils.generateBaikePage(2);
+	}
 }

+ 5 - 2
src/main/java/com/caimei/modules/info/web/InfoController.java

@@ -81,7 +81,8 @@ public class InfoController extends BaseController {
 				 }
 			}
 		}
-		List<InfoType> typeList = infoTypeService.findList(new InfoType());
+		InfoType infoType = new InfoType();
+		List<InfoType> typeList = infoTypeService.findList(infoType);
 		List<Info> topList = infoService.findTopList();
 		model.addAttribute("topLength", topList.size());
 		model.addAttribute("typeList", typeList);
@@ -122,7 +123,9 @@ public class InfoController extends BaseController {
 			info.setEnabledStatus("1");
 			info.setPubdate(new Date());
 		}
-		List<InfoType> typeList = infoTypeService.findList(new InfoType());
+		InfoType infoType = new InfoType();
+		infoType.setEnabledStatus("1");
+		List<InfoType> typeList = infoTypeService.findList(infoType);
 		model.addAttribute("typeList", typeList);
 		model.addAttribute("info", info);
 		model.addAttribute("ltype", ltype);

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

@@ -65,6 +65,25 @@ public class GenerateUtils {
         }
     }
 
+    /**
+     * 生成www静态采美百科产品仪器页面
+     */
+    public void generateBaikePage(Integer commodityType){
+        try {
+            // 获取www服务器地址
+            String wwwServer = Global.getConfig("wwwServer");
+            RestTemplate restTemplate = new RestTemplate();
+            MultiValueMap<String, Integer> paramMap = new LinkedMultiValueMap<>();
+            String uri = wwwServer + "/generate/baike/page?commodityType="+commodityType;
+            // 发起Post请求
+            String result = restTemplate.postForObject(uri, paramMap, String.class);
+            logger.info("生成www静态产品仪器页面:" + result);
+        }  catch (Exception e) {
+            logger.info("生成www静态产品仪器页面失败!");
+            logger.error(e.toString(), e);
+        }
+    }
+
     /**
      * 百度链接实时推送
      */

+ 1 - 1
src/main/resources/config/dev/caimei.properties

@@ -148,7 +148,7 @@ photoServer=http\://192.168.2.100/
 server=http\://192.168.2.100/
 #admin2server=http\://localhost:8081/
 admin2Server=http\://admin2.caimei365.com/
-wwwServer=https://www.caimei365.com/
+wwwServer=http://localhost:8009/
 bServer=http\://btest.365mdd.com/
 
 #CRM\u5730\u5740

+ 1 - 1
src/main/resources/mappings/modules/baike/CmBaikeProductMapper.xml

@@ -115,7 +115,7 @@
 		where productId = #{id}
 	</select>
 	<select id="findTopLength" resultType="java.lang.Integer">
-		select count(*) from cm_baike_product where commodityType = #{commodityType} and topPosition is not null and topPosition != ''
+		select count(*) from cm_baike_product where topPosition is not null and topPosition != ''
 	</select>
 
 	<insert id="insert" parameterType="CmBaikeProduct"  keyProperty="id" useGeneratedKeys="true">

+ 1 - 1
src/main/resources/mappings/modules/hehe/CmHeheCouponMapper.xml

@@ -107,7 +107,7 @@
 		WHERE
 			cca.couponId = #{couponId}
 		ORDER BY
-			- sort DESC
+			- cca.sort DESC
 	</select>
 	<select id="findAllUser" resultType="com.caimei.modules.user.entity.CmUser">
 		select id,userId as userID, nickName,mobile,userIdentity,openId as openID