瀏覽代碼

homepage recommend

丁云鹏 1 年之前
父節點
當前提交
8c31c83224

+ 118 - 0
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/client/RecommendHttpRequest.java

@@ -0,0 +1,118 @@
+package com.tzld.piaoquan.recommend.server.client;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author dyp
+ */
+public class RecommendHttpRequest {
+    private String requestId;
+    private String mid;
+    private String uid;
+    private int size;
+    private int appType;
+    private String cityCode;
+    private String provinceCode;
+    private List<String> abExpCodes;
+    private Map<String, String> eventIdMap;
+    private int versionAuditStatus;
+    private String recommendTraceId;
+    private long videoId;
+
+    public String getRequestId() {
+        return requestId;
+    }
+
+    public void setRequestId(String requestId) {
+        this.requestId = requestId;
+    }
+
+    public String getMid() {
+        return mid;
+    }
+
+    public void setMid(String mid) {
+        this.mid = mid;
+    }
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+
+    public int getSize() {
+        return size;
+    }
+
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    public int getAppType() {
+        return appType;
+    }
+
+    public void setAppType(int appType) {
+        this.appType = appType;
+    }
+
+    public String getCityCode() {
+        return cityCode;
+    }
+
+    public void setCityCode(String cityCode) {
+        this.cityCode = cityCode;
+    }
+
+    public String getProvinceCode() {
+        return provinceCode;
+    }
+
+    public void setProvinceCode(String provinceCode) {
+        this.provinceCode = provinceCode;
+    }
+
+    public List<String> getAbExpCodes() {
+        return abExpCodes;
+    }
+
+    public void setAbExpCodes(List<String> abExpCodes) {
+        this.abExpCodes = abExpCodes;
+    }
+
+    public Map<String, String> getEventIdMap() {
+        return eventIdMap;
+    }
+
+    public void setEventIdMap(Map<String, String> eventIdMap) {
+        this.eventIdMap = eventIdMap;
+    }
+
+    public int getVersionAuditStatus() {
+        return versionAuditStatus;
+    }
+
+    public void setVersionAuditStatus(int versionAuditStatus) {
+        this.versionAuditStatus = versionAuditStatus;
+    }
+
+    public String getRecommendTraceId() {
+        return recommendTraceId;
+    }
+
+    public void setRecommendTraceId(String recommendTraceId) {
+        this.recommendTraceId = recommendTraceId;
+    }
+
+    public long getVideoId() {
+        return videoId;
+    }
+
+    public void setVideoId(long videoId) {
+        this.videoId = videoId;
+    }
+}

+ 5 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/RecommendService.java

@@ -89,6 +89,11 @@ public class RecommendService {
     }
 
     public RecommendResponse recommend(RecommendRequest request, int recommendType) {
+        if (request == null) {
+            return RecommendResponse.newBuilder()
+                    .setResult(Result.newBuilder().setCode(1).setMessage("success"))
+                    .build();
+        }
         if (request.getVersionAuditStatus() == 1) {
             return specialMidRecommend(request);
         }

+ 35 - 4
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/web/RecommendController.java

@@ -1,9 +1,13 @@
 package com.tzld.piaoquan.recommend.server.web;
 
+import com.google.common.base.Strings;
+import com.tzld.piaoquan.recommend.server.client.RecommendHttpRequest;
 import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendRequest;
 import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendResponse;
 import com.tzld.piaoquan.recommend.server.service.RecommendService;
 import com.tzld.piaoquan.recommend.server.util.JSONUtils;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter;
@@ -26,17 +30,44 @@ public class RecommendController {
     }
 
     @RequestMapping("/homepage/recommend")
-    public String homepageRecommend(@RequestBody RecommendRequest request) {
-        RecommendResponse response = recommendService.homepageRecommend(request);
+    public String homepageRecommend(@RequestBody RecommendHttpRequest httpRequest) {
+        RecommendResponse response = recommendService.homepageRecommend(generate(httpRequest));
         return JSONUtils.toJson(response);
     }
 
     @RequestMapping("/relevant/recommend")
-    public String relevantRecommend(@RequestBody RecommendRequest request) {
-        RecommendResponse response = recommendService.relevantRecommend(request);
+    public String relevantRecommend(@RequestBody RecommendHttpRequest httpRequest) {
+        RecommendResponse response = recommendService.relevantRecommend(generate(httpRequest));
         return JSONUtils.toJson(response);
     }
 
+    private RecommendRequest generate(RecommendHttpRequest httpRequest) {
+        if (httpRequest == null) {
+            return null;
+        }
+        RecommendRequest.Builder builder = RecommendRequest.newBuilder();
+
+        builder.setRequestId(Strings.nullToEmpty(httpRequest.getRequestId()))
+                .setMid(Strings.nullToEmpty(httpRequest.getMid()))
+                .setUid(Strings.nullToEmpty(httpRequest.getUid()))
+                .setSize(httpRequest.getSize())
+                .setAppType(httpRequest.getAppType())
+                .setCityCode(Strings.nullToEmpty(httpRequest.getCityCode()))
+                .setProvinceCode(Strings.nullToEmpty(httpRequest.getProvinceCode()))
+                .setVersionAuditStatus(httpRequest.getVersionAuditStatus())
+                .setRecommendTraceId(Strings.nullToEmpty(httpRequest.getRecommendTraceId()))
+                .setVideoId(httpRequest.getVideoId());
+
+        if (CollectionUtils.isNotEmpty(httpRequest.getAbExpCodes())) {
+            builder.addAllAbExpCode(httpRequest.getAbExpCodes());
+        }
+        if (MapUtils.isNotEmpty(httpRequest.getEventIdMap())) {
+            builder.putAllEventId(httpRequest.getEventIdMap());
+        }
+
+        return builder.build();
+    }
+
     @GetMapping("/ok")
     public String ok() {
         return "ok";