|
@@ -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";
|