jianghan 4 maanden geleden
bovenliggende
commit
54a0348a87
5 gewijzigde bestanden met toevoegingen van 4366 en 17 verwijderingen
  1. 3 6
      rpc/biService.proto
  2. 4 7
      rpc/biservice/biservice.go
  3. 4 4
      rpc/internal/server/biserviceserver.go
  4. 3284 0
      rpc/pb/pb/biService.pb.go
  5. 1071 0
      rpc/pb/pb/biService_grpc.pb.go

+ 3 - 6
rpc/biService.proto

@@ -258,14 +258,14 @@ message FindClueInfoReq {
 	int64 positionId = 1;
 	string phone=3;
 }
-<<<<<<< HEAD
+
 message MakeEntRelationReq {
 	string entName = 1;
 }
 message MakeEntRelationResp {
 	int64 status = 1;
 }
-=======
+
 message ClueInfoReq {
 	string searchTxt = 1;
 	string searchType = 2; // 0: 线索名称,1: 联系方式,2: 联系人
@@ -273,7 +273,7 @@ message ClueInfoReq {
 	int64 pageNum = 4;
 }
 
->>>>>>> master
+
 service BiService {
 	rpc myDataAsset (MyDataAssetReq) returns (MyDataAssetResp); //我的数据资产
 	rpc addProject (AddProjectReq) returns (AddProjectResp); //添加项目
@@ -299,9 +299,6 @@ service BiService {
 	rpc createClueByPhone(CreateCuleReq) returns(BiReply);
 	rpc transferClueByPhone(TransferClueReq) returns(BiReply);
 	rpc findClueInfo(FindClueInfoReq) returns(BiReply);
-<<<<<<< HEAD
 	rpc makeEntRelation(MakeEntRelationReq) returns(MakeEntRelationResp);
-=======
 	rpc getClueInfoList(ClueInfoReq) returns(BiReply);
->>>>>>> master
 }

+ 4 - 7
rpc/biservice/biservice.go

@@ -1,4 +1,5 @@
-// Code generated by goctl. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT.
+// goctl 1.7.6
 // Source: biService.proto
 
 package biservice
@@ -80,11 +81,8 @@ type (
 		CreateClueByPhone(ctx context.Context, in *CreateCuleReq, opts ...grpc.CallOption) (*BiReply, error)
 		TransferClueByPhone(ctx context.Context, in *TransferClueReq, opts ...grpc.CallOption) (*BiReply, error)
 		FindClueInfo(ctx context.Context, in *FindClueInfoReq, opts ...grpc.CallOption) (*BiReply, error)
-<<<<<<< HEAD
 		MakeEntRelation(ctx context.Context, in *MakeEntRelationReq, opts ...grpc.CallOption) (*MakeEntRelationResp, error)
-=======
 		GetClueInfoList(ctx context.Context, in *ClueInfoReq, opts ...grpc.CallOption) (*BiReply, error)
->>>>>>> master
 	}
 
 	defaultBiService struct {
@@ -218,13 +216,12 @@ func (m *defaultBiService) FindClueInfo(ctx context.Context, in *FindClueInfoReq
 	return client.FindClueInfo(ctx, in, opts...)
 }
 
-<<<<<<< HEAD
 func (m *defaultBiService) MakeEntRelation(ctx context.Context, in *MakeEntRelationReq, opts ...grpc.CallOption) (*MakeEntRelationResp, error) {
 	client := pb.NewBiServiceClient(m.cli.Conn())
 	return client.MakeEntRelation(ctx, in, opts...)
-=======
+}
+
 func (m *defaultBiService) GetClueInfoList(ctx context.Context, in *ClueInfoReq, opts ...grpc.CallOption) (*BiReply, error) {
 	client := pb.NewBiServiceClient(m.cli.Conn())
 	return client.GetClueInfoList(ctx, in, opts...)
->>>>>>> master
 }

+ 4 - 4
rpc/internal/server/biserviceserver.go

@@ -1,4 +1,5 @@
-// Code generated by goctl. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT.
+// goctl 1.7.6
 // Source: biService.proto
 
 package server
@@ -142,13 +143,12 @@ func (s *BiServiceServer) FindClueInfo(ctx context.Context, in *pb.FindClueInfoR
 	return l.FindClueInfo(in)
 }
 
-<<<<<<< HEAD
 func (s *BiServiceServer) MakeEntRelation(ctx context.Context, in *pb.MakeEntRelationReq) (*pb.MakeEntRelationResp, error) {
 	l := logic.NewMakeEntRelationLogic(ctx, s.svcCtx)
 	return l.MakeEntRelation(in)
-=======
+}
+
 func (s *BiServiceServer) GetClueInfoList(ctx context.Context, in *pb.ClueInfoReq) (*pb.BiReply, error) {
 	l := logic.NewGetClueInfoListLogic(ctx, s.svcCtx)
 	return l.GetClueInfoList(in)
->>>>>>> master
 }

+ 3284 - 0
rpc/pb/pb/biService.pb.go

@@ -0,0 +1,3284 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.36.5
+// 	protoc        v5.29.3
+// source: biService.proto
+
+package pb
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	reflect "reflect"
+	sync "sync"
+	unsafe "unsafe"
+)
+
+const (
+	// Verify that this generated code is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+	// Verify that runtime/protoimpl is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MyDataAssetReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	UserId        string                 `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
+	NewUserId     int64                  `protobuf:"varint,2,opt,name=newUserId,proto3" json:"newUserId,omitempty"`
+	EntUserId     int64                  `protobuf:"varint,3,opt,name=entUserId,proto3" json:"entUserId,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *MyDataAssetReq) Reset() {
+	*x = MyDataAssetReq{}
+	mi := &file_biService_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MyDataAssetReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MyDataAssetReq) ProtoMessage() {}
+
+func (x *MyDataAssetReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[0]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MyDataAssetReq.ProtoReflect.Descriptor instead.
+func (*MyDataAssetReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MyDataAssetReq) GetUserId() string {
+	if x != nil {
+		return x.UserId
+	}
+	return ""
+}
+
+func (x *MyDataAssetReq) GetNewUserId() int64 {
+	if x != nil {
+		return x.NewUserId
+	}
+	return 0
+}
+
+func (x *MyDataAssetReq) GetEntUserId() int64 {
+	if x != nil {
+		return x.EntUserId
+	}
+	return 0
+}
+
+type MyDataAssetResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          *MyDataAsset           `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *MyDataAssetResp) Reset() {
+	*x = MyDataAssetResp{}
+	mi := &file_biService_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MyDataAssetResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MyDataAssetResp) ProtoMessage() {}
+
+func (x *MyDataAssetResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[1]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MyDataAssetResp.ProtoReflect.Descriptor instead.
+func (*MyDataAssetResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *MyDataAssetResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *MyDataAssetResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *MyDataAssetResp) GetData() *MyDataAsset {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type MyDataAsset struct {
+	state              protoimpl.MessageState `protogen:"open.v1"`
+	CollectInfoCount   int64                  `protobuf:"varint,1,opt,name=collect_info_count,json=collectInfoCount,proto3" json:"collect_info_count,omitempty"`
+	FollowProjectCount int64                  `protobuf:"varint,2,opt,name=follow_project_count,json=followProjectCount,proto3" json:"follow_project_count,omitempty"`
+	CollectDocCount    int64                  `protobuf:"varint,3,opt,name=collect_doc_count,json=collectDocCount,proto3" json:"collect_doc_count,omitempty"`
+	ClaimCustomerCount int64                  `protobuf:"varint,4,opt,name=claim_customer_count,json=claimCustomerCount,proto3" json:"claim_customer_count,omitempty"`
+	ClaimNzjCount      int64                  `protobuf:"varint,5,opt,name=claim_nzj_count,json=claimNzjCount,proto3" json:"claim_nzj_count,omitempty"`
+	unknownFields      protoimpl.UnknownFields
+	sizeCache          protoimpl.SizeCache
+}
+
+func (x *MyDataAsset) Reset() {
+	*x = MyDataAsset{}
+	mi := &file_biService_proto_msgTypes[2]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MyDataAsset) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MyDataAsset) ProtoMessage() {}
+
+func (x *MyDataAsset) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[2]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MyDataAsset.ProtoReflect.Descriptor instead.
+func (*MyDataAsset) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *MyDataAsset) GetCollectInfoCount() int64 {
+	if x != nil {
+		return x.CollectInfoCount
+	}
+	return 0
+}
+
+func (x *MyDataAsset) GetFollowProjectCount() int64 {
+	if x != nil {
+		return x.FollowProjectCount
+	}
+	return 0
+}
+
+func (x *MyDataAsset) GetCollectDocCount() int64 {
+	if x != nil {
+		return x.CollectDocCount
+	}
+	return 0
+}
+
+func (x *MyDataAsset) GetClaimCustomerCount() int64 {
+	if x != nil {
+		return x.ClaimCustomerCount
+	}
+	return 0
+}
+
+func (x *MyDataAsset) GetClaimNzjCount() int64 {
+	if x != nil {
+		return x.ClaimNzjCount
+	}
+	return 0
+}
+
+type AddProjectReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	InfoId        string                 `protobuf:"bytes,1,opt,name=info_id,json=infoId,proto3" json:"info_id,omitempty"`                    //信息id
+	Source        int64                  `protobuf:"varint,2,opt,name=source,proto3" json:"source,omitempty"`                                 //1-收藏,2-招标搜索,3-关注
+	PositionId    int64                  `protobuf:"varint,3,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"`       //职位id
+	PositionType  int64                  `protobuf:"varint,4,opt,name=position_type,json=positionType,proto3" json:"position_type,omitempty"` //职位类型
+	AccountId     int64                  `protobuf:"varint,5,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`          //账户id
+	CompanyName   string                 `protobuf:"bytes,6,opt,name=company_name,json=companyName,proto3" json:"company_name,omitempty"`
+	UserName      string                 `protobuf:"bytes,7,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
+	UserId        int64                  `protobuf:"varint,8,opt,name=userId,proto3" json:"userId,omitempty"`
+	EntId         int64                  `protobuf:"varint,9,opt,name=entId,proto3" json:"entId,omitempty"`
+	EntUserName   string                 `protobuf:"bytes,10,opt,name=entUserName,proto3" json:"entUserName,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *AddProjectReq) Reset() {
+	*x = AddProjectReq{}
+	mi := &file_biService_proto_msgTypes[3]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AddProjectReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddProjectReq) ProtoMessage() {}
+
+func (x *AddProjectReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[3]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddProjectReq.ProtoReflect.Descriptor instead.
+func (*AddProjectReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *AddProjectReq) GetInfoId() string {
+	if x != nil {
+		return x.InfoId
+	}
+	return ""
+}
+
+func (x *AddProjectReq) GetSource() int64 {
+	if x != nil {
+		return x.Source
+	}
+	return 0
+}
+
+func (x *AddProjectReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *AddProjectReq) GetPositionType() int64 {
+	if x != nil {
+		return x.PositionType
+	}
+	return 0
+}
+
+func (x *AddProjectReq) GetAccountId() int64 {
+	if x != nil {
+		return x.AccountId
+	}
+	return 0
+}
+
+func (x *AddProjectReq) GetCompanyName() string {
+	if x != nil {
+		return x.CompanyName
+	}
+	return ""
+}
+
+func (x *AddProjectReq) GetUserName() string {
+	if x != nil {
+		return x.UserName
+	}
+	return ""
+}
+
+func (x *AddProjectReq) GetUserId() int64 {
+	if x != nil {
+		return x.UserId
+	}
+	return 0
+}
+
+func (x *AddProjectReq) GetEntId() int64 {
+	if x != nil {
+		return x.EntId
+	}
+	return 0
+}
+
+func (x *AddProjectReq) GetEntUserName() string {
+	if x != nil {
+		return x.EntUserName
+	}
+	return ""
+}
+
+type AddProjectResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          *AddProject            `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *AddProjectResp) Reset() {
+	*x = AddProjectResp{}
+	mi := &file_biService_proto_msgTypes[4]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AddProjectResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddProjectResp) ProtoMessage() {}
+
+func (x *AddProjectResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[4]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddProjectResp.ProtoReflect.Descriptor instead.
+func (*AddProjectResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *AddProjectResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *AddProjectResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *AddProjectResp) GetData() *AddProject {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type AddProject struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Status        int64                  `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
+	Count         int64                  `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *AddProject) Reset() {
+	*x = AddProject{}
+	mi := &file_biService_proto_msgTypes[5]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AddProject) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddProject) ProtoMessage() {}
+
+func (x *AddProject) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[5]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddProject.ProtoReflect.Descriptor instead.
+func (*AddProject) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *AddProject) GetStatus() int64 {
+	if x != nil {
+		return x.Status
+	}
+	return 0
+}
+
+func (x *AddProject) GetCount() int64 {
+	if x != nil {
+		return x.Count
+	}
+	return 0
+}
+
+type GetInfoIdResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          []string               `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *GetInfoIdResp) Reset() {
+	*x = GetInfoIdResp{}
+	mi := &file_biService_proto_msgTypes[6]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *GetInfoIdResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetInfoIdResp) ProtoMessage() {}
+
+func (x *GetInfoIdResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[6]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetInfoIdResp.ProtoReflect.Descriptor instead.
+func (*GetInfoIdResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *GetInfoIdResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *GetInfoIdResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *GetInfoIdResp) GetData() []string {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type DrawClueReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	PositionId    int64                  `protobuf:"varint,1,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	Count         int64                  `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *DrawClueReq) Reset() {
+	*x = DrawClueReq{}
+	mi := &file_biService_proto_msgTypes[7]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DrawClueReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DrawClueReq) ProtoMessage() {}
+
+func (x *DrawClueReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[7]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DrawClueReq.ProtoReflect.Descriptor instead.
+func (*DrawClueReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *DrawClueReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *DrawClueReq) GetCount() int64 {
+	if x != nil {
+		return x.Count
+	}
+	return 0
+}
+
+type CallReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	PositionId    int64                  `protobuf:"varint,1,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"`
+	Phone         string                 `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *CallReq) Reset() {
+	*x = CallReq{}
+	mi := &file_biService_proto_msgTypes[8]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *CallReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CallReq) ProtoMessage() {}
+
+func (x *CallReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[8]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use CallReq.ProtoReflect.Descriptor instead.
+func (*CallReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *CallReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *CallReq) GetPhone() string {
+	if x != nil {
+		return x.Phone
+	}
+	return ""
+}
+
+type BiResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          string                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *BiResp) Reset() {
+	*x = BiResp{}
+	mi := &file_biService_proto_msgTypes[9]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *BiResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BiResp) ProtoMessage() {}
+
+func (x *BiResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[9]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use BiResp.ProtoReflect.Descriptor instead.
+func (*BiResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{9}
+}
+
+func (x *BiResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *BiResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *BiResp) GetData() string {
+	if x != nil {
+		return x.Data
+	}
+	return ""
+}
+
+type BiReply struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          []byte                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *BiReply) Reset() {
+	*x = BiReply{}
+	mi := &file_biService_proto_msgTypes[10]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *BiReply) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BiReply) ProtoMessage() {}
+
+func (x *BiReply) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[10]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use BiReply.ProtoReflect.Descriptor instead.
+func (*BiReply) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *BiReply) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *BiReply) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *BiReply) GetData() []byte {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type DistributeClueReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ClueCount     string                 `protobuf:"bytes,1,opt,name=clueCount,proto3" json:"clueCount,omitempty"`
+	ClueIdList    []int64                `protobuf:"varint,2,rep,packed,name=clueIdList,proto3" json:"clueIdList,omitempty"`
+	Datas         []*DistributeDatas     `protobuf:"bytes,3,rep,name=datas,proto3" json:"datas,omitempty"`
+	PositionId    int64                  `protobuf:"varint,4,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	IsTask        int64                  `protobuf:"varint,5,opt,name=isTask,proto3" json:"isTask,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *DistributeClueReq) Reset() {
+	*x = DistributeClueReq{}
+	mi := &file_biService_proto_msgTypes[11]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DistributeClueReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DistributeClueReq) ProtoMessage() {}
+
+func (x *DistributeClueReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[11]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DistributeClueReq.ProtoReflect.Descriptor instead.
+func (*DistributeClueReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{11}
+}
+
+func (x *DistributeClueReq) GetClueCount() string {
+	if x != nil {
+		return x.ClueCount
+	}
+	return ""
+}
+
+func (x *DistributeClueReq) GetClueIdList() []int64 {
+	if x != nil {
+		return x.ClueIdList
+	}
+	return nil
+}
+
+func (x *DistributeClueReq) GetDatas() []*DistributeDatas {
+	if x != nil {
+		return x.Datas
+	}
+	return nil
+}
+
+func (x *DistributeClueReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *DistributeClueReq) GetIsTask() int64 {
+	if x != nil {
+		return x.IsTask
+	}
+	return 0
+}
+
+type DistributeDatas struct {
+	state            protoimpl.MessageState `protogen:"open.v1"`
+	Name             string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	PositionId       int64                  `protobuf:"varint,2,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	TotalCount       string                 `protobuf:"bytes,3,opt,name=totalCount,proto3" json:"totalCount,omitempty"`
+	UncompletedCount string                 `protobuf:"bytes,4,opt,name=uncompletedCount,proto3" json:"uncompletedCount,omitempty"`
+	DistributedCount int64                  `protobuf:"varint,5,opt,name=distributedCount,proto3" json:"distributedCount,omitempty"`
+	unknownFields    protoimpl.UnknownFields
+	sizeCache        protoimpl.SizeCache
+}
+
+func (x *DistributeDatas) Reset() {
+	*x = DistributeDatas{}
+	mi := &file_biService_proto_msgTypes[12]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DistributeDatas) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DistributeDatas) ProtoMessage() {}
+
+func (x *DistributeDatas) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[12]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DistributeDatas.ProtoReflect.Descriptor instead.
+func (*DistributeDatas) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{12}
+}
+
+func (x *DistributeDatas) GetName() string {
+	if x != nil {
+		return x.Name
+	}
+	return ""
+}
+
+func (x *DistributeDatas) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *DistributeDatas) GetTotalCount() string {
+	if x != nil {
+		return x.TotalCount
+	}
+	return ""
+}
+
+func (x *DistributeDatas) GetUncompletedCount() string {
+	if x != nil {
+		return x.UncompletedCount
+	}
+	return ""
+}
+
+func (x *DistributeDatas) GetDistributedCount() int64 {
+	if x != nil {
+		return x.DistributedCount
+	}
+	return 0
+}
+
+type ClueImportReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Pcbh          string                 `protobuf:"bytes,1,opt,name=pcbh,proto3" json:"pcbh,omitempty"`
+	PositionId    int64                  `protobuf:"varint,2,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ClueImportReq) Reset() {
+	*x = ClueImportReq{}
+	mi := &file_biService_proto_msgTypes[13]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ClueImportReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClueImportReq) ProtoMessage() {}
+
+func (x *ClueImportReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[13]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClueImportReq.ProtoReflect.Descriptor instead.
+func (*ClueImportReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *ClueImportReq) GetPcbh() string {
+	if x != nil {
+		return x.Pcbh
+	}
+	return ""
+}
+
+func (x *ClueImportReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+type ClueImportResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          *ClueImport            `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ClueImportResp) Reset() {
+	*x = ClueImportResp{}
+	mi := &file_biService_proto_msgTypes[14]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ClueImportResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClueImportResp) ProtoMessage() {}
+
+func (x *ClueImportResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[14]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClueImportResp.ProtoReflect.Descriptor instead.
+func (*ClueImportResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *ClueImportResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *ClueImportResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *ClueImportResp) GetData() *ClueImport {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type ClueImport struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Status        int64                  `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
+	Result        string                 `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ClueImport) Reset() {
+	*x = ClueImport{}
+	mi := &file_biService_proto_msgTypes[15]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ClueImport) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClueImport) ProtoMessage() {}
+
+func (x *ClueImport) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[15]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClueImport.ProtoReflect.Descriptor instead.
+func (*ClueImport) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *ClueImport) GetStatus() int64 {
+	if x != nil {
+		return x.Status
+	}
+	return 0
+}
+
+func (x *ClueImport) GetResult() string {
+	if x != nil {
+		return x.Result
+	}
+	return ""
+}
+
+type ClueAddReq struct {
+	state            protoimpl.MessageState `protogen:"open.v1"`
+	Phone            string                 `protobuf:"bytes,1,opt,name=phone,proto3" json:"phone,omitempty"`
+	Username         string                 `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
+	Source           string                 `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
+	Status999        string                 `protobuf:"bytes,4,opt,name=status999,proto3" json:"status999,omitempty"`
+	Owner            string                 `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
+	EmpNo            string                 `protobuf:"bytes,6,opt,name=empNo,proto3" json:"empNo,omitempty"`
+	Company          string                 `protobuf:"bytes,7,opt,name=company,proto3" json:"company,omitempty"`
+	IsPolicymaker    string                 `protobuf:"bytes,8,opt,name=isPolicymaker,proto3" json:"isPolicymaker,omitempty"`
+	BelongToIndustry string                 `protobuf:"bytes,9,opt,name=belongToIndustry,proto3" json:"belongToIndustry,omitempty"`
+	Job              string                 `protobuf:"bytes,10,opt,name=job,proto3" json:"job,omitempty"`
+	CustomerNeeds    string                 `protobuf:"bytes,11,opt,name=customerNeeds,proto3" json:"customerNeeds,omitempty"`
+	BelongTo         string                 `protobuf:"bytes,12,opt,name=belongTo,proto3" json:"belongTo,omitempty"`
+	WantGoods        string                 `protobuf:"bytes,13,opt,name=wantGoods,proto3" json:"wantGoods,omitempty"`
+	CustomerBudget   string                 `protobuf:"bytes,14,opt,name=customerBudget,proto3" json:"customerBudget,omitempty"`
+	unknownFields    protoimpl.UnknownFields
+	sizeCache        protoimpl.SizeCache
+}
+
+func (x *ClueAddReq) Reset() {
+	*x = ClueAddReq{}
+	mi := &file_biService_proto_msgTypes[16]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ClueAddReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClueAddReq) ProtoMessage() {}
+
+func (x *ClueAddReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[16]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClueAddReq.ProtoReflect.Descriptor instead.
+func (*ClueAddReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{16}
+}
+
+func (x *ClueAddReq) GetPhone() string {
+	if x != nil {
+		return x.Phone
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetUsername() string {
+	if x != nil {
+		return x.Username
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetSource() string {
+	if x != nil {
+		return x.Source
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetStatus999() string {
+	if x != nil {
+		return x.Status999
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetOwner() string {
+	if x != nil {
+		return x.Owner
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetEmpNo() string {
+	if x != nil {
+		return x.EmpNo
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetCompany() string {
+	if x != nil {
+		return x.Company
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetIsPolicymaker() string {
+	if x != nil {
+		return x.IsPolicymaker
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetBelongToIndustry() string {
+	if x != nil {
+		return x.BelongToIndustry
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetJob() string {
+	if x != nil {
+		return x.Job
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetCustomerNeeds() string {
+	if x != nil {
+		return x.CustomerNeeds
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetBelongTo() string {
+	if x != nil {
+		return x.BelongTo
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetWantGoods() string {
+	if x != nil {
+		return x.WantGoods
+	}
+	return ""
+}
+
+func (x *ClueAddReq) GetCustomerBudget() string {
+	if x != nil {
+		return x.CustomerBudget
+	}
+	return ""
+}
+
+type SqlManageReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Id            float32                `protobuf:"fixed32,1,opt,name=id,proto3" json:"id,omitempty"`
+	Params        []*Param               `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *SqlManageReq) Reset() {
+	*x = SqlManageReq{}
+	mi := &file_biService_proto_msgTypes[17]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SqlManageReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SqlManageReq) ProtoMessage() {}
+
+func (x *SqlManageReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[17]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use SqlManageReq.ProtoReflect.Descriptor instead.
+func (*SqlManageReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *SqlManageReq) GetId() float32 {
+	if x != nil {
+		return x.Id
+	}
+	return 0
+}
+
+func (x *SqlManageReq) GetParams() []*Param {
+	if x != nil {
+		return x.Params
+	}
+	return nil
+}
+
+type MyInfoReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Bid           string                 `protobuf:"bytes,1,opt,name=bid,proto3" json:"bid,omitempty"`
+	Sid           string                 `protobuf:"bytes,2,opt,name=sid,proto3" json:"sid,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *MyInfoReq) Reset() {
+	*x = MyInfoReq{}
+	mi := &file_biService_proto_msgTypes[18]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MyInfoReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MyInfoReq) ProtoMessage() {}
+
+func (x *MyInfoReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[18]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MyInfoReq.ProtoReflect.Descriptor instead.
+func (*MyInfoReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *MyInfoReq) GetBid() string {
+	if x != nil {
+		return x.Bid
+	}
+	return ""
+}
+
+func (x *MyInfoReq) GetSid() string {
+	if x != nil {
+		return x.Sid
+	}
+	return ""
+}
+
+type Param struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Value         string                 `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+	Type          string                 `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *Param) Reset() {
+	*x = Param{}
+	mi := &file_biService_proto_msgTypes[19]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Param) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Param) ProtoMessage() {}
+
+func (x *Param) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[19]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use Param.ProtoReflect.Descriptor instead.
+func (*Param) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *Param) GetValue() string {
+	if x != nil {
+		return x.Value
+	}
+	return ""
+}
+
+func (x *Param) GetType() string {
+	if x != nil {
+		return x.Type
+	}
+	return ""
+}
+
+type ExportReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Mail          string                 `protobuf:"bytes,1,opt,name=mail,proto3" json:"mail,omitempty"`
+	Mapping       []string               `protobuf:"bytes,2,rep,name=mapping,proto3" json:"mapping,omitempty"`
+	PositionId    int64                  `protobuf:"varint,3,opt,name=PositionId,proto3" json:"PositionId,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ExportReq) Reset() {
+	*x = ExportReq{}
+	mi := &file_biService_proto_msgTypes[20]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ExportReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExportReq) ProtoMessage() {}
+
+func (x *ExportReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[20]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExportReq.ProtoReflect.Descriptor instead.
+func (*ExportReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *ExportReq) GetMail() string {
+	if x != nil {
+		return x.Mail
+	}
+	return ""
+}
+
+func (x *ExportReq) GetMapping() []string {
+	if x != nil {
+		return x.Mapping
+	}
+	return nil
+}
+
+func (x *ExportReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+type OperateReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	NewId         string                 `protobuf:"bytes,1,opt,name=newId,proto3" json:"newId,omitempty"`
+	Type          int64                  `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *OperateReq) Reset() {
+	*x = OperateReq{}
+	mi := &file_biService_proto_msgTypes[21]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *OperateReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OperateReq) ProtoMessage() {}
+
+func (x *OperateReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[21]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use OperateReq.ProtoReflect.Descriptor instead.
+func (*OperateReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *OperateReq) GetNewId() string {
+	if x != nil {
+		return x.NewId
+	}
+	return ""
+}
+
+func (x *OperateReq) GetType() int64 {
+	if x != nil {
+		return x.Type
+	}
+	return 0
+}
+
+type CompanyReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	CompanyName   string                 `protobuf:"bytes,1,opt,name=companyName,proto3" json:"companyName,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *CompanyReq) Reset() {
+	*x = CompanyReq{}
+	mi := &file_biService_proto_msgTypes[22]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *CompanyReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CompanyReq) ProtoMessage() {}
+
+func (x *CompanyReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[22]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use CompanyReq.ProtoReflect.Descriptor instead.
+func (*CompanyReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *CompanyReq) GetCompanyName() string {
+	if x != nil {
+		return x.CompanyName
+	}
+	return ""
+}
+
+type CompanyResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Status        int64                  `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
+	CompanStatus  string                 `protobuf:"bytes,2,opt,name=companStatus,proto3" json:"companStatus,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *CompanyResp) Reset() {
+	*x = CompanyResp{}
+	mi := &file_biService_proto_msgTypes[23]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *CompanyResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CompanyResp) ProtoMessage() {}
+
+func (x *CompanyResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[23]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use CompanyResp.ProtoReflect.Descriptor instead.
+func (*CompanyResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *CompanyResp) GetStatus() int64 {
+	if x != nil {
+		return x.Status
+	}
+	return 0
+}
+
+func (x *CompanyResp) GetCompanStatus() string {
+	if x != nil {
+		return x.CompanStatus
+	}
+	return ""
+}
+
+type DistributeClueShowReq struct {
+	state            protoimpl.MessageState `protogen:"open.v1"`
+	PositionId       int64                  `protobuf:"varint,1,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	DataType         int64                  `protobuf:"varint,2,opt,name=dataType,proto3" json:"dataType,omitempty"`
+	ClueIdList       string                 `protobuf:"bytes,3,opt,name=clueIdList,proto3" json:"clueIdList,omitempty"`
+	Datas            []*DistributeClueShows `protobuf:"bytes,4,rep,name=datas,proto3" json:"datas,omitempty"`
+	IsTask           int64                  `protobuf:"varint,5,opt,name=IsTask,proto3" json:"IsTask,omitempty"`
+	UpdatePositionID int64                  `protobuf:"varint,6,opt,name=UpdatePositionID,proto3" json:"UpdatePositionID,omitempty"`
+	unknownFields    protoimpl.UnknownFields
+	sizeCache        protoimpl.SizeCache
+}
+
+func (x *DistributeClueShowReq) Reset() {
+	*x = DistributeClueShowReq{}
+	mi := &file_biService_proto_msgTypes[24]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DistributeClueShowReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DistributeClueShowReq) ProtoMessage() {}
+
+func (x *DistributeClueShowReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[24]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DistributeClueShowReq.ProtoReflect.Descriptor instead.
+func (*DistributeClueShowReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{24}
+}
+
+func (x *DistributeClueShowReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *DistributeClueShowReq) GetDataType() int64 {
+	if x != nil {
+		return x.DataType
+	}
+	return 0
+}
+
+func (x *DistributeClueShowReq) GetClueIdList() string {
+	if x != nil {
+		return x.ClueIdList
+	}
+	return ""
+}
+
+func (x *DistributeClueShowReq) GetDatas() []*DistributeClueShows {
+	if x != nil {
+		return x.Datas
+	}
+	return nil
+}
+
+func (x *DistributeClueShowReq) GetIsTask() int64 {
+	if x != nil {
+		return x.IsTask
+	}
+	return 0
+}
+
+func (x *DistributeClueShowReq) GetUpdatePositionID() int64 {
+	if x != nil {
+		return x.UpdatePositionID
+	}
+	return 0
+}
+
+type DistributeClueShows struct {
+	state            protoimpl.MessageState `protogen:"open.v1"`
+	PositionId       int64                  `protobuf:"varint,1,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	DistributedCount int64                  `protobuf:"varint,2,opt,name=distributedCount,proto3" json:"distributedCount,omitempty"`
+	unknownFields    protoimpl.UnknownFields
+	sizeCache        protoimpl.SizeCache
+}
+
+func (x *DistributeClueShows) Reset() {
+	*x = DistributeClueShows{}
+	mi := &file_biService_proto_msgTypes[25]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DistributeClueShows) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DistributeClueShows) ProtoMessage() {}
+
+func (x *DistributeClueShows) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[25]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DistributeClueShows.ProtoReflect.Descriptor instead.
+func (*DistributeClueShows) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{25}
+}
+
+func (x *DistributeClueShows) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *DistributeClueShows) GetDistributedCount() int64 {
+	if x != nil {
+		return x.DistributedCount
+	}
+	return 0
+}
+
+type DistributeClueShowss struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	PositionId    int64                  `protobuf:"varint,1,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	CompanyCount  int64                  `protobuf:"varint,2,opt,name=companyCount,proto3" json:"companyCount,omitempty"`
+	ClueCount     int64                  `protobuf:"varint,3,opt,name=clueCount,proto3" json:"clueCount,omitempty"`
+	MinCount      int64                  `protobuf:"varint,4,opt,name=minCount,proto3" json:"minCount,omitempty"`
+	CompanyCounts int64                  `protobuf:"varint,5,opt,name=companyCounts,proto3" json:"companyCounts,omitempty"`
+	ExistingCount int64                  `protobuf:"varint,6,opt,name=existingCount,proto3" json:"existingCount,omitempty"`
+	FullStatus    bool                   `protobuf:"varint,7,opt,name=FullStatus,proto3" json:"FullStatus,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *DistributeClueShowss) Reset() {
+	*x = DistributeClueShowss{}
+	mi := &file_biService_proto_msgTypes[26]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DistributeClueShowss) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DistributeClueShowss) ProtoMessage() {}
+
+func (x *DistributeClueShowss) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[26]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DistributeClueShowss.ProtoReflect.Descriptor instead.
+func (*DistributeClueShowss) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{26}
+}
+
+func (x *DistributeClueShowss) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *DistributeClueShowss) GetCompanyCount() int64 {
+	if x != nil {
+		return x.CompanyCount
+	}
+	return 0
+}
+
+func (x *DistributeClueShowss) GetClueCount() int64 {
+	if x != nil {
+		return x.ClueCount
+	}
+	return 0
+}
+
+func (x *DistributeClueShowss) GetMinCount() int64 {
+	if x != nil {
+		return x.MinCount
+	}
+	return 0
+}
+
+func (x *DistributeClueShowss) GetCompanyCounts() int64 {
+	if x != nil {
+		return x.CompanyCounts
+	}
+	return 0
+}
+
+func (x *DistributeClueShowss) GetExistingCount() int64 {
+	if x != nil {
+		return x.ExistingCount
+	}
+	return 0
+}
+
+func (x *DistributeClueShowss) GetFullStatus() bool {
+	if x != nil {
+		return x.FullStatus
+	}
+	return false
+}
+
+type DistributeClueShowResp struct {
+	state         protoimpl.MessageState  `protogen:"open.v1"`
+	ErrorCode     int64                   `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                  `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          []*DistributeClueShowss `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *DistributeClueShowResp) Reset() {
+	*x = DistributeClueShowResp{}
+	mi := &file_biService_proto_msgTypes[27]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *DistributeClueShowResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DistributeClueShowResp) ProtoMessage() {}
+
+func (x *DistributeClueShowResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[27]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use DistributeClueShowResp.ProtoReflect.Descriptor instead.
+func (*DistributeClueShowResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{27}
+}
+
+func (x *DistributeClueShowResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *DistributeClueShowResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *DistributeClueShowResp) GetData() []*DistributeClueShowss {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type ExportByDbReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Token         string                 `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
+	Title         string                 `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
+	Content       string                 `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
+	Mails         string                 `protobuf:"bytes,4,opt,name=mails,proto3" json:"mails,omitempty"`
+	FileName      string                 `protobuf:"bytes,5,opt,name=fileName,proto3" json:"fileName,omitempty"`
+	Datas         []*FilesData           `protobuf:"bytes,6,rep,name=datas,proto3" json:"datas,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ExportByDbReq) Reset() {
+	*x = ExportByDbReq{}
+	mi := &file_biService_proto_msgTypes[28]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ExportByDbReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExportByDbReq) ProtoMessage() {}
+
+func (x *ExportByDbReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[28]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExportByDbReq.ProtoReflect.Descriptor instead.
+func (*ExportByDbReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{28}
+}
+
+func (x *ExportByDbReq) GetToken() string {
+	if x != nil {
+		return x.Token
+	}
+	return ""
+}
+
+func (x *ExportByDbReq) GetTitle() string {
+	if x != nil {
+		return x.Title
+	}
+	return ""
+}
+
+func (x *ExportByDbReq) GetContent() string {
+	if x != nil {
+		return x.Content
+	}
+	return ""
+}
+
+func (x *ExportByDbReq) GetMails() string {
+	if x != nil {
+		return x.Mails
+	}
+	return ""
+}
+
+func (x *ExportByDbReq) GetFileName() string {
+	if x != nil {
+		return x.FileName
+	}
+	return ""
+}
+
+func (x *ExportByDbReq) GetDatas() []*FilesData {
+	if x != nil {
+		return x.Datas
+	}
+	return nil
+}
+
+type FilesData struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	SheetName     string                 `protobuf:"bytes,1,opt,name=sheetName,proto3" json:"sheetName,omitempty"`
+	Sql           string                 `protobuf:"bytes,2,opt,name=sql,proto3" json:"sql,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *FilesData) Reset() {
+	*x = FilesData{}
+	mi := &file_biService_proto_msgTypes[29]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *FilesData) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FilesData) ProtoMessage() {}
+
+func (x *FilesData) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[29]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use FilesData.ProtoReflect.Descriptor instead.
+func (*FilesData) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{29}
+}
+
+func (x *FilesData) GetSheetName() string {
+	if x != nil {
+		return x.SheetName
+	}
+	return ""
+}
+
+func (x *FilesData) GetSql() string {
+	if x != nil {
+		return x.Sql
+	}
+	return ""
+}
+
+type UpFileReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	AppId         string                 `protobuf:"bytes,1,opt,name=appId,proto3" json:"appId,omitempty"`
+	UserId        int64                  `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
+	PositionId    int64                  `protobuf:"varint,3,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	EntUserId     int64                  `protobuf:"varint,4,opt,name=entUserId,proto3" json:"entUserId,omitempty"`
+	EntId         int64                  `protobuf:"varint,5,opt,name=entId,proto3" json:"entId,omitempty"`
+	Stype         string                 `protobuf:"bytes,6,opt,name=stype,proto3" json:"stype,omitempty"`
+	File          []byte                 `protobuf:"bytes,7,opt,name=file,proto3" json:"file,omitempty"`
+	FileName      string                 `protobuf:"bytes,8,opt,name=fileName,proto3" json:"fileName,omitempty"`
+	FileSize      string                 `protobuf:"bytes,9,opt,name=fileSize,proto3" json:"fileSize,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *UpFileReq) Reset() {
+	*x = UpFileReq{}
+	mi := &file_biService_proto_msgTypes[30]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *UpFileReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpFileReq) ProtoMessage() {}
+
+func (x *UpFileReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[30]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpFileReq.ProtoReflect.Descriptor instead.
+func (*UpFileReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{30}
+}
+
+func (x *UpFileReq) GetAppId() string {
+	if x != nil {
+		return x.AppId
+	}
+	return ""
+}
+
+func (x *UpFileReq) GetUserId() int64 {
+	if x != nil {
+		return x.UserId
+	}
+	return 0
+}
+
+func (x *UpFileReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *UpFileReq) GetEntUserId() int64 {
+	if x != nil {
+		return x.EntUserId
+	}
+	return 0
+}
+
+func (x *UpFileReq) GetEntId() int64 {
+	if x != nil {
+		return x.EntId
+	}
+	return 0
+}
+
+func (x *UpFileReq) GetStype() string {
+	if x != nil {
+		return x.Stype
+	}
+	return ""
+}
+
+func (x *UpFileReq) GetFile() []byte {
+	if x != nil {
+		return x.File
+	}
+	return nil
+}
+
+func (x *UpFileReq) GetFileName() string {
+	if x != nil {
+		return x.FileName
+	}
+	return ""
+}
+
+func (x *UpFileReq) GetFileSize() string {
+	if x != nil {
+		return x.FileSize
+	}
+	return ""
+}
+
+type AcceptanceReq struct {
+	state          protoimpl.MessageState `protogen:"open.v1"`
+	ProposeType    int64                  `protobuf:"varint,1,opt,name=ProposeType,proto3" json:"ProposeType,omitempty"`
+	ProposeTime    string                 `protobuf:"bytes,2,opt,name=Propose_time,json=ProposeTime,proto3" json:"Propose_time,omitempty"`
+	Channel        string                 `protobuf:"bytes,3,opt,name=Channel,proto3" json:"Channel,omitempty"`
+	AcceptanceType int64                  `protobuf:"varint,4,opt,name=Acceptance_type,json=AcceptanceType,proto3" json:"Acceptance_type,omitempty"`
+	Status         int64                  `protobuf:"varint,5,opt,name=Status,proto3" json:"Status,omitempty"`
+	OverTime       string                 `protobuf:"bytes,6,opt,name=Over_time,json=OverTime,proto3" json:"Over_time,omitempty"`
+	Remark         string                 `protobuf:"bytes,7,opt,name=Remark,proto3" json:"Remark,omitempty"`
+	PositionId     int64                  `protobuf:"varint,8,opt,name=PositionId,proto3" json:"PositionId,omitempty"`
+	DeptId         string                 `protobuf:"bytes,9,opt,name=DeptId,proto3" json:"DeptId,omitempty"`
+	EntUserName    string                 `protobuf:"bytes,10,opt,name=EntUserName,proto3" json:"EntUserName,omitempty"`
+	ParamData      string                 `protobuf:"bytes,11,opt,name=paramData,proto3" json:"paramData,omitempty"`
+	unknownFields  protoimpl.UnknownFields
+	sizeCache      protoimpl.SizeCache
+}
+
+func (x *AcceptanceReq) Reset() {
+	*x = AcceptanceReq{}
+	mi := &file_biService_proto_msgTypes[31]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AcceptanceReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AcceptanceReq) ProtoMessage() {}
+
+func (x *AcceptanceReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[31]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use AcceptanceReq.ProtoReflect.Descriptor instead.
+func (*AcceptanceReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{31}
+}
+
+func (x *AcceptanceReq) GetProposeType() int64 {
+	if x != nil {
+		return x.ProposeType
+	}
+	return 0
+}
+
+func (x *AcceptanceReq) GetProposeTime() string {
+	if x != nil {
+		return x.ProposeTime
+	}
+	return ""
+}
+
+func (x *AcceptanceReq) GetChannel() string {
+	if x != nil {
+		return x.Channel
+	}
+	return ""
+}
+
+func (x *AcceptanceReq) GetAcceptanceType() int64 {
+	if x != nil {
+		return x.AcceptanceType
+	}
+	return 0
+}
+
+func (x *AcceptanceReq) GetStatus() int64 {
+	if x != nil {
+		return x.Status
+	}
+	return 0
+}
+
+func (x *AcceptanceReq) GetOverTime() string {
+	if x != nil {
+		return x.OverTime
+	}
+	return ""
+}
+
+func (x *AcceptanceReq) GetRemark() string {
+	if x != nil {
+		return x.Remark
+	}
+	return ""
+}
+
+func (x *AcceptanceReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *AcceptanceReq) GetDeptId() string {
+	if x != nil {
+		return x.DeptId
+	}
+	return ""
+}
+
+func (x *AcceptanceReq) GetEntUserName() string {
+	if x != nil {
+		return x.EntUserName
+	}
+	return ""
+}
+
+func (x *AcceptanceReq) GetParamData() string {
+	if x != nil {
+		return x.ParamData
+	}
+	return ""
+}
+
+type AcceptanceResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	ErrorCode     int64                  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
+	ErrorMsg      string                 `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
+	Data          *Acceptance            `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *AcceptanceResp) Reset() {
+	*x = AcceptanceResp{}
+	mi := &file_biService_proto_msgTypes[32]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *AcceptanceResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AcceptanceResp) ProtoMessage() {}
+
+func (x *AcceptanceResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[32]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use AcceptanceResp.ProtoReflect.Descriptor instead.
+func (*AcceptanceResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{32}
+}
+
+func (x *AcceptanceResp) GetErrorCode() int64 {
+	if x != nil {
+		return x.ErrorCode
+	}
+	return 0
+}
+
+func (x *AcceptanceResp) GetErrorMsg() string {
+	if x != nil {
+		return x.ErrorMsg
+	}
+	return ""
+}
+
+func (x *AcceptanceResp) GetData() *Acceptance {
+	if x != nil {
+		return x.Data
+	}
+	return nil
+}
+
+type Acceptance struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	AcceptanceNo  string                 `protobuf:"bytes,1,opt,name=AcceptanceNo,proto3" json:"AcceptanceNo,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *Acceptance) Reset() {
+	*x = Acceptance{}
+	mi := &file_biService_proto_msgTypes[33]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *Acceptance) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Acceptance) ProtoMessage() {}
+
+func (x *Acceptance) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[33]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use Acceptance.ProtoReflect.Descriptor instead.
+func (*Acceptance) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{33}
+}
+
+func (x *Acceptance) GetAcceptanceNo() string {
+	if x != nil {
+		return x.AcceptanceNo
+	}
+	return ""
+}
+
+type SendMailReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Title         string                 `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
+	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
+	Mails         string                 `protobuf:"bytes,3,opt,name=mails,proto3" json:"mails,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *SendMailReq) Reset() {
+	*x = SendMailReq{}
+	mi := &file_biService_proto_msgTypes[34]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *SendMailReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SendMailReq) ProtoMessage() {}
+
+func (x *SendMailReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[34]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use SendMailReq.ProtoReflect.Descriptor instead.
+func (*SendMailReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{34}
+}
+
+func (x *SendMailReq) GetTitle() string {
+	if x != nil {
+		return x.Title
+	}
+	return ""
+}
+
+func (x *SendMailReq) GetContent() string {
+	if x != nil {
+		return x.Content
+	}
+	return ""
+}
+
+func (x *SendMailReq) GetMails() string {
+	if x != nil {
+		return x.Mails
+	}
+	return ""
+}
+
+type CreateCuleReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	AppId         string                 `protobuf:"bytes,1,opt,name=appId,proto3" json:"appId,omitempty"`
+	PositionId    int64                  `protobuf:"varint,2,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	UserId        string                 `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"`
+	Phone         string                 `protobuf:"bytes,4,opt,name=phone,proto3" json:"phone,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *CreateCuleReq) Reset() {
+	*x = CreateCuleReq{}
+	mi := &file_biService_proto_msgTypes[35]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *CreateCuleReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateCuleReq) ProtoMessage() {}
+
+func (x *CreateCuleReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[35]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateCuleReq.ProtoReflect.Descriptor instead.
+func (*CreateCuleReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{35}
+}
+
+func (x *CreateCuleReq) GetAppId() string {
+	if x != nil {
+		return x.AppId
+	}
+	return ""
+}
+
+func (x *CreateCuleReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *CreateCuleReq) GetUserId() string {
+	if x != nil {
+		return x.UserId
+	}
+	return ""
+}
+
+func (x *CreateCuleReq) GetPhone() string {
+	if x != nil {
+		return x.Phone
+	}
+	return ""
+}
+
+type TransferClueReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	PositionId    int64                  `protobuf:"varint,1,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	UserId        string                 `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId,omitempty"`
+	Phone         string                 `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"`
+	OrderNo       string                 `protobuf:"bytes,4,opt,name=orderNo,proto3" json:"orderNo,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *TransferClueReq) Reset() {
+	*x = TransferClueReq{}
+	mi := &file_biService_proto_msgTypes[36]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *TransferClueReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TransferClueReq) ProtoMessage() {}
+
+func (x *TransferClueReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[36]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use TransferClueReq.ProtoReflect.Descriptor instead.
+func (*TransferClueReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{36}
+}
+
+func (x *TransferClueReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *TransferClueReq) GetUserId() string {
+	if x != nil {
+		return x.UserId
+	}
+	return ""
+}
+
+func (x *TransferClueReq) GetPhone() string {
+	if x != nil {
+		return x.Phone
+	}
+	return ""
+}
+
+func (x *TransferClueReq) GetOrderNo() string {
+	if x != nil {
+		return x.OrderNo
+	}
+	return ""
+}
+
+type FindClueInfoReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	UserId        string                 `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId,omitempty"`
+	PositionId    int64                  `protobuf:"varint,1,opt,name=positionId,proto3" json:"positionId,omitempty"`
+	Phone         string                 `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *FindClueInfoReq) Reset() {
+	*x = FindClueInfoReq{}
+	mi := &file_biService_proto_msgTypes[37]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *FindClueInfoReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FindClueInfoReq) ProtoMessage() {}
+
+func (x *FindClueInfoReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[37]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use FindClueInfoReq.ProtoReflect.Descriptor instead.
+func (*FindClueInfoReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{37}
+}
+
+func (x *FindClueInfoReq) GetUserId() string {
+	if x != nil {
+		return x.UserId
+	}
+	return ""
+}
+
+func (x *FindClueInfoReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *FindClueInfoReq) GetPhone() string {
+	if x != nil {
+		return x.Phone
+	}
+	return ""
+}
+
+type MakeEntRelationReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	EntName       string                 `protobuf:"bytes,1,opt,name=entName,proto3" json:"entName,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *MakeEntRelationReq) Reset() {
+	*x = MakeEntRelationReq{}
+	mi := &file_biService_proto_msgTypes[38]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MakeEntRelationReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MakeEntRelationReq) ProtoMessage() {}
+
+func (x *MakeEntRelationReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[38]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MakeEntRelationReq.ProtoReflect.Descriptor instead.
+func (*MakeEntRelationReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{38}
+}
+
+func (x *MakeEntRelationReq) GetEntName() string {
+	if x != nil {
+		return x.EntName
+	}
+	return ""
+}
+
+type MakeEntRelationResp struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Status        int64                  `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *MakeEntRelationResp) Reset() {
+	*x = MakeEntRelationResp{}
+	mi := &file_biService_proto_msgTypes[39]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *MakeEntRelationResp) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MakeEntRelationResp) ProtoMessage() {}
+
+func (x *MakeEntRelationResp) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[39]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use MakeEntRelationResp.ProtoReflect.Descriptor instead.
+func (*MakeEntRelationResp) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{39}
+}
+
+func (x *MakeEntRelationResp) GetStatus() int64 {
+	if x != nil {
+		return x.Status
+	}
+	return 0
+}
+
+type ClueInfoReq struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	SearchTxt     string                 `protobuf:"bytes,1,opt,name=searchTxt,proto3" json:"searchTxt,omitempty"`
+	SearchType    string                 `protobuf:"bytes,2,opt,name=searchType,proto3" json:"searchType,omitempty"` // 0: 线索名称,1: 联系方式,2: 联系人
+	PageSize      int64                  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
+	PageNum       int64                  `protobuf:"varint,4,opt,name=pageNum,proto3" json:"pageNum,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *ClueInfoReq) Reset() {
+	*x = ClueInfoReq{}
+	mi := &file_biService_proto_msgTypes[40]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ClueInfoReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClueInfoReq) ProtoMessage() {}
+
+func (x *ClueInfoReq) ProtoReflect() protoreflect.Message {
+	mi := &file_biService_proto_msgTypes[40]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClueInfoReq.ProtoReflect.Descriptor instead.
+func (*ClueInfoReq) Descriptor() ([]byte, []int) {
+	return file_biService_proto_rawDescGZIP(), []int{40}
+}
+
+func (x *ClueInfoReq) GetSearchTxt() string {
+	if x != nil {
+		return x.SearchTxt
+	}
+	return ""
+}
+
+func (x *ClueInfoReq) GetSearchType() string {
+	if x != nil {
+		return x.SearchType
+	}
+	return ""
+}
+
+func (x *ClueInfoReq) GetPageSize() int64 {
+	if x != nil {
+		return x.PageSize
+	}
+	return 0
+}
+
+func (x *ClueInfoReq) GetPageNum() int64 {
+	if x != nil {
+		return x.PageNum
+	}
+	return 0
+}
+
+var File_biService_proto protoreflect.FileDescriptor
+
+var file_biService_proto_rawDesc = string([]byte{
+	0x0a, 0x0f, 0x62, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x22, 0x64, 0x0a, 0x0e, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x41, 0x73, 0x73, 0x65, 0x74,
+	0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
+	0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
+	0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+	0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e,
+	0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x0f, 0x4d, 0x79, 0x44, 0x61, 0x74,
+	0x61, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72,
+	0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
+	0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72,
+	0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x41, 0x73, 0x73,
+	0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf3, 0x01, 0x0a, 0x0b, 0x4d, 0x79, 0x44,
+	0x61, 0x74, 0x61, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x6c,
+	0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66,
+	0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77,
+	0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x6a,
+	0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c,
+	0x65, 0x63, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x6f, 0x63, 0x43,
+	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x63, 0x75,
+	0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x12, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
+	0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f,
+	0x6e, 0x7a, 0x6a, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x4e, 0x7a, 0x6a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb5,
+	0x02, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
+	0x12, 0x17, 0x0a, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x06, 0x69, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75,
+	0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
+	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
+	0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75,
+	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63,
+	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
+	0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
+	0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65,
+	0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73,
+	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
+	0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14,
+	0x0a, 0x05, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65,
+	0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e,
+	0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x55, 0x73,
+	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f,
+	0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72,
+	0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
+	0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
+	0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a,
+	0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63,
+	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
+	0x74, 0x22, 0x5f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x52, 0x65,
+	0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64,
+	0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x12,
+	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61,
+	0x74, 0x61, 0x22, 0x43, 0x0a, 0x0b, 0x44, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x75, 0x65, 0x52, 0x65,
+	0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+	0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x07, 0x43, 0x61, 0x6c, 0x6c, 0x52,
+	0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x58, 0x0a, 0x06, 0x42, 0x69, 0x52,
+	0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64,
+	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
+	0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12,
+	0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64,
+	0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x07, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1d,
+	0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a,
+	0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61,
+	0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb1,
+	0x01, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6c, 0x75,
+	0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75,
+	0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+	0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x4c, 0x69,
+	0x73, 0x74, 0x12, 0x26, 0x0a, 0x05, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
+	0x0b, 0x32, 0x10, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x44, 0x61,
+	0x74, 0x61, 0x73, 0x52, 0x05, 0x64, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f,
+	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
+	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73,
+	0x54, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x54, 0x61,
+	0x73, 0x6b, 0x22, 0xbd, 0x01, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+	0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f,
+	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
+	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f,
+	0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x6e,
+	0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
+	0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
+	0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x10, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75,
+	0x6e, 0x74, 0x22, 0x43, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+	0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x63, 0x62, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x04, 0x70, 0x63, 0x62, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x65, 0x49,
+	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65,
+	0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3c, 0x0a, 0x0a, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d,
+	0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06,
+	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
+	0x73, 0x75, 0x6c, 0x74, 0x22, 0xa6, 0x03, 0x0a, 0x0a, 0x43, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64,
+	0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
+	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
+	0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a,
+	0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x39, 0x39, 0x39, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x39, 0x39, 0x39, 0x12, 0x14, 0x0a, 0x05, 0x6f,
+	0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65,
+	0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x65, 0x6d, 0x70, 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61,
+	0x6e, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
+	0x79, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x6d, 0x61, 0x6b,
+	0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x6f, 0x6c, 0x69,
+	0x63, 0x79, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x65, 0x6c, 0x6f, 0x6e,
+	0x67, 0x54, 0x6f, 0x49, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x10, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x49, 0x6e, 0x64, 0x75, 0x73,
+	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
+	0x72, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75,
+	0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62,
+	0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
+	0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x61, 0x6e, 0x74, 0x47,
+	0x6f, 0x6f, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x61, 0x6e, 0x74,
+	0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
+	0x72, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63,
+	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x3e, 0x0a,
+	0x0c, 0x53, 0x71, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a,
+	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a,
+	0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x06, 0x2e,
+	0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a,
+	0x09, 0x4d, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69,
+	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03,
+	0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0x31,
+	0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a,
+	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
+	0x65, 0x22, 0x59, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12,
+	0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61,
+	0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20,
+	0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a,
+	0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x0a,
+	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x65,
+	0x77, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x65, 0x77, 0x49, 0x64,
+	0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
+	0x74, 0x79, 0x70, 0x65, 0x22, 0x2e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52,
+	0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x4e, 0x61, 0x6d,
+	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79,
+	0x4e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x52,
+	0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63,
+	0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
+	0xe3, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6c,
+	0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70,
+	0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74,
+	0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x61, 0x74,
+	0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x4c,
+	0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x65, 0x49,
+	0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0x04,
+	0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+	0x65, 0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x73, 0x52, 0x05, 0x64, 0x61, 0x74, 0x61,
+	0x73, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x06, 0x49, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x10, 0x55, 0x70, 0x64,
+	0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x06, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x61, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
+	0x75, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x73, 0x12, 0x1e, 0x0a, 0x0a,
+	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10,
+	0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
+	0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x80, 0x02, 0x0a, 0x14, 0x44, 0x69, 0x73,
+	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x73,
+	0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+	0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79,
+	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75,
+	0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x65, 0x43, 0x6f,
+	0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+	0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73,
+	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x43,
+	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e,
+	0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x65, 0x78,
+	0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x46,
+	0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+	0x0a, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7f, 0x0a, 0x16, 0x44,
+	0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f,
+	0x77, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63,
+	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
+	0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73,
+	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73,
+	0x67, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x15, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65,
+	0x53, 0x68, 0x6f, 0x77, 0x73, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa9, 0x01, 0x0a,
+	0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x62, 0x52, 0x65, 0x71, 0x12, 0x14,
+	0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
+	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
+	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e,
+	0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69,
+	0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69,
+	0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18,
+	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x44, 0x61, 0x74,
+	0x61, 0x52, 0x05, 0x64, 0x61, 0x74, 0x61, 0x73, 0x22, 0x3b, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65,
+	0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x68, 0x65, 0x65, 0x74, 0x4e, 0x61,
+	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x65, 0x65, 0x74, 0x4e,
+	0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0xef, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x46, 0x69, 0x6c, 0x65,
+	0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
+	0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
+	0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
+	0x14, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
+	0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66,
+	0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12,
+	0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66,
+	0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
+	0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65,
+	0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x72, 0x6f,
+	0x70, 0x6f, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
+	0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x50,
+	0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
+	0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65,
+	0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70,
+	0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x4f, 0x76, 0x65,
+	0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x76,
+	0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
+	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e,
+	0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16,
+	0x0a, 0x06, 0x44, 0x65, 0x70, 0x74, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+	0x44, 0x65, 0x70, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x55, 0x73, 0x65,
+	0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x6e, 0x74,
+	0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61,
+	0x6d, 0x44, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72,
+	0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6d, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+	0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72,
+	0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
+	0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52,
+	0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x30, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61,
+	0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63,
+	0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x70,
+	0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x22, 0x53, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x4d,
+	0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07,
+	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
+	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x73, 0x0a, 0x0d,
+	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a,
+	0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70,
+	0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70,
+	0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e,
+	0x65, 0x22, 0x79, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x75,
+	0x65, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
+	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f,
+	0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x04, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x22, 0x5f, 0x0a, 0x0f,
+	0x46, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12,
+	0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74,
+	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73,
+	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x2e, 0x0a,
+	0x12, 0x4d, 0x61, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a,
+	0x13, 0x4d, 0x61, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x81, 0x01, 0x0a,
+	0x0b, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09,
+	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65,
+	0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
+	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61,
+	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75,
+	0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d,
+	0x32, 0x92, 0x09, 0x0a, 0x09, 0x42, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30,
+	0x0a, 0x0b, 0x6d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x0f, 0x2e,
+	0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x10,
+	0x2e, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70,
+	0x12, 0x2d, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e,
+	0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0f,
+	0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
+	0x2b, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x12, 0x0e, 0x2e, 0x41,
+	0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x47,
+	0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x08,
+	0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x75, 0x65, 0x12, 0x0c, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x43,
+	0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a,
+	0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12,
+	0x08, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x07, 0x2e, 0x42, 0x69, 0x52, 0x65,
+	0x73, 0x70, 0x12, 0x35, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
+	0x43, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+	0x65, 0x43, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72,
+	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x63, 0x6c, 0x75,
+	0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d,
+	0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d,
+	0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x65,
+	0x41, 0x64, 0x64, 0x12, 0x0b, 0x2e, 0x43, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71,
+	0x1a, 0x0f, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73,
+	0x70, 0x12, 0x2f, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54,
+	0x74, 0x12, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
+	0x71, 0x1a, 0x0f, 0x2e, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
+	0x73, 0x70, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77,
+	0x12, 0x08, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x43, 0x6c, 0x75,
+	0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x09, 0x73,
+	0x71, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x12, 0x0d, 0x2e, 0x53, 0x71, 0x6c, 0x4d, 0x61,
+	0x6e, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x12, 0x1e, 0x0a, 0x06, 0x6d, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0a, 0x2e, 0x4d, 0x79,
+	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x12, 0x25, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x78, 0x70, 0x6f,
+	0x72, 0x74, 0x12, 0x0a, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x08,
+	0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x50,
+	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x0a, 0x2e, 0x45,
+	0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x6f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
+	0x65, 0x12, 0x0b, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x08,
+	0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2b, 0x0a, 0x0e, 0x67, 0x65, 0x74, 0x43,
+	0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x2e, 0x43, 0x6f, 0x6d,
+	0x70, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x0c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
+	0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
+	0x75, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x16, 0x2e, 0x44, 0x69,
+	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77,
+	0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
+	0x43, 0x6c, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x08,
+	0x73, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72,
+	0x74, 0x42, 0x79, 0x44, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x06, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0a, 0x2e, 0x55,
+	0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70,
+	0x6c, 0x79, 0x12, 0x28, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x4d, 0x61, 0x69, 0x6c, 0x12, 0x0c, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x69, 0x6c, 0x52,
+	0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x0d,
+	0x61, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x2e,
+	0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e,
+	0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d,
+	0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x42, 0x79, 0x50, 0x68,
+	0x6f, 0x6e, 0x65, 0x12, 0x0e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x6c, 0x65,
+	0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x31, 0x0a,
+	0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x65, 0x42, 0x79, 0x50,
+	0x68, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43,
+	0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x12, 0x2a, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+	0x12, 0x10, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+	0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0f,
+	0x6d, 0x61, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+	0x13, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x52, 0x65,
+	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x0f, 0x67, 0x65,
+	0x74, 0x43, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0c, 0x2e,
+	0x43, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x08, 0x2e, 0x42, 0x69,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x33,
+})
+
+var (
+	file_biService_proto_rawDescOnce sync.Once
+	file_biService_proto_rawDescData []byte
+)
+
+func file_biService_proto_rawDescGZIP() []byte {
+	file_biService_proto_rawDescOnce.Do(func() {
+		file_biService_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_biService_proto_rawDesc), len(file_biService_proto_rawDesc)))
+	})
+	return file_biService_proto_rawDescData
+}
+
+var file_biService_proto_msgTypes = make([]protoimpl.MessageInfo, 41)
+var file_biService_proto_goTypes = []any{
+	(*MyDataAssetReq)(nil),         // 0: MyDataAssetReq
+	(*MyDataAssetResp)(nil),        // 1: MyDataAssetResp
+	(*MyDataAsset)(nil),            // 2: MyDataAsset
+	(*AddProjectReq)(nil),          // 3: AddProjectReq
+	(*AddProjectResp)(nil),         // 4: AddProjectResp
+	(*AddProject)(nil),             // 5: AddProject
+	(*GetInfoIdResp)(nil),          // 6: GetInfoIdResp
+	(*DrawClueReq)(nil),            // 7: DrawClueReq
+	(*CallReq)(nil),                // 8: CallReq
+	(*BiResp)(nil),                 // 9: BiResp
+	(*BiReply)(nil),                // 10: BiReply
+	(*DistributeClueReq)(nil),      // 11: DistributeClueReq
+	(*DistributeDatas)(nil),        // 12: DistributeDatas
+	(*ClueImportReq)(nil),          // 13: ClueImportReq
+	(*ClueImportResp)(nil),         // 14: ClueImportResp
+	(*ClueImport)(nil),             // 15: ClueImport
+	(*ClueAddReq)(nil),             // 16: ClueAddReq
+	(*SqlManageReq)(nil),           // 17: SqlManageReq
+	(*MyInfoReq)(nil),              // 18: MyInfoReq
+	(*Param)(nil),                  // 19: Param
+	(*ExportReq)(nil),              // 20: ExportReq
+	(*OperateReq)(nil),             // 21: OperateReq
+	(*CompanyReq)(nil),             // 22: CompanyReq
+	(*CompanyResp)(nil),            // 23: CompanyResp
+	(*DistributeClueShowReq)(nil),  // 24: DistributeClueShowReq
+	(*DistributeClueShows)(nil),    // 25: DistributeClueShows
+	(*DistributeClueShowss)(nil),   // 26: DistributeClueShowss
+	(*DistributeClueShowResp)(nil), // 27: DistributeClueShowResp
+	(*ExportByDbReq)(nil),          // 28: ExportByDbReq
+	(*FilesData)(nil),              // 29: FilesData
+	(*UpFileReq)(nil),              // 30: UpFileReq
+	(*AcceptanceReq)(nil),          // 31: AcceptanceReq
+	(*AcceptanceResp)(nil),         // 32: AcceptanceResp
+	(*Acceptance)(nil),             // 33: Acceptance
+	(*SendMailReq)(nil),            // 34: SendMailReq
+	(*CreateCuleReq)(nil),          // 35: CreateCuleReq
+	(*TransferClueReq)(nil),        // 36: TransferClueReq
+	(*FindClueInfoReq)(nil),        // 37: FindClueInfoReq
+	(*MakeEntRelationReq)(nil),     // 38: MakeEntRelationReq
+	(*MakeEntRelationResp)(nil),    // 39: MakeEntRelationResp
+	(*ClueInfoReq)(nil),            // 40: ClueInfoReq
+}
+var file_biService_proto_depIdxs = []int32{
+	2,  // 0: MyDataAssetResp.data:type_name -> MyDataAsset
+	5,  // 1: AddProjectResp.data:type_name -> AddProject
+	12, // 2: DistributeClueReq.datas:type_name -> DistributeDatas
+	15, // 3: ClueImportResp.data:type_name -> ClueImport
+	19, // 4: SqlManageReq.params:type_name -> Param
+	25, // 5: DistributeClueShowReq.datas:type_name -> DistributeClueShows
+	26, // 6: DistributeClueShowResp.data:type_name -> DistributeClueShowss
+	29, // 7: ExportByDbReq.datas:type_name -> FilesData
+	33, // 8: AcceptanceResp.data:type_name -> Acceptance
+	0,  // 9: BiService.myDataAsset:input_type -> MyDataAssetReq
+	3,  // 10: BiService.addProject:input_type -> AddProjectReq
+	3,  // 11: BiService.getInfoId:input_type -> AddProjectReq
+	7,  // 12: BiService.drawClue:input_type -> DrawClueReq
+	8,  // 13: BiService.Call:input_type -> CallReq
+	11, // 14: BiService.distributeClue:input_type -> DistributeClueReq
+	13, // 15: BiService.clueImport:input_type -> ClueImportReq
+	16, // 16: BiService.clueAdd:input_type -> ClueAddReq
+	13, // 17: BiService.clueImportTt:input_type -> ClueImportReq
+	8,  // 18: BiService.autoFollow:input_type -> CallReq
+	17, // 19: BiService.sqlManage:input_type -> SqlManageReq
+	18, // 20: BiService.myInfo:input_type -> MyInfoReq
+	20, // 21: BiService.allInfoExport:input_type -> ExportReq
+	20, // 22: BiService.allProjectExport:input_type -> ExportReq
+	21, // 23: BiService.infoOperate:input_type -> OperateReq
+	22, // 24: BiService.getCompanyType:input_type -> CompanyReq
+	24, // 25: BiService.distributeClueShow:input_type -> DistributeClueShowReq
+	28, // 26: BiService.sendMail:input_type -> ExportByDbReq
+	30, // 27: BiService.upFile:input_type -> UpFileReq
+	34, // 28: BiService.sendCommonMail:input_type -> SendMailReq
+	31, // 29: BiService.addAcceptance:input_type -> AcceptanceReq
+	35, // 30: BiService.createClueByPhone:input_type -> CreateCuleReq
+	36, // 31: BiService.transferClueByPhone:input_type -> TransferClueReq
+	37, // 32: BiService.findClueInfo:input_type -> FindClueInfoReq
+	38, // 33: BiService.makeEntRelation:input_type -> MakeEntRelationReq
+	40, // 34: BiService.getClueInfoList:input_type -> ClueInfoReq
+	1,  // 35: BiService.myDataAsset:output_type -> MyDataAssetResp
+	4,  // 36: BiService.addProject:output_type -> AddProjectResp
+	6,  // 37: BiService.getInfoId:output_type -> GetInfoIdResp
+	4,  // 38: BiService.drawClue:output_type -> AddProjectResp
+	9,  // 39: BiService.Call:output_type -> BiResp
+	4,  // 40: BiService.distributeClue:output_type -> AddProjectResp
+	14, // 41: BiService.clueImport:output_type -> ClueImportResp
+	4,  // 42: BiService.clueAdd:output_type -> AddProjectResp
+	14, // 43: BiService.clueImportTt:output_type -> ClueImportResp
+	14, // 44: BiService.autoFollow:output_type -> ClueImportResp
+	10, // 45: BiService.sqlManage:output_type -> BiReply
+	10, // 46: BiService.myInfo:output_type -> BiReply
+	10, // 47: BiService.allInfoExport:output_type -> BiReply
+	10, // 48: BiService.allProjectExport:output_type -> BiReply
+	10, // 49: BiService.infoOperate:output_type -> BiReply
+	23, // 50: BiService.getCompanyType:output_type -> CompanyResp
+	27, // 51: BiService.distributeClueShow:output_type -> DistributeClueShowResp
+	10, // 52: BiService.sendMail:output_type -> BiReply
+	10, // 53: BiService.upFile:output_type -> BiReply
+	10, // 54: BiService.sendCommonMail:output_type -> BiReply
+	32, // 55: BiService.addAcceptance:output_type -> AcceptanceResp
+	10, // 56: BiService.createClueByPhone:output_type -> BiReply
+	10, // 57: BiService.transferClueByPhone:output_type -> BiReply
+	10, // 58: BiService.findClueInfo:output_type -> BiReply
+	39, // 59: BiService.makeEntRelation:output_type -> MakeEntRelationResp
+	10, // 60: BiService.getClueInfoList:output_type -> BiReply
+	35, // [35:61] is the sub-list for method output_type
+	9,  // [9:35] is the sub-list for method input_type
+	9,  // [9:9] is the sub-list for extension type_name
+	9,  // [9:9] is the sub-list for extension extendee
+	0,  // [0:9] is the sub-list for field type_name
+}
+
+func init() { file_biService_proto_init() }
+func file_biService_proto_init() {
+	if File_biService_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: unsafe.Slice(unsafe.StringData(file_biService_proto_rawDesc), len(file_biService_proto_rawDesc)),
+			NumEnums:      0,
+			NumMessages:   41,
+			NumExtensions: 0,
+			NumServices:   1,
+		},
+		GoTypes:           file_biService_proto_goTypes,
+		DependencyIndexes: file_biService_proto_depIdxs,
+		MessageInfos:      file_biService_proto_msgTypes,
+	}.Build()
+	File_biService_proto = out.File
+	file_biService_proto_goTypes = nil
+	file_biService_proto_depIdxs = nil
+}

+ 1071 - 0
rpc/pb/pb/biService_grpc.pb.go

@@ -0,0 +1,1071 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.5.1
+// - protoc             v5.29.3
+// source: biService.proto
+
+package pb
+
+import (
+	context "context"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.64.0 or later.
+const _ = grpc.SupportPackageIsVersion9
+
+const (
+	BiService_MyDataAsset_FullMethodName         = "/BiService/myDataAsset"
+	BiService_AddProject_FullMethodName          = "/BiService/addProject"
+	BiService_GetInfoId_FullMethodName           = "/BiService/getInfoId"
+	BiService_DrawClue_FullMethodName            = "/BiService/drawClue"
+	BiService_Call_FullMethodName                = "/BiService/Call"
+	BiService_DistributeClue_FullMethodName      = "/BiService/distributeClue"
+	BiService_ClueImport_FullMethodName          = "/BiService/clueImport"
+	BiService_ClueAdd_FullMethodName             = "/BiService/clueAdd"
+	BiService_ClueImportTt_FullMethodName        = "/BiService/clueImportTt"
+	BiService_AutoFollow_FullMethodName          = "/BiService/autoFollow"
+	BiService_SqlManage_FullMethodName           = "/BiService/sqlManage"
+	BiService_MyInfo_FullMethodName              = "/BiService/myInfo"
+	BiService_AllInfoExport_FullMethodName       = "/BiService/allInfoExport"
+	BiService_AllProjectExport_FullMethodName    = "/BiService/allProjectExport"
+	BiService_InfoOperate_FullMethodName         = "/BiService/infoOperate"
+	BiService_GetCompanyType_FullMethodName      = "/BiService/getCompanyType"
+	BiService_DistributeClueShow_FullMethodName  = "/BiService/distributeClueShow"
+	BiService_SendMail_FullMethodName            = "/BiService/sendMail"
+	BiService_UpFile_FullMethodName              = "/BiService/upFile"
+	BiService_SendCommonMail_FullMethodName      = "/BiService/sendCommonMail"
+	BiService_AddAcceptance_FullMethodName       = "/BiService/addAcceptance"
+	BiService_CreateClueByPhone_FullMethodName   = "/BiService/createClueByPhone"
+	BiService_TransferClueByPhone_FullMethodName = "/BiService/transferClueByPhone"
+	BiService_FindClueInfo_FullMethodName        = "/BiService/findClueInfo"
+	BiService_MakeEntRelation_FullMethodName     = "/BiService/makeEntRelation"
+	BiService_GetClueInfoList_FullMethodName     = "/BiService/getClueInfoList"
+)
+
+// BiServiceClient is the client API for BiService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type BiServiceClient interface {
+	MyDataAsset(ctx context.Context, in *MyDataAssetReq, opts ...grpc.CallOption) (*MyDataAssetResp, error)
+	AddProject(ctx context.Context, in *AddProjectReq, opts ...grpc.CallOption) (*AddProjectResp, error)
+	GetInfoId(ctx context.Context, in *AddProjectReq, opts ...grpc.CallOption) (*GetInfoIdResp, error)
+	DrawClue(ctx context.Context, in *DrawClueReq, opts ...grpc.CallOption) (*AddProjectResp, error)
+	Call(ctx context.Context, in *CallReq, opts ...grpc.CallOption) (*BiResp, error)
+	DistributeClue(ctx context.Context, in *DistributeClueReq, opts ...grpc.CallOption) (*AddProjectResp, error)
+	ClueImport(ctx context.Context, in *ClueImportReq, opts ...grpc.CallOption) (*ClueImportResp, error)
+	ClueAdd(ctx context.Context, in *ClueAddReq, opts ...grpc.CallOption) (*AddProjectResp, error)
+	ClueImportTt(ctx context.Context, in *ClueImportReq, opts ...grpc.CallOption) (*ClueImportResp, error)
+	AutoFollow(ctx context.Context, in *CallReq, opts ...grpc.CallOption) (*ClueImportResp, error)
+	SqlManage(ctx context.Context, in *SqlManageReq, opts ...grpc.CallOption) (*BiReply, error)
+	MyInfo(ctx context.Context, in *MyInfoReq, opts ...grpc.CallOption) (*BiReply, error)
+	AllInfoExport(ctx context.Context, in *ExportReq, opts ...grpc.CallOption) (*BiReply, error)
+	AllProjectExport(ctx context.Context, in *ExportReq, opts ...grpc.CallOption) (*BiReply, error)
+	InfoOperate(ctx context.Context, in *OperateReq, opts ...grpc.CallOption) (*BiReply, error)
+	GetCompanyType(ctx context.Context, in *CompanyReq, opts ...grpc.CallOption) (*CompanyResp, error)
+	DistributeClueShow(ctx context.Context, in *DistributeClueShowReq, opts ...grpc.CallOption) (*DistributeClueShowResp, error)
+	SendMail(ctx context.Context, in *ExportByDbReq, opts ...grpc.CallOption) (*BiReply, error)
+	UpFile(ctx context.Context, in *UpFileReq, opts ...grpc.CallOption) (*BiReply, error)
+	SendCommonMail(ctx context.Context, in *SendMailReq, opts ...grpc.CallOption) (*BiReply, error)
+	AddAcceptance(ctx context.Context, in *AcceptanceReq, opts ...grpc.CallOption) (*AcceptanceResp, error)
+	CreateClueByPhone(ctx context.Context, in *CreateCuleReq, opts ...grpc.CallOption) (*BiReply, error)
+	TransferClueByPhone(ctx context.Context, in *TransferClueReq, opts ...grpc.CallOption) (*BiReply, error)
+	FindClueInfo(ctx context.Context, in *FindClueInfoReq, opts ...grpc.CallOption) (*BiReply, error)
+	MakeEntRelation(ctx context.Context, in *MakeEntRelationReq, opts ...grpc.CallOption) (*MakeEntRelationResp, error)
+	GetClueInfoList(ctx context.Context, in *ClueInfoReq, opts ...grpc.CallOption) (*BiReply, error)
+}
+
+type biServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewBiServiceClient(cc grpc.ClientConnInterface) BiServiceClient {
+	return &biServiceClient{cc}
+}
+
+func (c *biServiceClient) MyDataAsset(ctx context.Context, in *MyDataAssetReq, opts ...grpc.CallOption) (*MyDataAssetResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(MyDataAssetResp)
+	err := c.cc.Invoke(ctx, BiService_MyDataAsset_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) AddProject(ctx context.Context, in *AddProjectReq, opts ...grpc.CallOption) (*AddProjectResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(AddProjectResp)
+	err := c.cc.Invoke(ctx, BiService_AddProject_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) GetInfoId(ctx context.Context, in *AddProjectReq, opts ...grpc.CallOption) (*GetInfoIdResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(GetInfoIdResp)
+	err := c.cc.Invoke(ctx, BiService_GetInfoId_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) DrawClue(ctx context.Context, in *DrawClueReq, opts ...grpc.CallOption) (*AddProjectResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(AddProjectResp)
+	err := c.cc.Invoke(ctx, BiService_DrawClue_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) Call(ctx context.Context, in *CallReq, opts ...grpc.CallOption) (*BiResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiResp)
+	err := c.cc.Invoke(ctx, BiService_Call_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) DistributeClue(ctx context.Context, in *DistributeClueReq, opts ...grpc.CallOption) (*AddProjectResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(AddProjectResp)
+	err := c.cc.Invoke(ctx, BiService_DistributeClue_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) ClueImport(ctx context.Context, in *ClueImportReq, opts ...grpc.CallOption) (*ClueImportResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(ClueImportResp)
+	err := c.cc.Invoke(ctx, BiService_ClueImport_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) ClueAdd(ctx context.Context, in *ClueAddReq, opts ...grpc.CallOption) (*AddProjectResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(AddProjectResp)
+	err := c.cc.Invoke(ctx, BiService_ClueAdd_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) ClueImportTt(ctx context.Context, in *ClueImportReq, opts ...grpc.CallOption) (*ClueImportResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(ClueImportResp)
+	err := c.cc.Invoke(ctx, BiService_ClueImportTt_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) AutoFollow(ctx context.Context, in *CallReq, opts ...grpc.CallOption) (*ClueImportResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(ClueImportResp)
+	err := c.cc.Invoke(ctx, BiService_AutoFollow_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) SqlManage(ctx context.Context, in *SqlManageReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_SqlManage_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) MyInfo(ctx context.Context, in *MyInfoReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_MyInfo_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) AllInfoExport(ctx context.Context, in *ExportReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_AllInfoExport_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) AllProjectExport(ctx context.Context, in *ExportReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_AllProjectExport_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) InfoOperate(ctx context.Context, in *OperateReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_InfoOperate_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) GetCompanyType(ctx context.Context, in *CompanyReq, opts ...grpc.CallOption) (*CompanyResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(CompanyResp)
+	err := c.cc.Invoke(ctx, BiService_GetCompanyType_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) DistributeClueShow(ctx context.Context, in *DistributeClueShowReq, opts ...grpc.CallOption) (*DistributeClueShowResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(DistributeClueShowResp)
+	err := c.cc.Invoke(ctx, BiService_DistributeClueShow_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) SendMail(ctx context.Context, in *ExportByDbReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_SendMail_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) UpFile(ctx context.Context, in *UpFileReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_UpFile_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) SendCommonMail(ctx context.Context, in *SendMailReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_SendCommonMail_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) AddAcceptance(ctx context.Context, in *AcceptanceReq, opts ...grpc.CallOption) (*AcceptanceResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(AcceptanceResp)
+	err := c.cc.Invoke(ctx, BiService_AddAcceptance_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) CreateClueByPhone(ctx context.Context, in *CreateCuleReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_CreateClueByPhone_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) TransferClueByPhone(ctx context.Context, in *TransferClueReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_TransferClueByPhone_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) FindClueInfo(ctx context.Context, in *FindClueInfoReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_FindClueInfo_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) MakeEntRelation(ctx context.Context, in *MakeEntRelationReq, opts ...grpc.CallOption) (*MakeEntRelationResp, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(MakeEntRelationResp)
+	err := c.cc.Invoke(ctx, BiService_MakeEntRelation_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *biServiceClient) GetClueInfoList(ctx context.Context, in *ClueInfoReq, opts ...grpc.CallOption) (*BiReply, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(BiReply)
+	err := c.cc.Invoke(ctx, BiService_GetClueInfoList_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// BiServiceServer is the server API for BiService service.
+// All implementations must embed UnimplementedBiServiceServer
+// for forward compatibility.
+type BiServiceServer interface {
+	MyDataAsset(context.Context, *MyDataAssetReq) (*MyDataAssetResp, error)
+	AddProject(context.Context, *AddProjectReq) (*AddProjectResp, error)
+	GetInfoId(context.Context, *AddProjectReq) (*GetInfoIdResp, error)
+	DrawClue(context.Context, *DrawClueReq) (*AddProjectResp, error)
+	Call(context.Context, *CallReq) (*BiResp, error)
+	DistributeClue(context.Context, *DistributeClueReq) (*AddProjectResp, error)
+	ClueImport(context.Context, *ClueImportReq) (*ClueImportResp, error)
+	ClueAdd(context.Context, *ClueAddReq) (*AddProjectResp, error)
+	ClueImportTt(context.Context, *ClueImportReq) (*ClueImportResp, error)
+	AutoFollow(context.Context, *CallReq) (*ClueImportResp, error)
+	SqlManage(context.Context, *SqlManageReq) (*BiReply, error)
+	MyInfo(context.Context, *MyInfoReq) (*BiReply, error)
+	AllInfoExport(context.Context, *ExportReq) (*BiReply, error)
+	AllProjectExport(context.Context, *ExportReq) (*BiReply, error)
+	InfoOperate(context.Context, *OperateReq) (*BiReply, error)
+	GetCompanyType(context.Context, *CompanyReq) (*CompanyResp, error)
+	DistributeClueShow(context.Context, *DistributeClueShowReq) (*DistributeClueShowResp, error)
+	SendMail(context.Context, *ExportByDbReq) (*BiReply, error)
+	UpFile(context.Context, *UpFileReq) (*BiReply, error)
+	SendCommonMail(context.Context, *SendMailReq) (*BiReply, error)
+	AddAcceptance(context.Context, *AcceptanceReq) (*AcceptanceResp, error)
+	CreateClueByPhone(context.Context, *CreateCuleReq) (*BiReply, error)
+	TransferClueByPhone(context.Context, *TransferClueReq) (*BiReply, error)
+	FindClueInfo(context.Context, *FindClueInfoReq) (*BiReply, error)
+	MakeEntRelation(context.Context, *MakeEntRelationReq) (*MakeEntRelationResp, error)
+	GetClueInfoList(context.Context, *ClueInfoReq) (*BiReply, error)
+	mustEmbedUnimplementedBiServiceServer()
+}
+
+// UnimplementedBiServiceServer must be embedded to have
+// forward compatible implementations.
+//
+// NOTE: this should be embedded by value instead of pointer to avoid a nil
+// pointer dereference when methods are called.
+type UnimplementedBiServiceServer struct{}
+
+func (UnimplementedBiServiceServer) MyDataAsset(context.Context, *MyDataAssetReq) (*MyDataAssetResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method MyDataAsset not implemented")
+}
+func (UnimplementedBiServiceServer) AddProject(context.Context, *AddProjectReq) (*AddProjectResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AddProject not implemented")
+}
+func (UnimplementedBiServiceServer) GetInfoId(context.Context, *AddProjectReq) (*GetInfoIdResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetInfoId not implemented")
+}
+func (UnimplementedBiServiceServer) DrawClue(context.Context, *DrawClueReq) (*AddProjectResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DrawClue not implemented")
+}
+func (UnimplementedBiServiceServer) Call(context.Context, *CallReq) (*BiResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method Call not implemented")
+}
+func (UnimplementedBiServiceServer) DistributeClue(context.Context, *DistributeClueReq) (*AddProjectResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DistributeClue not implemented")
+}
+func (UnimplementedBiServiceServer) ClueImport(context.Context, *ClueImportReq) (*ClueImportResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClueImport not implemented")
+}
+func (UnimplementedBiServiceServer) ClueAdd(context.Context, *ClueAddReq) (*AddProjectResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClueAdd not implemented")
+}
+func (UnimplementedBiServiceServer) ClueImportTt(context.Context, *ClueImportReq) (*ClueImportResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClueImportTt not implemented")
+}
+func (UnimplementedBiServiceServer) AutoFollow(context.Context, *CallReq) (*ClueImportResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AutoFollow not implemented")
+}
+func (UnimplementedBiServiceServer) SqlManage(context.Context, *SqlManageReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SqlManage not implemented")
+}
+func (UnimplementedBiServiceServer) MyInfo(context.Context, *MyInfoReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method MyInfo not implemented")
+}
+func (UnimplementedBiServiceServer) AllInfoExport(context.Context, *ExportReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AllInfoExport not implemented")
+}
+func (UnimplementedBiServiceServer) AllProjectExport(context.Context, *ExportReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AllProjectExport not implemented")
+}
+func (UnimplementedBiServiceServer) InfoOperate(context.Context, *OperateReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method InfoOperate not implemented")
+}
+func (UnimplementedBiServiceServer) GetCompanyType(context.Context, *CompanyReq) (*CompanyResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetCompanyType not implemented")
+}
+func (UnimplementedBiServiceServer) DistributeClueShow(context.Context, *DistributeClueShowReq) (*DistributeClueShowResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DistributeClueShow not implemented")
+}
+func (UnimplementedBiServiceServer) SendMail(context.Context, *ExportByDbReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SendMail not implemented")
+}
+func (UnimplementedBiServiceServer) UpFile(context.Context, *UpFileReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpFile not implemented")
+}
+func (UnimplementedBiServiceServer) SendCommonMail(context.Context, *SendMailReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SendCommonMail not implemented")
+}
+func (UnimplementedBiServiceServer) AddAcceptance(context.Context, *AcceptanceReq) (*AcceptanceResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AddAcceptance not implemented")
+}
+func (UnimplementedBiServiceServer) CreateClueByPhone(context.Context, *CreateCuleReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateClueByPhone not implemented")
+}
+func (UnimplementedBiServiceServer) TransferClueByPhone(context.Context, *TransferClueReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method TransferClueByPhone not implemented")
+}
+func (UnimplementedBiServiceServer) FindClueInfo(context.Context, *FindClueInfoReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method FindClueInfo not implemented")
+}
+func (UnimplementedBiServiceServer) MakeEntRelation(context.Context, *MakeEntRelationReq) (*MakeEntRelationResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method MakeEntRelation not implemented")
+}
+func (UnimplementedBiServiceServer) GetClueInfoList(context.Context, *ClueInfoReq) (*BiReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetClueInfoList not implemented")
+}
+func (UnimplementedBiServiceServer) mustEmbedUnimplementedBiServiceServer() {}
+func (UnimplementedBiServiceServer) testEmbeddedByValue()                   {}
+
+// UnsafeBiServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to BiServiceServer will
+// result in compilation errors.
+type UnsafeBiServiceServer interface {
+	mustEmbedUnimplementedBiServiceServer()
+}
+
+func RegisterBiServiceServer(s grpc.ServiceRegistrar, srv BiServiceServer) {
+	// If the following call pancis, it indicates UnimplementedBiServiceServer was
+	// embedded by pointer and is nil.  This will cause panics if an
+	// unimplemented method is ever invoked, so we test this at initialization
+	// time to prevent it from happening at runtime later due to I/O.
+	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
+		t.testEmbeddedByValue()
+	}
+	s.RegisterService(&BiService_ServiceDesc, srv)
+}
+
+func _BiService_MyDataAsset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(MyDataAssetReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).MyDataAsset(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_MyDataAsset_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).MyDataAsset(ctx, req.(*MyDataAssetReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_AddProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(AddProjectReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).AddProject(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_AddProject_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).AddProject(ctx, req.(*AddProjectReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_GetInfoId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(AddProjectReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).GetInfoId(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_GetInfoId_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).GetInfoId(ctx, req.(*AddProjectReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_DrawClue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DrawClueReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).DrawClue(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_DrawClue_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).DrawClue(ctx, req.(*DrawClueReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_Call_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CallReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).Call(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_Call_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).Call(ctx, req.(*CallReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_DistributeClue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DistributeClueReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).DistributeClue(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_DistributeClue_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).DistributeClue(ctx, req.(*DistributeClueReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_ClueImport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ClueImportReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).ClueImport(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_ClueImport_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).ClueImport(ctx, req.(*ClueImportReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_ClueAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ClueAddReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).ClueAdd(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_ClueAdd_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).ClueAdd(ctx, req.(*ClueAddReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_ClueImportTt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ClueImportReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).ClueImportTt(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_ClueImportTt_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).ClueImportTt(ctx, req.(*ClueImportReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_AutoFollow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CallReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).AutoFollow(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_AutoFollow_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).AutoFollow(ctx, req.(*CallReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_SqlManage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SqlManageReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).SqlManage(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_SqlManage_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).SqlManage(ctx, req.(*SqlManageReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_MyInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(MyInfoReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).MyInfo(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_MyInfo_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).MyInfo(ctx, req.(*MyInfoReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_AllInfoExport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ExportReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).AllInfoExport(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_AllInfoExport_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).AllInfoExport(ctx, req.(*ExportReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_AllProjectExport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ExportReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).AllProjectExport(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_AllProjectExport_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).AllProjectExport(ctx, req.(*ExportReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_InfoOperate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(OperateReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).InfoOperate(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_InfoOperate_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).InfoOperate(ctx, req.(*OperateReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_GetCompanyType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CompanyReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).GetCompanyType(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_GetCompanyType_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).GetCompanyType(ctx, req.(*CompanyReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_DistributeClueShow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DistributeClueShowReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).DistributeClueShow(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_DistributeClueShow_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).DistributeClueShow(ctx, req.(*DistributeClueShowReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_SendMail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ExportByDbReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).SendMail(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_SendMail_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).SendMail(ctx, req.(*ExportByDbReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_UpFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpFileReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).UpFile(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_UpFile_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).UpFile(ctx, req.(*UpFileReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_SendCommonMail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SendMailReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).SendCommonMail(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_SendCommonMail_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).SendCommonMail(ctx, req.(*SendMailReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_AddAcceptance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(AcceptanceReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).AddAcceptance(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_AddAcceptance_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).AddAcceptance(ctx, req.(*AcceptanceReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_CreateClueByPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateCuleReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).CreateClueByPhone(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_CreateClueByPhone_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).CreateClueByPhone(ctx, req.(*CreateCuleReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_TransferClueByPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(TransferClueReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).TransferClueByPhone(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_TransferClueByPhone_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).TransferClueByPhone(ctx, req.(*TransferClueReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_FindClueInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(FindClueInfoReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).FindClueInfo(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_FindClueInfo_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).FindClueInfo(ctx, req.(*FindClueInfoReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_MakeEntRelation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(MakeEntRelationReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).MakeEntRelation(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_MakeEntRelation_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).MakeEntRelation(ctx, req.(*MakeEntRelationReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _BiService_GetClueInfoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ClueInfoReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BiServiceServer).GetClueInfoList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: BiService_GetClueInfoList_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BiServiceServer).GetClueInfoList(ctx, req.(*ClueInfoReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+// BiService_ServiceDesc is the grpc.ServiceDesc for BiService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var BiService_ServiceDesc = grpc.ServiceDesc{
+	ServiceName: "BiService",
+	HandlerType: (*BiServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "myDataAsset",
+			Handler:    _BiService_MyDataAsset_Handler,
+		},
+		{
+			MethodName: "addProject",
+			Handler:    _BiService_AddProject_Handler,
+		},
+		{
+			MethodName: "getInfoId",
+			Handler:    _BiService_GetInfoId_Handler,
+		},
+		{
+			MethodName: "drawClue",
+			Handler:    _BiService_DrawClue_Handler,
+		},
+		{
+			MethodName: "Call",
+			Handler:    _BiService_Call_Handler,
+		},
+		{
+			MethodName: "distributeClue",
+			Handler:    _BiService_DistributeClue_Handler,
+		},
+		{
+			MethodName: "clueImport",
+			Handler:    _BiService_ClueImport_Handler,
+		},
+		{
+			MethodName: "clueAdd",
+			Handler:    _BiService_ClueAdd_Handler,
+		},
+		{
+			MethodName: "clueImportTt",
+			Handler:    _BiService_ClueImportTt_Handler,
+		},
+		{
+			MethodName: "autoFollow",
+			Handler:    _BiService_AutoFollow_Handler,
+		},
+		{
+			MethodName: "sqlManage",
+			Handler:    _BiService_SqlManage_Handler,
+		},
+		{
+			MethodName: "myInfo",
+			Handler:    _BiService_MyInfo_Handler,
+		},
+		{
+			MethodName: "allInfoExport",
+			Handler:    _BiService_AllInfoExport_Handler,
+		},
+		{
+			MethodName: "allProjectExport",
+			Handler:    _BiService_AllProjectExport_Handler,
+		},
+		{
+			MethodName: "infoOperate",
+			Handler:    _BiService_InfoOperate_Handler,
+		},
+		{
+			MethodName: "getCompanyType",
+			Handler:    _BiService_GetCompanyType_Handler,
+		},
+		{
+			MethodName: "distributeClueShow",
+			Handler:    _BiService_DistributeClueShow_Handler,
+		},
+		{
+			MethodName: "sendMail",
+			Handler:    _BiService_SendMail_Handler,
+		},
+		{
+			MethodName: "upFile",
+			Handler:    _BiService_UpFile_Handler,
+		},
+		{
+			MethodName: "sendCommonMail",
+			Handler:    _BiService_SendCommonMail_Handler,
+		},
+		{
+			MethodName: "addAcceptance",
+			Handler:    _BiService_AddAcceptance_Handler,
+		},
+		{
+			MethodName: "createClueByPhone",
+			Handler:    _BiService_CreateClueByPhone_Handler,
+		},
+		{
+			MethodName: "transferClueByPhone",
+			Handler:    _BiService_TransferClueByPhone_Handler,
+		},
+		{
+			MethodName: "findClueInfo",
+			Handler:    _BiService_FindClueInfo_Handler,
+		},
+		{
+			MethodName: "makeEntRelation",
+			Handler:    _BiService_MakeEntRelation_Handler,
+		},
+		{
+			MethodName: "getClueInfoList",
+			Handler:    _BiService_GetClueInfoList_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "biService.proto",
+}