Parcourir la source

homepage recommend

丁云鹏 il y a 1 an
Parent
commit
76592f7231

+ 5 - 0
recommend-server-client/pom.xml

@@ -23,6 +23,11 @@
             <artifactId>protobuf-java</artifactId>
             <version>3.12.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.24</version>
+        </dependency>
     </dependencies>
     <build>
         <extensions>

+ 54 - 0
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/client/RecommendClient.java

@@ -0,0 +1,54 @@
+package com.tzld.piaoquan.recommend.server.client;
+
+import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendRequest;
+import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendResponse;
+import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendServiceGrpc;
+import com.tzld.piaoquan.recommend.server.gen.recommend.VideoProto;
+import lombok.extern.slf4j.Slf4j;
+import net.devh.boot.grpc.client.inject.GrpcClient;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author dyp
+ */
+@Component
+@Slf4j
+public class RecommendClient {
+    @GrpcClient("recommend-server")
+    private RecommendServiceGrpc.RecommendServiceBlockingStub client;
+
+    public List<VideoProto> homepageRecommend(RecommendRequest request, long duration, TimeUnit unit) {
+
+        RecommendResponse response = client.homepageRecommend(request);
+        if (response == null
+                || !response.hasResult()) {
+            log.info("homepageRecommend grpc error");
+            return Collections.emptyList();
+        }
+        if (response.getResult().getCode() != 1) {
+            log.info("homepageRecommend grpc code={}, msg={}", response.getResult().getCode(),
+                    response.getResult().getMessage());
+            return Collections.emptyList();
+        }
+        return response.getVideoCount() > 0 ? response.getVideoList() : Collections.emptyList();
+    }
+
+    public List<VideoProto> relevantRecommend(RecommendRequest request) {
+        RecommendResponse response = client.relevantRecommend(request);
+        if (response == null
+                || !response.hasResult()) {
+            log.info("relevantRecommend grpc error");
+            return Collections.emptyList();
+        }
+        if (response.getResult().getCode() != 1) {
+            log.info("relevantRecommend grpc code={}, msg={}", response.getResult().getCode(),
+                    response.getResult().getMessage());
+            return Collections.emptyList();
+        }
+        return response.getVideoCount() > 0 ? response.getVideoList() : Collections.emptyList();
+    }
+}