|
@@ -0,0 +1,41 @@
|
|
|
+package com.tzld.piaoquan.recommend.server.client;
|
|
|
+
|
|
|
+import com.tzld.piaoquan.recommend.server.gen.model.ModelServiceGrpc;
|
|
|
+import com.tzld.piaoquan.recommend.server.gen.model.ScoreRequest;
|
|
|
+import com.tzld.piaoquan.recommend.server.gen.model.ScoreResponse;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import net.devh.boot.grpc.client.inject.GrpcClient;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+
|
|
|
+ * @author dyp
|
|
|
+ */
|
|
|
+@Component
|
|
|
+@Slf4j
|
|
|
+public class ModelClient {
|
|
|
+ @GrpcClient("recommend-server")
|
|
|
+ private ModelServiceGrpc.ModelServiceBlockingStub client;
|
|
|
+
|
|
|
+ public Map<String, Double> getUserFeature(long videoId, String mid, String uid, String city, String province) {
|
|
|
+ ScoreRequest request = ScoreRequest.newBuilder()
|
|
|
+ .setVideoId(videoId)
|
|
|
+ .setMid(mid)
|
|
|
+ .setUid(uid)
|
|
|
+ .setCity(city)
|
|
|
+ .setProvince(province)
|
|
|
+ .build();
|
|
|
+ ScoreResponse response = client.score(request);
|
|
|
+ if (response == null || !response.hasResult()) {
|
|
|
+ log.info("score grpc error");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (response.getResult().getCode() != 1) {
|
|
|
+ log.info("score grpc code={}, msg={}", response.getResult().getCode(),
|
|
|
+ response.getResult().getMessage());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return response.getScoreMap();
|
|
|
+ }
|
|
|
+}
|