Ver código fonte

商品列表排序规则优化

chao 3 anos atrás
pai
commit
f0092fcad1

+ 8 - 0
pom.xml

@@ -50,6 +50,14 @@
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-openfeign</artifactId>
+        </dependency>
         <!-- mysql -->
         <dependency>
             <groupId>mysql</groupId>

+ 4 - 0
src/main/java/com/caimei365/tools/ToolsApplication.java

@@ -2,11 +2,15 @@ package com.caimei365.tools;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 /**
  * @author Charles
  */
+@EnableDiscoveryClient
 @SpringBootApplication
+@EnableFeignClients(basePackages = {"com.caimei365.tools.feign"})
 public class ToolsApplication {
 
     public static void main(String[] args) {

+ 21 - 0
src/main/java/com/caimei365/tools/feign/CommodityFeign.java

@@ -0,0 +1,21 @@
+package com.caimei365.tools.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/12/30
+ */
+@FeignClient("CAIMEI365-CLOUD-COMMODITY")
+public interface CommodityFeign {
+    /**
+     * 更新商品搜索索引
+     * @param productId 商品id
+     */
+    @PostMapping("/commodity/search/index/update/product")
+    String updateProductIndex(@RequestParam Integer productId);
+}

+ 6 - 0
src/main/java/com/caimei365/tools/task/StatisticsTask.java

@@ -1,5 +1,6 @@
 package com.caimei365.tools.task;
 
+import com.caimei365.tools.feign.CommodityFeign;
 import com.caimei365.tools.mapper.BaseMapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -32,6 +33,8 @@ public class StatisticsTask {
     private BaseMapper baseMapper;
     @Resource
     private RedisTemplate<String,String> redisTemplate;
+    @Resource
+    private CommodityFeign commodityFeign;
     /**
      * 每天凌晨3点执行一次统计前一天商品访问量
      * <p>
@@ -62,7 +65,10 @@ public class StatisticsTask {
                     if (null != entry && StringUtils.isNotEmpty(entry.getKey()) && StringUtils.isNotEmpty(entry.getValue())) {
                         Integer productId = Integer.parseInt(entry.getKey());
                         Integer views = Integer.parseInt(entry.getValue());
+                        // 保存当前商品前一天商品详情访问量
                         baseMapper.insertProductViews(productId, views, viewTime);
+                        // 更新当前商品阿里云索引
+                        commodityFeign.updateProductIndex(productId);
                     }
                 }
             }