diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/Message.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/Message.java
new file mode 100644
index 0000000..0eae2a7
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/Message.java
@@ -0,0 +1,74 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+public final class Message {
+ private Message() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReq_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReq_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReply_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReply_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_net_sopod_soim_logic_common_message_UserInfo_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_net_sopod_soim_logic_common_message_UserInfo_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\023proto/message.proto\022#net.sopod.soim.lo" +
+ "gic.common.message\" \n\rUserSearchReq\022\017\n\007k" +
+ "eyword\030\001 \001(\t\"O\n\017UserSearchReply\022<\n\005users" +
+ "\030\001 \003(\0132-.net.sopod.soim.logic.common.mes" +
+ "sage.UserInfo\":\n\010UserInfo\022\013\n\003uid\030\001 \001(\003\022\017" +
+ "\n\007account\030\002 \001(\t\022\020\n\010nickname\030\003 \001(\tB\002P\001b\006p" +
+ "roto3"
+ };
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ });
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReq_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReq_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReq_descriptor,
+ new java.lang.String[] { "Keyword", });
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReply_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReply_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_net_sopod_soim_logic_common_message_UserSearchReply_descriptor,
+ new java.lang.String[] { "Users", });
+ internal_static_net_sopod_soim_logic_common_message_UserInfo_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_net_sopod_soim_logic_common_message_UserInfo_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_net_sopod_soim_logic_common_message_UserInfo_descriptor,
+ new java.lang.String[] { "Uid", "Account", "Nickname", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserInfo.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserInfo.java
new file mode 100644
index 0000000..1c93517
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserInfo.java
@@ -0,0 +1,760 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+/**
+ * Protobuf type {@code net.sopod.soim.logic.common.message.UserInfo}
+ */
+public final class UserInfo extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:net.sopod.soim.logic.common.message.UserInfo)
+ UserInfoOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UserInfo.newBuilder() to construct.
+ private UserInfo(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private UserInfo() {
+ account_ = "";
+ nickname_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new UserInfo();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UserInfo(
+ 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: {
+
+ uid_ = input.readInt64();
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ account_ = s;
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ nickname_ = s;
+ 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 net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserInfo_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserInfo_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ net.sopod.soim.logic.common.message.UserInfo.class, net.sopod.soim.logic.common.message.UserInfo.Builder.class);
+ }
+
+ public static final int UID_FIELD_NUMBER = 1;
+ private long uid_;
+ /**
+ * int64 uid = 1;
+ * @return The uid.
+ */
+ @java.lang.Override
+ public long getUid() {
+ return uid_;
+ }
+
+ public static final int ACCOUNT_FIELD_NUMBER = 2;
+ private volatile java.lang.Object account_;
+ /**
+ * string account = 2;
+ * @return The account.
+ */
+ @java.lang.Override
+ public java.lang.String getAccount() {
+ java.lang.Object ref = account_;
+ 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();
+ account_ = s;
+ return s;
+ }
+ }
+ /**
+ * string account = 2;
+ * @return The bytes for account.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getAccountBytes() {
+ java.lang.Object ref = account_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ account_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int NICKNAME_FIELD_NUMBER = 3;
+ private volatile java.lang.Object nickname_;
+ /**
+ * string nickname = 3;
+ * @return The nickname.
+ */
+ @java.lang.Override
+ public java.lang.String getNickname() {
+ java.lang.Object ref = nickname_;
+ 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();
+ nickname_ = s;
+ return s;
+ }
+ }
+ /**
+ * string nickname = 3;
+ * @return The bytes for nickname.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNicknameBytes() {
+ java.lang.Object ref = nickname_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ nickname_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ 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 (uid_ != 0L) {
+ output.writeInt64(1, uid_);
+ }
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(account_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, account_);
+ }
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nickname_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, nickname_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (uid_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(1, uid_);
+ }
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(account_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, account_);
+ }
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nickname_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, nickname_);
+ }
+ 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 net.sopod.soim.logic.common.message.UserInfo)) {
+ return super.equals(obj);
+ }
+ net.sopod.soim.logic.common.message.UserInfo other = (net.sopod.soim.logic.common.message.UserInfo) obj;
+
+ if (getUid()
+ != other.getUid()) return false;
+ if (!getAccount()
+ .equals(other.getAccount())) return false;
+ if (!getNickname()
+ .equals(other.getNickname())) 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) + UID_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getUid());
+ hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
+ hash = (53 * hash) + getAccount().hashCode();
+ hash = (37 * hash) + NICKNAME_FIELD_NUMBER;
+ hash = (53 * hash) + getNickname().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo 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 net.sopod.soim.logic.common.message.UserInfo parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo 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 net.sopod.soim.logic.common.message.UserInfo parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserInfo 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(net.sopod.soim.logic.common.message.UserInfo 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 net.sopod.soim.logic.common.message.UserInfo}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:net.sopod.soim.logic.common.message.UserInfo)
+ net.sopod.soim.logic.common.message.UserInfoOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserInfo_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserInfo_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ net.sopod.soim.logic.common.message.UserInfo.class, net.sopod.soim.logic.common.message.UserInfo.Builder.class);
+ }
+
+ // Construct using net.sopod.soim.logic.common.message.UserInfo.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();
+ uid_ = 0L;
+
+ account_ = "";
+
+ nickname_ = "";
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserInfo_descriptor;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserInfo getDefaultInstanceForType() {
+ return net.sopod.soim.logic.common.message.UserInfo.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserInfo build() {
+ net.sopod.soim.logic.common.message.UserInfo result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserInfo buildPartial() {
+ net.sopod.soim.logic.common.message.UserInfo result = new net.sopod.soim.logic.common.message.UserInfo(this);
+ result.uid_ = uid_;
+ result.account_ = account_;
+ result.nickname_ = nickname_;
+ 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 net.sopod.soim.logic.common.message.UserInfo) {
+ return mergeFrom((net.sopod.soim.logic.common.message.UserInfo)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(net.sopod.soim.logic.common.message.UserInfo other) {
+ if (other == net.sopod.soim.logic.common.message.UserInfo.getDefaultInstance()) return this;
+ if (other.getUid() != 0L) {
+ setUid(other.getUid());
+ }
+ if (!other.getAccount().isEmpty()) {
+ account_ = other.account_;
+ onChanged();
+ }
+ if (!other.getNickname().isEmpty()) {
+ nickname_ = other.nickname_;
+ onChanged();
+ }
+ 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 {
+ net.sopod.soim.logic.common.message.UserInfo parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (net.sopod.soim.logic.common.message.UserInfo) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private long uid_ ;
+ /**
+ * int64 uid = 1;
+ * @return The uid.
+ */
+ @java.lang.Override
+ public long getUid() {
+ return uid_;
+ }
+ /**
+ * int64 uid = 1;
+ * @param value The uid to set.
+ * @return This builder for chaining.
+ */
+ public Builder setUid(long value) {
+
+ uid_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * int64 uid = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearUid() {
+
+ uid_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object account_ = "";
+ /**
+ * string account = 2;
+ * @return The account.
+ */
+ public java.lang.String getAccount() {
+ java.lang.Object ref = account_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ account_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * string account = 2;
+ * @return The bytes for account.
+ */
+ public com.google.protobuf.ByteString
+ getAccountBytes() {
+ java.lang.Object ref = account_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ account_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * string account = 2;
+ * @param value The account to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAccount(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ account_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * string account = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearAccount() {
+
+ account_ = getDefaultInstance().getAccount();
+ onChanged();
+ return this;
+ }
+ /**
+ * string account = 2;
+ * @param value The bytes for account to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAccountBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ account_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object nickname_ = "";
+ /**
+ * string nickname = 3;
+ * @return The nickname.
+ */
+ public java.lang.String getNickname() {
+ java.lang.Object ref = nickname_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ nickname_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * string nickname = 3;
+ * @return The bytes for nickname.
+ */
+ public com.google.protobuf.ByteString
+ getNicknameBytes() {
+ java.lang.Object ref = nickname_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ nickname_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * string nickname = 3;
+ * @param value The nickname to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNickname(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ nickname_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * string nickname = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearNickname() {
+
+ nickname_ = getDefaultInstance().getNickname();
+ onChanged();
+ return this;
+ }
+ /**
+ * string nickname = 3;
+ * @param value The bytes for nickname to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNicknameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ nickname_ = value;
+ 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:net.sopod.soim.logic.common.message.UserInfo)
+ }
+
+ // @@protoc_insertion_point(class_scope:net.sopod.soim.logic.common.message.UserInfo)
+ private static final net.sopod.soim.logic.common.message.UserInfo DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new net.sopod.soim.logic.common.message.UserInfo();
+ }
+
+ public static net.sopod.soim.logic.common.message.UserInfo getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public UserInfo parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UserInfo(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserInfo getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserInfoOrBuilder.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserInfoOrBuilder.java
new file mode 100644
index 0000000..6caddea
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserInfoOrBuilder.java
@@ -0,0 +1,39 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+public interface UserInfoOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:net.sopod.soim.logic.common.message.UserInfo)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * int64 uid = 1;
+ * @return The uid.
+ */
+ long getUid();
+
+ /**
+ * string account = 2;
+ * @return The account.
+ */
+ java.lang.String getAccount();
+ /**
+ * string account = 2;
+ * @return The bytes for account.
+ */
+ com.google.protobuf.ByteString
+ getAccountBytes();
+
+ /**
+ * string nickname = 3;
+ * @return The nickname.
+ */
+ java.lang.String getNickname();
+ /**
+ * string nickname = 3;
+ * @return The bytes for nickname.
+ */
+ com.google.protobuf.ByteString
+ getNicknameBytes();
+}
diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReply.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReply.java
new file mode 100644
index 0000000..19d5bb9
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReply.java
@@ -0,0 +1,770 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+/**
+ * Protobuf type {@code net.sopod.soim.logic.common.message.UserSearchReply}
+ */
+public final class UserSearchReply extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:net.sopod.soim.logic.common.message.UserSearchReply)
+ UserSearchReplyOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UserSearchReply.newBuilder() to construct.
+ private UserSearchReply(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private UserSearchReply() {
+ users_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new UserSearchReply();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UserSearchReply(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ 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 10: {
+ if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+ users_ = new java.util.ArrayList();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ users_.add(
+ input.readMessage(net.sopod.soim.logic.common.message.UserInfo.parser(), extensionRegistry));
+ 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 {
+ if (((mutable_bitField0_ & 0x00000001) != 0)) {
+ users_ = java.util.Collections.unmodifiableList(users_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReply_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReply_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ net.sopod.soim.logic.common.message.UserSearchReply.class, net.sopod.soim.logic.common.message.UserSearchReply.Builder.class);
+ }
+
+ public static final int USERS_FIELD_NUMBER = 1;
+ private java.util.List users_;
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ @java.lang.Override
+ public java.util.List getUsersList() {
+ return users_;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ @java.lang.Override
+ public java.util.List extends net.sopod.soim.logic.common.message.UserInfoOrBuilder>
+ getUsersOrBuilderList() {
+ return users_;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ @java.lang.Override
+ public int getUsersCount() {
+ return users_.size();
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserInfo getUsers(int index) {
+ return users_.get(index);
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserInfoOrBuilder getUsersOrBuilder(
+ int index) {
+ return users_.get(index);
+ }
+
+ 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 {
+ for (int i = 0; i < users_.size(); i++) {
+ output.writeMessage(1, users_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ for (int i = 0; i < users_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, users_.get(i));
+ }
+ 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 net.sopod.soim.logic.common.message.UserSearchReply)) {
+ return super.equals(obj);
+ }
+ net.sopod.soim.logic.common.message.UserSearchReply other = (net.sopod.soim.logic.common.message.UserSearchReply) obj;
+
+ if (!getUsersList()
+ .equals(other.getUsersList())) 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();
+ if (getUsersCount() > 0) {
+ hash = (37 * hash) + USERS_FIELD_NUMBER;
+ hash = (53 * hash) + getUsersList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply 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 net.sopod.soim.logic.common.message.UserSearchReply parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply 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 net.sopod.soim.logic.common.message.UserSearchReply parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReply 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(net.sopod.soim.logic.common.message.UserSearchReply 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 net.sopod.soim.logic.common.message.UserSearchReply}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:net.sopod.soim.logic.common.message.UserSearchReply)
+ net.sopod.soim.logic.common.message.UserSearchReplyOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReply_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReply_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ net.sopod.soim.logic.common.message.UserSearchReply.class, net.sopod.soim.logic.common.message.UserSearchReply.Builder.class);
+ }
+
+ // Construct using net.sopod.soim.logic.common.message.UserSearchReply.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getUsersFieldBuilder();
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ if (usersBuilder_ == null) {
+ users_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ usersBuilder_.clear();
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReply_descriptor;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReply getDefaultInstanceForType() {
+ return net.sopod.soim.logic.common.message.UserSearchReply.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReply build() {
+ net.sopod.soim.logic.common.message.UserSearchReply result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReply buildPartial() {
+ net.sopod.soim.logic.common.message.UserSearchReply result = new net.sopod.soim.logic.common.message.UserSearchReply(this);
+ int from_bitField0_ = bitField0_;
+ if (usersBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ users_ = java.util.Collections.unmodifiableList(users_);
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.users_ = users_;
+ } else {
+ result.users_ = usersBuilder_.build();
+ }
+ 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 net.sopod.soim.logic.common.message.UserSearchReply) {
+ return mergeFrom((net.sopod.soim.logic.common.message.UserSearchReply)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(net.sopod.soim.logic.common.message.UserSearchReply other) {
+ if (other == net.sopod.soim.logic.common.message.UserSearchReply.getDefaultInstance()) return this;
+ if (usersBuilder_ == null) {
+ if (!other.users_.isEmpty()) {
+ if (users_.isEmpty()) {
+ users_ = other.users_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureUsersIsMutable();
+ users_.addAll(other.users_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.users_.isEmpty()) {
+ if (usersBuilder_.isEmpty()) {
+ usersBuilder_.dispose();
+ usersBuilder_ = null;
+ users_ = other.users_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ usersBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getUsersFieldBuilder() : null;
+ } else {
+ usersBuilder_.addAllMessages(other.users_);
+ }
+ }
+ }
+ 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 {
+ net.sopod.soim.logic.common.message.UserSearchReply parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (net.sopod.soim.logic.common.message.UserSearchReply) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.util.List users_ =
+ java.util.Collections.emptyList();
+ private void ensureUsersIsMutable() {
+ if (!((bitField0_ & 0x00000001) != 0)) {
+ users_ = new java.util.ArrayList(users_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ net.sopod.soim.logic.common.message.UserInfo, net.sopod.soim.logic.common.message.UserInfo.Builder, net.sopod.soim.logic.common.message.UserInfoOrBuilder> usersBuilder_;
+
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public java.util.List getUsersList() {
+ if (usersBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(users_);
+ } else {
+ return usersBuilder_.getMessageList();
+ }
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public int getUsersCount() {
+ if (usersBuilder_ == null) {
+ return users_.size();
+ } else {
+ return usersBuilder_.getCount();
+ }
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public net.sopod.soim.logic.common.message.UserInfo getUsers(int index) {
+ if (usersBuilder_ == null) {
+ return users_.get(index);
+ } else {
+ return usersBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder setUsers(
+ int index, net.sopod.soim.logic.common.message.UserInfo value) {
+ if (usersBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUsersIsMutable();
+ users_.set(index, value);
+ onChanged();
+ } else {
+ usersBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder setUsers(
+ int index, net.sopod.soim.logic.common.message.UserInfo.Builder builderForValue) {
+ if (usersBuilder_ == null) {
+ ensureUsersIsMutable();
+ users_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ usersBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder addUsers(net.sopod.soim.logic.common.message.UserInfo value) {
+ if (usersBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUsersIsMutable();
+ users_.add(value);
+ onChanged();
+ } else {
+ usersBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder addUsers(
+ int index, net.sopod.soim.logic.common.message.UserInfo value) {
+ if (usersBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUsersIsMutable();
+ users_.add(index, value);
+ onChanged();
+ } else {
+ usersBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder addUsers(
+ net.sopod.soim.logic.common.message.UserInfo.Builder builderForValue) {
+ if (usersBuilder_ == null) {
+ ensureUsersIsMutable();
+ users_.add(builderForValue.build());
+ onChanged();
+ } else {
+ usersBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder addUsers(
+ int index, net.sopod.soim.logic.common.message.UserInfo.Builder builderForValue) {
+ if (usersBuilder_ == null) {
+ ensureUsersIsMutable();
+ users_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ usersBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder addAllUsers(
+ java.lang.Iterable extends net.sopod.soim.logic.common.message.UserInfo> values) {
+ if (usersBuilder_ == null) {
+ ensureUsersIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, users_);
+ onChanged();
+ } else {
+ usersBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder clearUsers() {
+ if (usersBuilder_ == null) {
+ users_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ usersBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public Builder removeUsers(int index) {
+ if (usersBuilder_ == null) {
+ ensureUsersIsMutable();
+ users_.remove(index);
+ onChanged();
+ } else {
+ usersBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public net.sopod.soim.logic.common.message.UserInfo.Builder getUsersBuilder(
+ int index) {
+ return getUsersFieldBuilder().getBuilder(index);
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public net.sopod.soim.logic.common.message.UserInfoOrBuilder getUsersOrBuilder(
+ int index) {
+ if (usersBuilder_ == null) {
+ return users_.get(index); } else {
+ return usersBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public java.util.List extends net.sopod.soim.logic.common.message.UserInfoOrBuilder>
+ getUsersOrBuilderList() {
+ if (usersBuilder_ != null) {
+ return usersBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(users_);
+ }
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public net.sopod.soim.logic.common.message.UserInfo.Builder addUsersBuilder() {
+ return getUsersFieldBuilder().addBuilder(
+ net.sopod.soim.logic.common.message.UserInfo.getDefaultInstance());
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public net.sopod.soim.logic.common.message.UserInfo.Builder addUsersBuilder(
+ int index) {
+ return getUsersFieldBuilder().addBuilder(
+ index, net.sopod.soim.logic.common.message.UserInfo.getDefaultInstance());
+ }
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ public java.util.List
+ getUsersBuilderList() {
+ return getUsersFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ net.sopod.soim.logic.common.message.UserInfo, net.sopod.soim.logic.common.message.UserInfo.Builder, net.sopod.soim.logic.common.message.UserInfoOrBuilder>
+ getUsersFieldBuilder() {
+ if (usersBuilder_ == null) {
+ usersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ net.sopod.soim.logic.common.message.UserInfo, net.sopod.soim.logic.common.message.UserInfo.Builder, net.sopod.soim.logic.common.message.UserInfoOrBuilder>(
+ users_,
+ ((bitField0_ & 0x00000001) != 0),
+ getParentForChildren(),
+ isClean());
+ users_ = null;
+ }
+ return usersBuilder_;
+ }
+ @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:net.sopod.soim.logic.common.message.UserSearchReply)
+ }
+
+ // @@protoc_insertion_point(class_scope:net.sopod.soim.logic.common.message.UserSearchReply)
+ private static final net.sopod.soim.logic.common.message.UserSearchReply DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new net.sopod.soim.logic.common.message.UserSearchReply();
+ }
+
+ public static net.sopod.soim.logic.common.message.UserSearchReply getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public UserSearchReply parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UserSearchReply(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReply getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReplyOrBuilder.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReplyOrBuilder.java
new file mode 100644
index 0000000..b2ce223
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReplyOrBuilder.java
@@ -0,0 +1,33 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+public interface UserSearchReplyOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:net.sopod.soim.logic.common.message.UserSearchReply)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ java.util.List
+ getUsersList();
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ net.sopod.soim.logic.common.message.UserInfo getUsers(int index);
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ int getUsersCount();
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ java.util.List extends net.sopod.soim.logic.common.message.UserInfoOrBuilder>
+ getUsersOrBuilderList();
+ /**
+ * repeated .net.sopod.soim.logic.common.message.UserInfo users = 1;
+ */
+ net.sopod.soim.logic.common.message.UserInfoOrBuilder getUsersOrBuilder(
+ int index);
+}
diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReq.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReq.java
new file mode 100644
index 0000000..0540bd1
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReq.java
@@ -0,0 +1,557 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+/**
+ * Protobuf type {@code net.sopod.soim.logic.common.message.UserSearchReq}
+ */
+public final class UserSearchReq extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:net.sopod.soim.logic.common.message.UserSearchReq)
+ UserSearchReqOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UserSearchReq.newBuilder() to construct.
+ private UserSearchReq(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private UserSearchReq() {
+ keyword_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new UserSearchReq();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UserSearchReq(
+ 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 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ keyword_ = s;
+ 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 net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReq_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReq_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ net.sopod.soim.logic.common.message.UserSearchReq.class, net.sopod.soim.logic.common.message.UserSearchReq.Builder.class);
+ }
+
+ public static final int KEYWORD_FIELD_NUMBER = 1;
+ private volatile java.lang.Object keyword_;
+ /**
+ * string keyword = 1;
+ * @return The keyword.
+ */
+ @java.lang.Override
+ public java.lang.String getKeyword() {
+ java.lang.Object ref = keyword_;
+ 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();
+ keyword_ = s;
+ return s;
+ }
+ }
+ /**
+ * string keyword = 1;
+ * @return The bytes for keyword.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getKeywordBytes() {
+ java.lang.Object ref = keyword_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ keyword_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ 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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(keyword_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, keyword_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(keyword_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, keyword_);
+ }
+ 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 net.sopod.soim.logic.common.message.UserSearchReq)) {
+ return super.equals(obj);
+ }
+ net.sopod.soim.logic.common.message.UserSearchReq other = (net.sopod.soim.logic.common.message.UserSearchReq) obj;
+
+ if (!getKeyword()
+ .equals(other.getKeyword())) 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) + KEYWORD_FIELD_NUMBER;
+ hash = (53 * hash) + getKeyword().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq 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 net.sopod.soim.logic.common.message.UserSearchReq parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq 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 net.sopod.soim.logic.common.message.UserSearchReq parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static net.sopod.soim.logic.common.message.UserSearchReq 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(net.sopod.soim.logic.common.message.UserSearchReq 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 net.sopod.soim.logic.common.message.UserSearchReq}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:net.sopod.soim.logic.common.message.UserSearchReq)
+ net.sopod.soim.logic.common.message.UserSearchReqOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReq_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReq_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ net.sopod.soim.logic.common.message.UserSearchReq.class, net.sopod.soim.logic.common.message.UserSearchReq.Builder.class);
+ }
+
+ // Construct using net.sopod.soim.logic.common.message.UserSearchReq.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();
+ keyword_ = "";
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return net.sopod.soim.logic.common.message.Message.internal_static_net_sopod_soim_logic_common_message_UserSearchReq_descriptor;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReq getDefaultInstanceForType() {
+ return net.sopod.soim.logic.common.message.UserSearchReq.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReq build() {
+ net.sopod.soim.logic.common.message.UserSearchReq result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReq buildPartial() {
+ net.sopod.soim.logic.common.message.UserSearchReq result = new net.sopod.soim.logic.common.message.UserSearchReq(this);
+ result.keyword_ = keyword_;
+ 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 net.sopod.soim.logic.common.message.UserSearchReq) {
+ return mergeFrom((net.sopod.soim.logic.common.message.UserSearchReq)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(net.sopod.soim.logic.common.message.UserSearchReq other) {
+ if (other == net.sopod.soim.logic.common.message.UserSearchReq.getDefaultInstance()) return this;
+ if (!other.getKeyword().isEmpty()) {
+ keyword_ = other.keyword_;
+ onChanged();
+ }
+ 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 {
+ net.sopod.soim.logic.common.message.UserSearchReq parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (net.sopod.soim.logic.common.message.UserSearchReq) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object keyword_ = "";
+ /**
+ * string keyword = 1;
+ * @return The keyword.
+ */
+ public java.lang.String getKeyword() {
+ java.lang.Object ref = keyword_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ keyword_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * string keyword = 1;
+ * @return The bytes for keyword.
+ */
+ public com.google.protobuf.ByteString
+ getKeywordBytes() {
+ java.lang.Object ref = keyword_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ keyword_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * string keyword = 1;
+ * @param value The keyword to set.
+ * @return This builder for chaining.
+ */
+ public Builder setKeyword(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ keyword_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * string keyword = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearKeyword() {
+
+ keyword_ = getDefaultInstance().getKeyword();
+ onChanged();
+ return this;
+ }
+ /**
+ * string keyword = 1;
+ * @param value The bytes for keyword to set.
+ * @return This builder for chaining.
+ */
+ public Builder setKeywordBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ keyword_ = value;
+ 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:net.sopod.soim.logic.common.message.UserSearchReq)
+ }
+
+ // @@protoc_insertion_point(class_scope:net.sopod.soim.logic.common.message.UserSearchReq)
+ private static final net.sopod.soim.logic.common.message.UserSearchReq DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new net.sopod.soim.logic.common.message.UserSearchReq();
+ }
+
+ public static net.sopod.soim.logic.common.message.UserSearchReq getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public UserSearchReq parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UserSearchReq(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public net.sopod.soim.logic.common.message.UserSearchReq getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReqOrBuilder.java b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReqOrBuilder.java
new file mode 100644
index 0000000..cfd497c
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/java/net/sopod/soim/logic/common/message/UserSearchReqOrBuilder.java
@@ -0,0 +1,21 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: proto/message.proto
+
+package net.sopod.soim.logic.common.message;
+
+public interface UserSearchReqOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:net.sopod.soim.logic.common.message.UserSearchReq)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * string keyword = 1;
+ * @return The keyword.
+ */
+ java.lang.String getKeyword();
+ /**
+ * string keyword = 1;
+ * @return The bytes for keyword.
+ */
+ com.google.protobuf.ByteString
+ getKeywordBytes();
+}
diff --git a/im-service-api/im-logic-common/src/main/resources/proto/message.proto b/im-service-api/im-logic-common/src/main/resources/proto/message.proto
new file mode 100644
index 0000000..bc771bb
--- /dev/null
+++ b/im-service-api/im-logic-common/src/main/resources/proto/message.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+
+package net.sopod.soim.logic.common.message;
+
+message UserSearchReq {
+ string keyword = 1;
+}
+
+message UserSearchReply {
+ repeated UserInfo users = 1;
+}
+
+message UserInfo {
+ int64 uid = 1;
+ string account = 2;
+ string nickname = 3;
+}
diff --git a/im-service-api/im-logic-friend-api/src/main/resources/proto/UserSearch.proto b/im-service-api/im-logic-friend-api/src/main/resources/proto/UserSearch.proto
index 49412ed..2026d66 100644
--- a/im-service-api/im-logic-friend-api/src/main/resources/proto/UserSearch.proto
+++ b/im-service-api/im-logic-friend-api/src/main/resources/proto/UserSearch.proto
@@ -4,23 +4,10 @@ option java_multiple_files = true;
package net.sopod.soim.logic.api.friend.search;
+
service UserSearchService {
// 关键字搜索用户
rpc searchUser(UserSearchReq) returns (UserSearchReply) {}
}
-
-message UserSearchReq {
- string keyword = 1;
-}
-
-message UserSearchReply {
- repeated UserInfo users = 1;
-}
-
-message UserInfo {
- int64 uid = 1;
- string account = 2;
- string nickname = 3;
-}
diff --git a/im-service-api/im-router-api/src/main/resources/proto/RouterStorage.proto b/im-service-api/im-router-api/src/main/resources/proto/RouterStorage.proto
new file mode 100644
index 0000000..3f97c51
--- /dev/null
+++ b/im-service-api/im-router-api/src/main/resources/proto/RouterStorage.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+
+package net.sopod.soim.router.api.service.storage;
+
+// import "proto/message.proto";
+
+service RouterStorageService {
+
+ // 关键字搜索用户
+ // rpc searchOnlineUsers(UserSearchReq) returns (UserSearchReply) {}
+
+}
diff --git a/im-service/im-logic-friend/src/main/java/net/sopod/soim/logic/friend/service/UserSearchServiceImpl.java b/im-service/im-logic-friend/src/main/java/net/sopod/soim/logic/friend/service/UserSearchServiceImpl.java
index bbc7f8a..fe154c2 100644
--- a/im-service/im-logic-friend/src/main/java/net/sopod/soim/logic/friend/service/UserSearchServiceImpl.java
+++ b/im-service/im-logic-friend/src/main/java/net/sopod/soim/logic/friend/service/UserSearchServiceImpl.java
@@ -1,5 +1,6 @@
package net.sopod.soim.logic.friend.service;
+import net.sopod.soim.das.user.api.model.entity.ImUser;
import net.sopod.soim.das.user.api.service.UserDas;
import net.sopod.soim.logic.api.friend.search.UserSearchReply;
import net.sopod.soim.logic.api.friend.search.UserSearchReq;
@@ -23,6 +24,9 @@ public class UserSearchServiceImpl implements UserSearchService {
@Override
public UserSearchReply searchUser(UserSearchReq request) {
+ // 查询在线用户列表
+
+
return null;
}
diff --git a/im-service/im-router/pom.xml b/im-service/im-router/pom.xml
index d53a16c..6301bc4 100644
--- a/im-service/im-router/pom.xml
+++ b/im-service/im-router/pom.xml
@@ -22,11 +22,6 @@
im-entry-api
${soim.version}
-
- net.sopod
- im-data
- ${soim.version}
-
net.sopod
im-das-user-api