Browse Source

Merge branch 'feature_newExp' of algorithm/recommend-server into master

dingyunpeng 1 year ago
parent
commit
4529f2a5ed

+ 1 - 1
recommend-server-client/pom.xml

@@ -10,7 +10,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>recommend-server-client</artifactId>
-    <version>1.0.1</version>
+    <version>1.0.2</version>
 
     <dependencies>
         <dependency>

+ 19 - 19
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/Recommend.java

@@ -51,7 +51,7 @@ public final class Recommend {
       "\n2com/tzld/piaoquan/recommend/server/rec" +
       "ommend.proto\032\031google/protobuf/any.proto\032" +
       "/com/tzld/piaoquan/recommend/server/comm" +
-      "on.proto\"\226\003\n\020RecommendRequest\022\022\n\nrequest" +
+      "on.proto\"\255\003\n\020RecommendRequest\022\022\n\nrequest" +
       "_id\030\001 \001(\t\022\013\n\003mid\030\002 \001(\t\022\013\n\003uid\030\003 \001(\t\022\014\n\004s" +
       "ize\030\004 \001(\005\022\020\n\010app_type\030\005 \001(\005\022\021\n\tcity_code" +
       "\030\006 \001(\t\022\025\n\rprovince_code\030\007 \001(\t\022\023\n\013ab_exp_" +
@@ -60,23 +60,23 @@ public final class Recommend {
       "atus\030\n \001(\005\022\032\n\022recommend_trace_id\030\013 \001(\t\022\020" +
       "\n\010video_id\030\014 \001(\003\022\014\n\004city\030\r \001(\t\022\020\n\010provin" +
       "ce\030\016 \001(\t\022\'\n\014machine_info\030\017 \001(\0132\021.Machine" +
-      "InfoProto\032.\n\014EventIdEntry\022\013\n\003key\030\001 \001(\t\022\r" +
-      "\n\005value\030\002 \001(\t:\0028\001\"\177\n\020MachineInfoProto\022\r\n" +
-      "\005brand\030\001 \001(\t\022\r\n\005model\030\002 \001(\t\022\020\n\010platform\030" +
-      "\003 \001(\t\022\023\n\013sdk_version\030\004 \001(\t\022\016\n\006system\030\005 \001" +
-      "(\t\022\026\n\016wechat_version\030\006 \001(\t\"H\n\021RecommendR" +
-      "esponse\022\027\n\006result\030\001 \001(\0132\007.Result\022\032\n\005vide" +
-      "o\030\002 \003(\0132\013.VideoProto\"\265\001\n\nVideoProto\022\020\n\010v" +
-      "ideo_id\030\001 \001(\003\022\021\n\trov_score\030\002 \001(\001\022\021\n\tpush" +
-      "_from\030\003 \001(\t\022\017\n\007ab_code\030\004 \001(\t\022\022\n\nsort_sco" +
-      "re\030\005 \001(\001\022\020\n\010position\030\006 \001(\005\022\021\n\tflow_pool\030" +
-      "\007 \001(\t\022\027\n\017is_in_flow_pool\030\010 \001(\005\022\014\n\004rand\030\t" +
-      " \001(\0012\212\001\n\020RecommendService\022:\n\021HomepageRec" +
-      "ommend\022\021.RecommendRequest\032\022.RecommendRes" +
-      "ponse\022:\n\021RelevantRecommend\022\021.RecommendRe" +
-      "quest\032\022.RecommendResponseB7\n0com.tzld.pi" +
-      "aoquan.recommend.server.gen.recommendP\001\210" +
-      "\001\001b\006proto3"
+      "InfoProto\022\025\n\rnew_exp_group\030\020 \001(\t\032.\n\014Even" +
+      "tIdEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" +
+      "\"\177\n\020MachineInfoProto\022\r\n\005brand\030\001 \001(\t\022\r\n\005m" +
+      "odel\030\002 \001(\t\022\020\n\010platform\030\003 \001(\t\022\023\n\013sdk_vers" +
+      "ion\030\004 \001(\t\022\016\n\006system\030\005 \001(\t\022\026\n\016wechat_vers" +
+      "ion\030\006 \001(\t\"H\n\021RecommendResponse\022\027\n\006result" +
+      "\030\001 \001(\0132\007.Result\022\032\n\005video\030\002 \003(\0132\013.VideoPr" +
+      "oto\"\265\001\n\nVideoProto\022\020\n\010video_id\030\001 \001(\003\022\021\n\t" +
+      "rov_score\030\002 \001(\001\022\021\n\tpush_from\030\003 \001(\t\022\017\n\007ab" +
+      "_code\030\004 \001(\t\022\022\n\nsort_score\030\005 \001(\001\022\020\n\010posit" +
+      "ion\030\006 \001(\005\022\021\n\tflow_pool\030\007 \001(\t\022\027\n\017is_in_fl" +
+      "ow_pool\030\010 \001(\005\022\014\n\004rand\030\t \001(\0012\212\001\n\020Recommen" +
+      "dService\022:\n\021HomepageRecommend\022\021.Recommen" +
+      "dRequest\032\022.RecommendResponse\022:\n\021Relevant" +
+      "Recommend\022\021.RecommendRequest\032\022.Recommend" +
+      "ResponseB7\n0com.tzld.piaoquan.recommend." +
+      "server.gen.recommendP\001\210\001\001b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -89,7 +89,7 @@ public final class Recommend {
     internal_static_RecommendRequest_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_RecommendRequest_descriptor,
-        new java.lang.String[] { "RequestId", "Mid", "Uid", "Size", "AppType", "CityCode", "ProvinceCode", "AbExpCode", "EventId", "VersionAuditStatus", "RecommendTraceId", "VideoId", "City", "Province", "MachineInfo", });
+        new java.lang.String[] { "RequestId", "Mid", "Uid", "Size", "AppType", "CityCode", "ProvinceCode", "AbExpCode", "EventId", "VersionAuditStatus", "RecommendTraceId", "VideoId", "City", "Province", "MachineInfo", "NewExpGroup", });
     internal_static_RecommendRequest_EventIdEntry_descriptor =
       internal_static_RecommendRequest_descriptor.getNestedTypes().get(0);
     internal_static_RecommendRequest_EventIdEntry_fieldAccessorTable = new

+ 138 - 0
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/RecommendRequest.java

@@ -25,6 +25,7 @@ private static final long serialVersionUID = 0L;
     recommendTraceId_ = "";
     city_ = "";
     province_ = "";
+    newExpGroup_ = "";
   }
 
   @java.lang.Override
@@ -161,6 +162,12 @@ private static final long serialVersionUID = 0L;
 
             break;
           }
+          case 130: {
+            java.lang.String s = input.readStringRequireUtf8();
+
+            newExpGroup_ = s;
+            break;
+          }
           default: {
             if (!parseUnknownField(
                 input, unknownFields, extensionRegistry, tag)) {
@@ -710,6 +717,44 @@ private static final long serialVersionUID = 0L;
     return getMachineInfo();
   }
 
+  public static final int NEW_EXP_GROUP_FIELD_NUMBER = 16;
+  private volatile java.lang.Object newExpGroup_;
+  /**
+   * <code>string new_exp_group = 16;</code>
+   * @return The newExpGroup.
+   */
+  @java.lang.Override
+  public java.lang.String getNewExpGroup() {
+    java.lang.Object ref = newExpGroup_;
+    if (ref instanceof java.lang.String) {
+      return (java.lang.String) ref;
+    } else {
+      com.google.protobuf.ByteString bs = 
+          (com.google.protobuf.ByteString) ref;
+      java.lang.String s = bs.toStringUtf8();
+      newExpGroup_ = s;
+      return s;
+    }
+  }
+  /**
+   * <code>string new_exp_group = 16;</code>
+   * @return The bytes for newExpGroup.
+   */
+  @java.lang.Override
+  public com.google.protobuf.ByteString
+      getNewExpGroupBytes() {
+    java.lang.Object ref = newExpGroup_;
+    if (ref instanceof java.lang.String) {
+      com.google.protobuf.ByteString b = 
+          com.google.protobuf.ByteString.copyFromUtf8(
+              (java.lang.String) ref);
+      newExpGroup_ = b;
+      return b;
+    } else {
+      return (com.google.protobuf.ByteString) ref;
+    }
+  }
+
   private byte memoizedIsInitialized = -1;
   @java.lang.Override
   public final boolean isInitialized() {
@@ -772,6 +817,9 @@ private static final long serialVersionUID = 0L;
     if (machineInfo_ != null) {
       output.writeMessage(15, getMachineInfo());
     }
+    if (!getNewExpGroupBytes().isEmpty()) {
+      com.google.protobuf.GeneratedMessageV3.writeString(output, 16, newExpGroup_);
+    }
     unknownFields.writeTo(output);
   }
 
@@ -843,6 +891,9 @@ private static final long serialVersionUID = 0L;
       size += com.google.protobuf.CodedOutputStream
         .computeMessageSize(15, getMachineInfo());
     }
+    if (!getNewExpGroupBytes().isEmpty()) {
+      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(16, newExpGroup_);
+    }
     size += unknownFields.getSerializedSize();
     memoizedSize = size;
     return size;
@@ -891,6 +942,8 @@ private static final long serialVersionUID = 0L;
       if (!getMachineInfo()
           .equals(other.getMachineInfo())) return false;
     }
+    if (!getNewExpGroup()
+        .equals(other.getNewExpGroup())) return false;
     if (!unknownFields.equals(other.unknownFields)) return false;
     return true;
   }
@@ -939,6 +992,8 @@ private static final long serialVersionUID = 0L;
       hash = (37 * hash) + MACHINE_INFO_FIELD_NUMBER;
       hash = (53 * hash) + getMachineInfo().hashCode();
     }
+    hash = (37 * hash) + NEW_EXP_GROUP_FIELD_NUMBER;
+    hash = (53 * hash) + getNewExpGroup().hashCode();
     hash = (29 * hash) + unknownFields.hashCode();
     memoizedHashCode = hash;
     return hash;
@@ -1127,6 +1182,8 @@ private static final long serialVersionUID = 0L;
         machineInfo_ = null;
         machineInfoBuilder_ = null;
       }
+      newExpGroup_ = "";
+
       return this;
     }
 
@@ -1178,6 +1235,7 @@ private static final long serialVersionUID = 0L;
       } else {
         result.machineInfo_ = machineInfoBuilder_.build();
       }
+      result.newExpGroup_ = newExpGroup_;
       onBuilt();
       return result;
     }
@@ -1285,6 +1343,10 @@ private static final long serialVersionUID = 0L;
       if (other.hasMachineInfo()) {
         mergeMachineInfo(other.getMachineInfo());
       }
+      if (!other.getNewExpGroup().isEmpty()) {
+        newExpGroup_ = other.newExpGroup_;
+        onChanged();
+      }
       this.mergeUnknownFields(other.unknownFields);
       onChanged();
       return this;
@@ -2439,6 +2501,82 @@ private static final long serialVersionUID = 0L;
       }
       return machineInfoBuilder_;
     }
+
+    private java.lang.Object newExpGroup_ = "";
+    /**
+     * <code>string new_exp_group = 16;</code>
+     * @return The newExpGroup.
+     */
+    public java.lang.String getNewExpGroup() {
+      java.lang.Object ref = newExpGroup_;
+      if (!(ref instanceof java.lang.String)) {
+        com.google.protobuf.ByteString bs =
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        newExpGroup_ = s;
+        return s;
+      } else {
+        return (java.lang.String) ref;
+      }
+    }
+    /**
+     * <code>string new_exp_group = 16;</code>
+     * @return The bytes for newExpGroup.
+     */
+    public com.google.protobuf.ByteString
+        getNewExpGroupBytes() {
+      java.lang.Object ref = newExpGroup_;
+      if (ref instanceof String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        newExpGroup_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+    /**
+     * <code>string new_exp_group = 16;</code>
+     * @param value The newExpGroup to set.
+     * @return This builder for chaining.
+     */
+    public Builder setNewExpGroup(
+        java.lang.String value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  
+      newExpGroup_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string new_exp_group = 16;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearNewExpGroup() {
+      
+      newExpGroup_ = getDefaultInstance().getNewExpGroup();
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>string new_exp_group = 16;</code>
+     * @param value The bytes for newExpGroup to set.
+     * @return This builder for chaining.
+     */
+    public Builder setNewExpGroupBytes(
+        com.google.protobuf.ByteString value) {
+      if (value == null) {
+    throw new NullPointerException();
+  }
+  checkByteStringIsUtf8(value);
+      
+      newExpGroup_ = value;
+      onChanged();
+      return this;
+    }
     @java.lang.Override
     public final Builder setUnknownFields(
         final com.google.protobuf.UnknownFieldSet unknownFields) {

+ 12 - 0
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/RecommendRequestOrBuilder.java

@@ -212,4 +212,16 @@ public interface RecommendRequestOrBuilder extends
    * <code>.MachineInfoProto machine_info = 15;</code>
    */
   com.tzld.piaoquan.recommend.server.gen.recommend.MachineInfoProtoOrBuilder getMachineInfoOrBuilder();
+
+  /**
+   * <code>string new_exp_group = 16;</code>
+   * @return The newExpGroup.
+   */
+  java.lang.String getNewExpGroup();
+  /**
+   * <code>string new_exp_group = 16;</code>
+   * @return The bytes for newExpGroup.
+   */
+  com.google.protobuf.ByteString
+      getNewExpGroupBytes();
 }

+ 1 - 0
recommend-server-client/src/main/proto/com/tzld/piaoquan/recommend/server/recommend.proto

@@ -24,6 +24,7 @@ message RecommendRequest {
   string city = 13;
   string province = 14;
   MachineInfoProto machine_info = 15;
+  string new_exp_group = 16;
 }
 
 message MachineInfoProto {

+ 1 - 1
recommend-server-service/pom.xml

@@ -142,7 +142,7 @@
         <dependency>
             <groupId>com.tzld.piaoquan</groupId>
             <artifactId>recommend-server-client</artifactId>
-            <version>1.0.1</version>
+            <version>1.0.2</version>
         </dependency>
         <dependency>
             <groupId>com.tzld.piaoquan</groupId>

+ 4 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/model/RecommendParam.java

@@ -21,7 +21,7 @@ public class RecommendParam {
     private String abCode;
     private String ruleKey;
     private String dataKey;
-    
+
     // hardcode   兼容旧服务的518实验
     private String hDataKey;
     private String hRuleKey;
@@ -48,4 +48,7 @@ public class RecommendParam {
     private String city;
     private Set<String> abExpCodes;
 
+    // 层 - 实验
+    private Map<String, String> expIdMap;
+
 }

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

@@ -3,6 +3,7 @@ package com.tzld.piaoquan.recommend.server.service;
 import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
 import com.google.common.base.Stopwatch;
 import com.google.common.base.Strings;
+import com.google.common.reflect.TypeToken;
 import com.tzld.piaoquan.recommend.server.common.enums.AppTypeEnum;
 import com.tzld.piaoquan.recommend.server.gen.common.Result;
 import com.tzld.piaoquan.recommend.server.gen.recommend.MachineInfoProto;
@@ -344,6 +345,9 @@ public class RecommendService {
             param.setMachineInfo(machineInfo);
         }
 
+        param.setExpIdMap(JSONUtils.fromJson(request.getNewExpGroup(), new TypeToken<Map<String, String>>() {
+        }, Collections.emptyMap()));
+
 
         return param;
     }
@@ -413,6 +417,7 @@ public class RecommendService {
         recallParam.setAbExpCodes(param.getAbExpCodes());
 
         recallParam.setProvince(param.getProvince());
+        recallParam.setExpIdMap(param.getExpIdMap());
 
 
         return recallParam;
@@ -433,6 +438,7 @@ public class RecommendService {
         rankParam.setCity(param.getCity());
         rankParam.setMachineInfo(param.getMachineInfo());
         rankParam.setAbExpCodes(param.getAbExpCodes());
+        rankParam.setExpIdMap(param.getExpIdMap());
 
         return rankParam;
     }

+ 4 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/RankParam.java

@@ -4,6 +4,7 @@ import com.tzld.piaoquan.recommend.server.model.MachineInfo;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallResult;
 import lombok.Data;
 
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -25,4 +26,7 @@ public class RankParam {
     private MachineInfo machineInfo;
     private Set<String> abExpCodes;
 
+    // 层 - 实验
+    private Map<String, String> expIdMap;
+
 }

+ 2 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/RecallParam.java

@@ -33,5 +33,7 @@ public class RecallParam {
     private Map<Integer, List<String>> appRegionFiltered;
     private List<Long> videosWithRisk;
     private Set<String> abExpCodes;
+    // 层 - 实验
+    private Map<String, String> expIdMap;
 
 }

+ 1 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/web/RecommendController.java

@@ -12,8 +12,6 @@ import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
 import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -23,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @Slf4j
+@Deprecated
 public class RecommendController {
     @Autowired
     private RecommendService recommendService;