Prechádzať zdrojové kódy

feat:添加分享行为的实时特征

zhaohaipeng 1 deň pred
rodič
commit
698ad2b9b5

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

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

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

@@ -44,6 +44,11 @@ public final class Recommend {
   static final 
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_PushFromIndex_fieldAccessorTable;
+  static final com.google.protobuf.Descriptors.Descriptor
+    internal_static_VideoActionInfoProto_descriptor;
+  static final 
+    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internal_static_VideoActionInfoProto_fieldAccessorTable;
 
   public static com.google.protobuf.Descriptors.FileDescriptor
       getDescriptor() {
@@ -56,7 +61,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\"\234\005\n\020RecommendRequest\022\022\n\nrequest" +
+      "on.proto\"\307\005\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_" +
@@ -71,26 +76,28 @@ public final class Recommend {
       "\n\016hot_scene_type\030\025 \001(\003\022\021\n\tclient_ip\030\026 \001(" +
       "\t\022\024\n\014version_code\030\027 \001(\005\022\026\n\016root_source_i" +
       "d\030\030 \001(\t\022\026\n\016userShareDepth\030\031 \001(\005\022\017\n\007pageN" +
-      "um\030\032 \001(\005\022\025\n\rrootSessionId\030\033 \001(\t\032.\n\014Event" +
-      "IdEntry\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\005mo" +
-      "del\030\002 \001(\t\022\020\n\010platform\030\003 \001(\t\022\023\n\013sdk_versi" +
-      "on\030\004 \001(\t\022\016\n\006system\030\005 \001(\t\022\026\n\016wechat_versi" +
-      "on\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.VideoPro" +
-      "to\"\336\001\n\nVideoProto\022\020\n\010video_id\030\001 \001(\003\022\021\n\tr" +
-      "ov_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\010positi" +
-      "on\030\006 \001(\005\022\021\n\tflow_pool\030\007 \001(\t\022\027\n\017is_in_flo" +
-      "w_pool\030\010 \001(\005\022\014\n\004rand\030\t \001(\001\022\'\n\017push_from_" +
-      "index\030\n \003(\0132\016.PushFromIndex\"1\n\rPushFromI" +
-      "ndex\022\021\n\tpush_from\030\001 \001(\t\022\r\n\005index\030\002 \003(\t2\212" +
-      "\001\n\020RecommendService\022:\n\021HomepageRecommend" +
-      "\022\021.RecommendRequest\032\022.RecommendResponse\022" +
-      ":\n\021RelevantRecommend\022\021.RecommendRequest\032" +
-      "\022.RecommendResponseB7\n0com.tzld.piaoquan" +
-      ".recommend.server.gen.recommendP\001\210\001\001b\006pr" +
-      "oto3"
+      "um\030\032 \001(\005\022\025\n\rrootSessionId\030\033 \001(\t\022)\n\nshare" +
+      "_list\030\034 \003(\0132\025.VideoActionInfoProto\032.\n\014Ev" +
+      "entIdEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\002" +
+      "8\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_ve" +
+      "rsion\030\004 \001(\t\022\016\n\006system\030\005 \001(\t\022\026\n\016wechat_ve" +
+      "rsion\030\006 \001(\t\"H\n\021RecommendResponse\022\027\n\006resu" +
+      "lt\030\001 \001(\0132\007.Result\022\032\n\005video\030\002 \003(\0132\013.Video" +
+      "Proto\"\336\001\n\nVideoProto\022\020\n\010video_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\007" +
+      "ab_code\030\004 \001(\t\022\022\n\nsort_score\030\005 \001(\001\022\020\n\010pos" +
+      "ition\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(\001\022\'\n\017push_fr" +
+      "om_index\030\n \003(\0132\016.PushFromIndex\"1\n\rPushFr" +
+      "omIndex\022\021\n\tpush_from\030\001 \001(\t\022\r\n\005index\030\002 \003(" +
+      "\t\"4\n\024VideoActionInfoProto\022\020\n\010video_id\030\001 " +
+      "\001(\003\022\n\n\002ts\030\002 \001(\0032\212\001\n\020RecommendService\022:\n\021" +
+      "HomepageRecommend\022\021.RecommendRequest\032\022.R" +
+      "ecommendResponse\022:\n\021RelevantRecommend\022\021." +
+      "RecommendRequest\032\022.RecommendResponseB7\n0" +
+      "com.tzld.piaoquan.recommend.server.gen.r" +
+      "ecommendP\001\210\001\001b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -103,7 +110,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", "NewExpGroup", "SessionId", "SubSessionId", "PageSource", "CategoryId", "HotSceneType", "ClientIp", "VersionCode", "RootSourceId", "UserShareDepth", "PageNum", "RootSessionId", });
+        new java.lang.String[] { "RequestId", "Mid", "Uid", "Size", "AppType", "CityCode", "ProvinceCode", "AbExpCode", "EventId", "VersionAuditStatus", "RecommendTraceId", "VideoId", "City", "Province", "MachineInfo", "NewExpGroup", "SessionId", "SubSessionId", "PageSource", "CategoryId", "HotSceneType", "ClientIp", "VersionCode", "RootSourceId", "UserShareDepth", "PageNum", "RootSessionId", "ShareList", });
     internal_static_RecommendRequest_EventIdEntry_descriptor =
       internal_static_RecommendRequest_descriptor.getNestedTypes().get(0);
     internal_static_RecommendRequest_EventIdEntry_fieldAccessorTable = new
@@ -134,6 +141,12 @@ public final class Recommend {
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_PushFromIndex_descriptor,
         new java.lang.String[] { "PushFrom", "Index", });
+    internal_static_VideoActionInfoProto_descriptor =
+      getDescriptor().getMessageTypes().get(5);
+    internal_static_VideoActionInfoProto_fieldAccessorTable = new
+      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+        internal_static_VideoActionInfoProto_descriptor,
+        new java.lang.String[] { "VideoId", "Ts", });
     com.google.protobuf.AnyProto.getDescriptor();
     com.tzld.piaoquan.recommend.server.gen.common.Common.getDescriptor();
   }

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

@@ -33,6 +33,7 @@ private static final long serialVersionUID = 0L;
     clientIp_ = "";
     rootSourceId_ = "";
     rootSessionId_ = "";
+    shareList_ = java.util.Collections.emptyList();
   }
 
   @java.lang.Override
@@ -237,6 +238,15 @@ private static final long serialVersionUID = 0L;
             rootSessionId_ = s;
             break;
           }
+          case 226: {
+            if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+              shareList_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto>();
+              mutable_bitField0_ |= 0x00000004;
+            }
+            shareList_.add(
+                input.readMessage(com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.parser(), extensionRegistry));
+            break;
+          }
           default: {
             if (!parseUnknownField(
                 input, unknownFields, extensionRegistry, tag)) {
@@ -255,6 +265,9 @@ private static final long serialVersionUID = 0L;
       if (((mutable_bitField0_ & 0x00000001) != 0)) {
         abExpCode_ = abExpCode_.getUnmodifiableView();
       }
+      if (((mutable_bitField0_ & 0x00000004) != 0)) {
+        shareList_ = java.util.Collections.unmodifiableList(shareList_);
+      }
       this.unknownFields = unknownFields.build();
       makeExtensionsImmutable();
     }
@@ -1138,6 +1151,46 @@ private static final long serialVersionUID = 0L;
     }
   }
 
+  public static final int SHARE_LIST_FIELD_NUMBER = 28;
+  private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto> shareList_;
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  @java.lang.Override
+  public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto> getShareListList() {
+    return shareList_;
+  }
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  @java.lang.Override
+  public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder> 
+      getShareListOrBuilderList() {
+    return shareList_;
+  }
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  @java.lang.Override
+  public int getShareListCount() {
+    return shareList_.size();
+  }
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  @java.lang.Override
+  public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto getShareList(int index) {
+    return shareList_.get(index);
+  }
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  @java.lang.Override
+  public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder getShareListOrBuilder(
+      int index) {
+    return shareList_.get(index);
+  }
+
   private byte memoizedIsInitialized = -1;
   @java.lang.Override
   public final boolean isInitialized() {
@@ -1236,6 +1289,9 @@ private static final long serialVersionUID = 0L;
     if (!getRootSessionIdBytes().isEmpty()) {
       com.google.protobuf.GeneratedMessageV3.writeString(output, 27, rootSessionId_);
     }
+    for (int i = 0; i < shareList_.size(); i++) {
+      output.writeMessage(28, shareList_.get(i));
+    }
     unknownFields.writeTo(output);
   }
 
@@ -1347,6 +1403,10 @@ private static final long serialVersionUID = 0L;
     if (!getRootSessionIdBytes().isEmpty()) {
       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(27, rootSessionId_);
     }
+    for (int i = 0; i < shareList_.size(); i++) {
+      size += com.google.protobuf.CodedOutputStream
+        .computeMessageSize(28, shareList_.get(i));
+    }
     size += unknownFields.getSerializedSize();
     memoizedSize = size;
     return size;
@@ -1419,6 +1479,8 @@ private static final long serialVersionUID = 0L;
         != other.getPageNum()) return false;
     if (!getRootSessionId()
         .equals(other.getRootSessionId())) return false;
+    if (!getShareListList()
+        .equals(other.getShareListList())) return false;
     if (!unknownFields.equals(other.unknownFields)) return false;
     return true;
   }
@@ -1492,6 +1554,10 @@ private static final long serialVersionUID = 0L;
     hash = (53 * hash) + getPageNum();
     hash = (37 * hash) + ROOTSESSIONID_FIELD_NUMBER;
     hash = (53 * hash) + getRootSessionId().hashCode();
+    if (getShareListCount() > 0) {
+      hash = (37 * hash) + SHARE_LIST_FIELD_NUMBER;
+      hash = (53 * hash) + getShareListList().hashCode();
+    }
     hash = (29 * hash) + unknownFields.hashCode();
     memoizedHashCode = hash;
     return hash;
@@ -1642,6 +1708,7 @@ private static final long serialVersionUID = 0L;
     private void maybeForceBuilderInitialization() {
       if (com.google.protobuf.GeneratedMessageV3
               .alwaysUseFieldBuilders) {
+        getShareListFieldBuilder();
       }
     }
     @java.lang.Override
@@ -1704,6 +1771,12 @@ private static final long serialVersionUID = 0L;
 
       rootSessionId_ = "";
 
+      if (shareListBuilder_ == null) {
+        shareList_ = java.util.Collections.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000004);
+      } else {
+        shareListBuilder_.clear();
+      }
       return this;
     }
 
@@ -1767,6 +1840,15 @@ private static final long serialVersionUID = 0L;
       result.userShareDepth_ = userShareDepth_;
       result.pageNum_ = pageNum_;
       result.rootSessionId_ = rootSessionId_;
+      if (shareListBuilder_ == null) {
+        if (((bitField0_ & 0x00000004) != 0)) {
+          shareList_ = java.util.Collections.unmodifiableList(shareList_);
+          bitField0_ = (bitField0_ & ~0x00000004);
+        }
+        result.shareList_ = shareList_;
+      } else {
+        result.shareList_ = shareListBuilder_.build();
+      }
       onBuilt();
       return result;
     }
@@ -1918,6 +2000,32 @@ private static final long serialVersionUID = 0L;
         rootSessionId_ = other.rootSessionId_;
         onChanged();
       }
+      if (shareListBuilder_ == null) {
+        if (!other.shareList_.isEmpty()) {
+          if (shareList_.isEmpty()) {
+            shareList_ = other.shareList_;
+            bitField0_ = (bitField0_ & ~0x00000004);
+          } else {
+            ensureShareListIsMutable();
+            shareList_.addAll(other.shareList_);
+          }
+          onChanged();
+        }
+      } else {
+        if (!other.shareList_.isEmpty()) {
+          if (shareListBuilder_.isEmpty()) {
+            shareListBuilder_.dispose();
+            shareListBuilder_ = null;
+            shareList_ = other.shareList_;
+            bitField0_ = (bitField0_ & ~0x00000004);
+            shareListBuilder_ = 
+              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+                 getShareListFieldBuilder() : null;
+          } else {
+            shareListBuilder_.addAllMessages(other.shareList_);
+          }
+        }
+      }
       this.mergeUnknownFields(other.unknownFields);
       onChanged();
       return this;
@@ -3816,6 +3924,246 @@ private static final long serialVersionUID = 0L;
       onChanged();
       return this;
     }
+
+    private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto> shareList_ =
+      java.util.Collections.emptyList();
+    private void ensureShareListIsMutable() {
+      if (!((bitField0_ & 0x00000004) != 0)) {
+        shareList_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto>(shareList_);
+        bitField0_ |= 0x00000004;
+       }
+    }
+
+    private com.google.protobuf.RepeatedFieldBuilderV3<
+        com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder> shareListBuilder_;
+
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto> getShareListList() {
+      if (shareListBuilder_ == null) {
+        return java.util.Collections.unmodifiableList(shareList_);
+      } else {
+        return shareListBuilder_.getMessageList();
+      }
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public int getShareListCount() {
+      if (shareListBuilder_ == null) {
+        return shareList_.size();
+      } else {
+        return shareListBuilder_.getCount();
+      }
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto getShareList(int index) {
+      if (shareListBuilder_ == null) {
+        return shareList_.get(index);
+      } else {
+        return shareListBuilder_.getMessage(index);
+      }
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder setShareList(
+        int index, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto value) {
+      if (shareListBuilder_ == null) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        ensureShareListIsMutable();
+        shareList_.set(index, value);
+        onChanged();
+      } else {
+        shareListBuilder_.setMessage(index, value);
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder setShareList(
+        int index, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder builderForValue) {
+      if (shareListBuilder_ == null) {
+        ensureShareListIsMutable();
+        shareList_.set(index, builderForValue.build());
+        onChanged();
+      } else {
+        shareListBuilder_.setMessage(index, builderForValue.build());
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder addShareList(com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto value) {
+      if (shareListBuilder_ == null) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        ensureShareListIsMutable();
+        shareList_.add(value);
+        onChanged();
+      } else {
+        shareListBuilder_.addMessage(value);
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder addShareList(
+        int index, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto value) {
+      if (shareListBuilder_ == null) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        ensureShareListIsMutable();
+        shareList_.add(index, value);
+        onChanged();
+      } else {
+        shareListBuilder_.addMessage(index, value);
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder addShareList(
+        com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder builderForValue) {
+      if (shareListBuilder_ == null) {
+        ensureShareListIsMutable();
+        shareList_.add(builderForValue.build());
+        onChanged();
+      } else {
+        shareListBuilder_.addMessage(builderForValue.build());
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder addShareList(
+        int index, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder builderForValue) {
+      if (shareListBuilder_ == null) {
+        ensureShareListIsMutable();
+        shareList_.add(index, builderForValue.build());
+        onChanged();
+      } else {
+        shareListBuilder_.addMessage(index, builderForValue.build());
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder addAllShareList(
+        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto> values) {
+      if (shareListBuilder_ == null) {
+        ensureShareListIsMutable();
+        com.google.protobuf.AbstractMessageLite.Builder.addAll(
+            values, shareList_);
+        onChanged();
+      } else {
+        shareListBuilder_.addAllMessages(values);
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder clearShareList() {
+      if (shareListBuilder_ == null) {
+        shareList_ = java.util.Collections.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000004);
+        onChanged();
+      } else {
+        shareListBuilder_.clear();
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public Builder removeShareList(int index) {
+      if (shareListBuilder_ == null) {
+        ensureShareListIsMutable();
+        shareList_.remove(index);
+        onChanged();
+      } else {
+        shareListBuilder_.remove(index);
+      }
+      return this;
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder getShareListBuilder(
+        int index) {
+      return getShareListFieldBuilder().getBuilder(index);
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder getShareListOrBuilder(
+        int index) {
+      if (shareListBuilder_ == null) {
+        return shareList_.get(index);  } else {
+        return shareListBuilder_.getMessageOrBuilder(index);
+      }
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder> 
+         getShareListOrBuilderList() {
+      if (shareListBuilder_ != null) {
+        return shareListBuilder_.getMessageOrBuilderList();
+      } else {
+        return java.util.Collections.unmodifiableList(shareList_);
+      }
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder addShareListBuilder() {
+      return getShareListFieldBuilder().addBuilder(
+          com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.getDefaultInstance());
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder addShareListBuilder(
+        int index) {
+      return getShareListFieldBuilder().addBuilder(
+          index, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.getDefaultInstance());
+    }
+    /**
+     * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+     */
+    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder> 
+         getShareListBuilderList() {
+      return getShareListFieldBuilder().getBuilderList();
+    }
+    private com.google.protobuf.RepeatedFieldBuilderV3<
+        com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder> 
+        getShareListFieldBuilder() {
+      if (shareListBuilder_ == null) {
+        shareListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+            com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder>(
+                shareList_,
+                ((bitField0_ & 0x00000004) != 0),
+                getParentForChildren(),
+                isClean());
+        shareList_ = null;
+      }
+      return shareListBuilder_;
+    }
     @java.lang.Override
     public final Builder setUnknownFields(
         final com.google.protobuf.UnknownFieldSet unknownFields) {

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

@@ -336,4 +336,28 @@ public interface RecommendRequestOrBuilder extends
    */
   com.google.protobuf.ByteString
       getRootSessionIdBytes();
+
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto> 
+      getShareListList();
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto getShareList(int index);
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  int getShareListCount();
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder> 
+      getShareListOrBuilderList();
+  /**
+   * <code>repeated .VideoActionInfoProto share_list = 28;</code>
+   */
+  com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder getShareListOrBuilder(
+      int index);
 }

+ 549 - 0
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/VideoActionInfoProto.java

@@ -0,0 +1,549 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: com/tzld/piaoquan/recommend/server/recommend.proto
+
+package com.tzld.piaoquan.recommend.server.gen.recommend;
+
+/**
+ * Protobuf type {@code VideoActionInfoProto}
+ */
+public final class VideoActionInfoProto extends
+    com.google.protobuf.GeneratedMessageV3 implements
+    // @@protoc_insertion_point(message_implements:VideoActionInfoProto)
+    VideoActionInfoProtoOrBuilder {
+private static final long serialVersionUID = 0L;
+  // Use VideoActionInfoProto.newBuilder() to construct.
+  private VideoActionInfoProto(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    super(builder);
+  }
+  private VideoActionInfoProto() {
+  }
+
+  @java.lang.Override
+  @SuppressWarnings({"unused"})
+  protected java.lang.Object newInstance(
+      UnusedPrivateParameter unused) {
+    return new VideoActionInfoProto();
+  }
+
+  @java.lang.Override
+  public final com.google.protobuf.UnknownFieldSet
+  getUnknownFields() {
+    return this.unknownFields;
+  }
+  private VideoActionInfoProto(
+      com.google.protobuf.CodedInputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    this();
+    if (extensionRegistry == null) {
+      throw new java.lang.NullPointerException();
+    }
+    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+        com.google.protobuf.UnknownFieldSet.newBuilder();
+    try {
+      boolean done = false;
+      while (!done) {
+        int tag = input.readTag();
+        switch (tag) {
+          case 0:
+            done = true;
+            break;
+          case 8: {
+
+            videoId_ = input.readInt64();
+            break;
+          }
+          case 16: {
+
+            ts_ = input.readInt64();
+            break;
+          }
+          default: {
+            if (!parseUnknownField(
+                input, unknownFields, extensionRegistry, tag)) {
+              done = true;
+            }
+            break;
+          }
+        }
+      }
+    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+      throw e.setUnfinishedMessage(this);
+    } catch (java.io.IOException e) {
+      throw new com.google.protobuf.InvalidProtocolBufferException(
+          e).setUnfinishedMessage(this);
+    } finally {
+      this.unknownFields = unknownFields.build();
+      makeExtensionsImmutable();
+    }
+  }
+  public static final com.google.protobuf.Descriptors.Descriptor
+      getDescriptor() {
+    return com.tzld.piaoquan.recommend.server.gen.recommend.Recommend.internal_static_VideoActionInfoProto_descriptor;
+  }
+
+  @java.lang.Override
+  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+      internalGetFieldAccessorTable() {
+    return com.tzld.piaoquan.recommend.server.gen.recommend.Recommend.internal_static_VideoActionInfoProto_fieldAccessorTable
+        .ensureFieldAccessorsInitialized(
+            com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.class, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder.class);
+  }
+
+  public static final int VIDEO_ID_FIELD_NUMBER = 1;
+  private long videoId_;
+  /**
+   * <code>int64 video_id = 1;</code>
+   * @return The videoId.
+   */
+  @java.lang.Override
+  public long getVideoId() {
+    return videoId_;
+  }
+
+  public static final int TS_FIELD_NUMBER = 2;
+  private long ts_;
+  /**
+   * <code>int64 ts = 2;</code>
+   * @return The ts.
+   */
+  @java.lang.Override
+  public long getTs() {
+    return ts_;
+  }
+
+  private byte memoizedIsInitialized = -1;
+  @java.lang.Override
+  public final boolean isInitialized() {
+    byte isInitialized = memoizedIsInitialized;
+    if (isInitialized == 1) return true;
+    if (isInitialized == 0) return false;
+
+    memoizedIsInitialized = 1;
+    return true;
+  }
+
+  @java.lang.Override
+  public void writeTo(com.google.protobuf.CodedOutputStream output)
+                      throws java.io.IOException {
+    if (videoId_ != 0L) {
+      output.writeInt64(1, videoId_);
+    }
+    if (ts_ != 0L) {
+      output.writeInt64(2, ts_);
+    }
+    unknownFields.writeTo(output);
+  }
+
+  @java.lang.Override
+  public int getSerializedSize() {
+    int size = memoizedSize;
+    if (size != -1) return size;
+
+    size = 0;
+    if (videoId_ != 0L) {
+      size += com.google.protobuf.CodedOutputStream
+        .computeInt64Size(1, videoId_);
+    }
+    if (ts_ != 0L) {
+      size += com.google.protobuf.CodedOutputStream
+        .computeInt64Size(2, ts_);
+    }
+    size += unknownFields.getSerializedSize();
+    memoizedSize = size;
+    return size;
+  }
+
+  @java.lang.Override
+  public boolean equals(final java.lang.Object obj) {
+    if (obj == this) {
+     return true;
+    }
+    if (!(obj instanceof com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto)) {
+      return super.equals(obj);
+    }
+    com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto other = (com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto) obj;
+
+    if (getVideoId()
+        != other.getVideoId()) return false;
+    if (getTs()
+        != other.getTs()) return false;
+    if (!unknownFields.equals(other.unknownFields)) return false;
+    return true;
+  }
+
+  @java.lang.Override
+  public int hashCode() {
+    if (memoizedHashCode != 0) {
+      return memoizedHashCode;
+    }
+    int hash = 41;
+    hash = (19 * hash) + getDescriptor().hashCode();
+    hash = (37 * hash) + VIDEO_ID_FIELD_NUMBER;
+    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+        getVideoId());
+    hash = (37 * hash) + TS_FIELD_NUMBER;
+    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+        getTs());
+    hash = (29 * hash) + unknownFields.hashCode();
+    memoizedHashCode = hash;
+    return hash;
+  }
+
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      java.nio.ByteBuffer data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      java.nio.ByteBuffer data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      com.google.protobuf.ByteString data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      com.google.protobuf.ByteString data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(byte[] data)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      byte[] data,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(java.io.InputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      java.io.InputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseDelimitedFrom(java.io.InputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseDelimitedWithIOException(PARSER, input);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseDelimitedFrom(
+      java.io.InputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      com.google.protobuf.CodedInputStream input)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input);
+  }
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parseFrom(
+      com.google.protobuf.CodedInputStream input,
+      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+      throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+        .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+
+  @java.lang.Override
+  public Builder newBuilderForType() { return newBuilder(); }
+  public static Builder newBuilder() {
+    return DEFAULT_INSTANCE.toBuilder();
+  }
+  public static Builder newBuilder(com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto prototype) {
+    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+  }
+  @java.lang.Override
+  public Builder toBuilder() {
+    return this == DEFAULT_INSTANCE
+        ? new Builder() : new Builder().mergeFrom(this);
+  }
+
+  @java.lang.Override
+  protected Builder newBuilderForType(
+      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+    Builder builder = new Builder(parent);
+    return builder;
+  }
+  /**
+   * Protobuf type {@code VideoActionInfoProto}
+   */
+  public static final class Builder extends
+      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+      // @@protoc_insertion_point(builder_implements:VideoActionInfoProto)
+      com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProtoOrBuilder {
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return com.tzld.piaoquan.recommend.server.gen.recommend.Recommend.internal_static_VideoActionInfoProto_descriptor;
+    }
+
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return com.tzld.piaoquan.recommend.server.gen.recommend.Recommend.internal_static_VideoActionInfoProto_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.class, com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.Builder.class);
+    }
+
+    // Construct using com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.newBuilder()
+    private Builder() {
+      maybeForceBuilderInitialization();
+    }
+
+    private Builder(
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+      super(parent);
+      maybeForceBuilderInitialization();
+    }
+    private void maybeForceBuilderInitialization() {
+      if (com.google.protobuf.GeneratedMessageV3
+              .alwaysUseFieldBuilders) {
+      }
+    }
+    @java.lang.Override
+    public Builder clear() {
+      super.clear();
+      videoId_ = 0L;
+
+      ts_ = 0L;
+
+      return this;
+    }
+
+    @java.lang.Override
+    public com.google.protobuf.Descriptors.Descriptor
+        getDescriptorForType() {
+      return com.tzld.piaoquan.recommend.server.gen.recommend.Recommend.internal_static_VideoActionInfoProto_descriptor;
+    }
+
+    @java.lang.Override
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto getDefaultInstanceForType() {
+      return com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.getDefaultInstance();
+    }
+
+    @java.lang.Override
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto build() {
+      com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto result = buildPartial();
+      if (!result.isInitialized()) {
+        throw newUninitializedMessageException(result);
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto buildPartial() {
+      com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto result = new com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto(this);
+      result.videoId_ = videoId_;
+      result.ts_ = ts_;
+      onBuilt();
+      return result;
+    }
+
+    @java.lang.Override
+    public Builder clone() {
+      return super.clone();
+    }
+    @java.lang.Override
+    public Builder setField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        java.lang.Object value) {
+      return super.setField(field, value);
+    }
+    @java.lang.Override
+    public Builder clearField(
+        com.google.protobuf.Descriptors.FieldDescriptor field) {
+      return super.clearField(field);
+    }
+    @java.lang.Override
+    public Builder clearOneof(
+        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+      return super.clearOneof(oneof);
+    }
+    @java.lang.Override
+    public Builder setRepeatedField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        int index, java.lang.Object value) {
+      return super.setRepeatedField(field, index, value);
+    }
+    @java.lang.Override
+    public Builder addRepeatedField(
+        com.google.protobuf.Descriptors.FieldDescriptor field,
+        java.lang.Object value) {
+      return super.addRepeatedField(field, value);
+    }
+    @java.lang.Override
+    public Builder mergeFrom(com.google.protobuf.Message other) {
+      if (other instanceof com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto) {
+        return mergeFrom((com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto)other);
+      } else {
+        super.mergeFrom(other);
+        return this;
+      }
+    }
+
+    public Builder mergeFrom(com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto other) {
+      if (other == com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto.getDefaultInstance()) return this;
+      if (other.getVideoId() != 0L) {
+        setVideoId(other.getVideoId());
+      }
+      if (other.getTs() != 0L) {
+        setTs(other.getTs());
+      }
+      this.mergeUnknownFields(other.unknownFields);
+      onChanged();
+      return this;
+    }
+
+    @java.lang.Override
+    public final boolean isInitialized() {
+      return true;
+    }
+
+    @java.lang.Override
+    public Builder mergeFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto parsedMessage = null;
+      try {
+        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        parsedMessage = (com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto) e.getUnfinishedMessage();
+        throw e.unwrapIOException();
+      } finally {
+        if (parsedMessage != null) {
+          mergeFrom(parsedMessage);
+        }
+      }
+      return this;
+    }
+
+    private long videoId_ ;
+    /**
+     * <code>int64 video_id = 1;</code>
+     * @return The videoId.
+     */
+    @java.lang.Override
+    public long getVideoId() {
+      return videoId_;
+    }
+    /**
+     * <code>int64 video_id = 1;</code>
+     * @param value The videoId to set.
+     * @return This builder for chaining.
+     */
+    public Builder setVideoId(long value) {
+      
+      videoId_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>int64 video_id = 1;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearVideoId() {
+      
+      videoId_ = 0L;
+      onChanged();
+      return this;
+    }
+
+    private long ts_ ;
+    /**
+     * <code>int64 ts = 2;</code>
+     * @return The ts.
+     */
+    @java.lang.Override
+    public long getTs() {
+      return ts_;
+    }
+    /**
+     * <code>int64 ts = 2;</code>
+     * @param value The ts to set.
+     * @return This builder for chaining.
+     */
+    public Builder setTs(long value) {
+      
+      ts_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <code>int64 ts = 2;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearTs() {
+      
+      ts_ = 0L;
+      onChanged();
+      return this;
+    }
+    @java.lang.Override
+    public final Builder setUnknownFields(
+        final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.setUnknownFields(unknownFields);
+    }
+
+    @java.lang.Override
+    public final Builder mergeUnknownFields(
+        final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.mergeUnknownFields(unknownFields);
+    }
+
+
+    // @@protoc_insertion_point(builder_scope:VideoActionInfoProto)
+  }
+
+  // @@protoc_insertion_point(class_scope:VideoActionInfoProto)
+  private static final com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto DEFAULT_INSTANCE;
+  static {
+    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto();
+  }
+
+  public static com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto getDefaultInstance() {
+    return DEFAULT_INSTANCE;
+  }
+
+  private static final com.google.protobuf.Parser<VideoActionInfoProto>
+      PARSER = new com.google.protobuf.AbstractParser<VideoActionInfoProto>() {
+    @java.lang.Override
+    public VideoActionInfoProto parsePartialFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return new VideoActionInfoProto(input, extensionRegistry);
+    }
+  };
+
+  public static com.google.protobuf.Parser<VideoActionInfoProto> parser() {
+    return PARSER;
+  }
+
+  @java.lang.Override
+  public com.google.protobuf.Parser<VideoActionInfoProto> getParserForType() {
+    return PARSER;
+  }
+
+  @java.lang.Override
+  public com.tzld.piaoquan.recommend.server.gen.recommend.VideoActionInfoProto getDefaultInstanceForType() {
+    return DEFAULT_INSTANCE;
+  }
+
+}
+

+ 21 - 0
recommend-server-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/VideoActionInfoProtoOrBuilder.java

@@ -0,0 +1,21 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: com/tzld/piaoquan/recommend/server/recommend.proto
+
+package com.tzld.piaoquan.recommend.server.gen.recommend;
+
+public interface VideoActionInfoProtoOrBuilder extends
+    // @@protoc_insertion_point(interface_extends:VideoActionInfoProto)
+    com.google.protobuf.MessageOrBuilder {
+
+  /**
+   * <code>int64 video_id = 1;</code>
+   * @return The videoId.
+   */
+  long getVideoId();
+
+  /**
+   * <code>int64 ts = 2;</code>
+   * @return The ts.
+   */
+  long getTs();
+}

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

@@ -36,6 +36,7 @@ message RecommendRequest {
   int32 userShareDepth = 25; // default -1
   int32 pageNum = 26;
   string rootSessionId = 27;
+  repeated VideoActionInfoProto share_list = 28;
 }
 
 message MachineInfoProto {
@@ -77,6 +78,11 @@ message PushFromIndex {
   repeated string index = 2;
 }
 
+message VideoActionInfoProto{
+  int64 video_id = 1;
+  int64 ts = 2;
+}
+
 service RecommendService {
   // 首页推荐和tab分类 /applet/video/homepage/recommend
   rpc HomepageRecommend (RecommendRequest) returns (RecommendResponse);