Selaa lähdekoodia

Merge remote-tracking branch 'origin/feature/v1.1.45' into dev_v1.1.45_wh

WH01243 1 vuosi sitten
vanhempi
commit
a946574df4

+ 1 - 0
jyBXBuyer/api/bxbuyer.api

@@ -9,6 +9,7 @@ info (
 
 type (
 	buyerListReq {
+		baseParam
 		Province       []string `json:"province,optional"`       //省份
 		City           []string `json:"city,optional"`           //城市
 		BuyerClass     []string `json:"buyerClass,optional"`     //客户类型(采购单位行业)

+ 7 - 0
jyBXBuyer/api/internal/logic/buyerSearchListLogic.go

@@ -49,6 +49,13 @@ func (l *BuyerSearchListLogic) BuyerSearchList(req *types.BuyerListReq) (resp *t
 		PageSize:       req.PageSize,
 		PageNum:        req.PageNum,
 		IsContact:      req.IsContact,
+		PositionType:   req.PositionType,
+		PositionId:     req.PositionId,
+		AccountId:      req.AccountId,
+		MgoUserId:      req.MgoUserId,
+		NewUserId:      req.NewUserId,
+		EntAccountId:   req.EntAccountId,
+		Phone:          req.Phone,
 	})
 	if err0 != nil {
 		return &types.CommonResp{

+ 1 - 0
jyBXBuyer/api/internal/types/types.go

@@ -2,6 +2,7 @@
 package types
 
 type BuyerListReq struct {
+	BaseParam
 	Province       []string `json:"province,optional"`       //省份
 	City           []string `json:"city,optional"`           //城市
 	BuyerClass     []string `json:"buyerClass,optional"`     //客户类型(采购单位行业)

+ 6 - 12
jyBXBuyer/go.mod

@@ -3,19 +3,13 @@ module jyBXBuyer
 go 1.16
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20230420060106-a9c3f4187463
+	app.yhyue.com/moapp/jybase v0.0.0-20240104022202-158734833402
 	app.yhyue.com/moapp/jylogx v0.0.0-20230522075659-ae6fbedb92bc
 	bp.jydev.jianyu360.cn/BaseService/gateway v1.3.4
-	github.com/go-sql-driver/mysql v1.7.0
-	github.com/golang/protobuf v1.5.3
-	github.com/zeromicro/go-zero v1.5.2
-	google.golang.org/grpc v1.54.0
-	google.golang.org/protobuf v1.30.0
+	github.com/go-sql-driver/mysql v1.7.1
+	github.com/zeromicro/go-zero v1.6.1
+	google.golang.org/grpc v1.60.0
+	google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1
 )
 
-require (
-	go.opentelemetry.io/otel/exporters/jaeger v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/zipkin v1.15.1 // indirect
-)
+require app.yhyue.com/moapp/jypkg v1.13.3

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 609 - 5
jyBXBuyer/go.sum


+ 13 - 6
jyBXBuyer/rpc/bxbuyer.proto

@@ -21,6 +21,13 @@ message BuyerListReq {
   string entUserId = 15;//商机管理用户id
   string pageSource = 16;// 来源   search-搜索  index-首页
   int64  isContact = 17;// 是否有联系人:0-全部; 1-有 ;2-无
+  int64 PositionType = 21;// 职位类型 0个人 1企业
+  int64 PositionId = 22;//职位id
+  int64 AccountId = 23;//账户id
+  string MgoUserId = 24;//原userId
+  int64 NewUserId = 27;//base_user_id
+  int64 EntAccountId = 28;//企业账户id
+  string Phone = 29;
 }
 
 message BuyerListResp {
@@ -45,17 +52,17 @@ message  BuyerList {
   int64 contactCount = 9;// 历史联系人数量
   int64 projectCount = 10;// 采购项目数量
   float bidAmountCount = 11;// 采购规模
-  string seo_id =12; //seoid
+  string seo_id = 12; //seoid
 }
 
 message relatesInformationReq {
   int64  biddingCount = 1;
-  int64  buyerCount=2;
+  int64  buyerCount = 2;
   string buyer = 3;
   string area = 4;
   string city = 5;
   int64  positionId = 6; // 职位id
-  int64  positionType =7;// 职位类型 0个人 1企业
+  int64  positionType = 7;// 职位类型 0个人 1企业
   string phone = 8 ;// 手机号
 }
 //
@@ -65,12 +72,12 @@ message relatesInformationResp{
   relatesInformation data = 3;
 }
 message relatesInformation {
-  repeated infoList buyerList =1;//采购单位信息
+  repeated infoList buyerList = 1;//采购单位信息
   repeated infoList biddingList = 2;//类似采购单位招标信息
 }
 //
 message infoList {
-  string name =1;//采购单位名称||信息标题
+  string name = 1;//采购单位名称||信息标题
   string id = 2;//信息类型id
   string publishTime = 3;
 }
@@ -78,7 +85,7 @@ message infoList {
 message BuyerSupplyInfoReq{
   string appId = 1;//剑鱼默认10000
   int64  positionId = 2; // 职位id
-  int64  positionType =3;// 职位类型 0个人 1企业
+  int64  positionType = 3;// 职位类型 0个人 1企业
   string phone = 4 ;// 手机号
   repeated string buyers = 5;// 采购单位名称
 }

+ 7 - 0
jyBXBuyer/rpc/etc/bxbuyer.yaml

@@ -30,3 +30,10 @@ DefaultBuyerNames:
   - "华能信息技术有限公司"
   - "浙江华数广电网络股份有限公司"
 BuyerSearchLimit: 100  # 采购单位搜索数量限制
+Middleground:
+  Etcd:
+    Hosts:
+      - 192.168.3.206:2379
+  PowerCheckCenterKey: powercheck.rpc #权益校验中台
+  UserCenterKey: usercenter.rpc #用户中台rpc
+  ResourceCenterKey: resource.rpc #资源中台rpc

+ 7 - 0
jyBXBuyer/rpc/init/init.go

@@ -1,6 +1,7 @@
 package init
 
 import (
+	"app.yhyue.com/moapp/jypkg/middleground"
 	"flag"
 	_ "github.com/go-sql-driver/mysql"
 	"github.com/zeromicro/go-zero/core/conf"
@@ -13,6 +14,7 @@ var err error
 
 var dbFile = flag.String("df", "etc/db.yaml", "the db file")
 var DB config.Db
+var Middleground *middleground.Middleground
 
 func init() {
 	//基本配置
@@ -27,4 +29,9 @@ func init() {
 	RedisInit(&DB.Redis)
 	//初始es
 	EsInit(&DB.Es)
+	//初始化中台相关
+	Middleground = middleground.NewMiddleground(C.Middleground.Etcd.Hosts).
+		RegUserCenter(C.Middleground.UserCenterKey).
+		RegPowerCheckCenter(C.Middleground.PowerCheckCenterKey).
+		RegResourceCenter(C.Middleground.ResourceCenterKey)
 }

+ 8 - 0
jyBXBuyer/rpc/internal/config/config.go

@@ -11,6 +11,14 @@ type Config struct {
 	BuyerCount        int64
 	DefaultBuyerNames []string
 	BuyerSearchLimit  int64
+	Middleground      struct { //中台
+		Etcd struct {
+			Hosts []string
+		}
+		PowerCheckCenterKey string
+		UserCenterKey       string
+		ResourceCenterKey   string
+	}
 }
 
 type Db struct {

+ 7 - 1
jyBXBuyer/rpc/model/buyerListBYEs.go

@@ -324,6 +324,11 @@ func SupplyFollowInfo(in *bxbuyer.BuyerListReq, buyerNames []string, resp *bxbuy
 	//客户关注
 	t3 := time.Now()
 	isFws := map[string]bool{}
+	entIdInt, _ := strconv.Atoi(in.EntId)
+	powerCheck := IC.Middleground.PowerCheckCenter.Check(in.AppId, in.MgoUserId, in.NewUserId, in.AccountId, int64(entIdInt), in.PositionType, in.PositionId)
+	if powerCheck != nil && (*powerCheck).Member.Pid != "" {
+		in.UserId = (*powerCheck).Member.Pid
+	}
 	if in.IsCheckFollow {
 		isFws = IsFollowd(buyerNames, in.UserId)
 	}
@@ -734,6 +739,7 @@ func IsFollowd(buyerNames []string, userId string) (isFws map[string]bool) {
 			"$in": buyerNames,
 		},
 	}
+	log.Println("IsFollowd query:", fc, queryMap)
 	list, ok := IC.Mgo.Find(fc, queryMap, `{"_id":1}`, nil, false, -1, -1)
 	if ok && len(*list) > 0 {
 		isFws = map[string]bool{}
@@ -743,7 +749,7 @@ func IsFollowd(buyerNames []string, userId string) (isFws map[string]bool) {
 			}
 		}
 	} else {
-		logx.Info("采购单位是否已关注信息异常  or  未查到数据")
+		logx.Info("采购单位是否已关注信息异常  or  未查到数据", ok)
 	}
 	return
 }

+ 197 - 125
jyBXBuyer/rpc/type/bxbuyer/bxbuyer.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.30.0
-// 	protoc        v3.21.12
+// 	protoc-gen-go v1.28.0
+// 	protoc        v3.19.4
 // source: bxbuyer.proto
 
 package bxbuyer
@@ -36,12 +36,19 @@ type BuyerListReq struct {
 	IsCheckReceive bool     `protobuf:"varint,9,opt,name=isCheckReceive,proto3" json:"isCheckReceive,omitempty"` //是否查询已领取(商机管理用户)
 	BuyerClass     []string `protobuf:"bytes,10,rep,name=buyerClass,proto3" json:"buyerClass,omitempty"`         //采购单位类型
 	UserId         string   `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId,omitempty"`
-	UserType       string   `protobuf:"bytes,12,opt,name=userType,proto3" json:"userType,omitempty"`     //用户状态 fType:免费用户	pType:付费用户	vType:超级订阅用户	mType:大会员用户	eType:商机管理用户
-	Platform       string   `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform,omitempty"`     //请求平台
-	EntId          string   `protobuf:"bytes,14,opt,name=entId,proto3" json:"entId,omitempty"`           //企业id
-	EntUserId      string   `protobuf:"bytes,15,opt,name=entUserId,proto3" json:"entUserId,omitempty"`   //商机管理用户id
-	PageSource     string   `protobuf:"bytes,16,opt,name=pageSource,proto3" json:"pageSource,omitempty"` // 来源   search-搜索  index-首页
-	IsContact      int64    `protobuf:"varint,17,opt,name=isContact,proto3" json:"isContact,omitempty"`  // 是否有联系人:0-全部; 1-有 ;2-无
+	UserType       string   `protobuf:"bytes,12,opt,name=userType,proto3" json:"userType,omitempty"`          //用户状态 fType:免费用户	pType:付费用户	vType:超级订阅用户	mType:大会员用户	eType:商机管理用户
+	Platform       string   `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform,omitempty"`          //请求平台
+	EntId          string   `protobuf:"bytes,14,opt,name=entId,proto3" json:"entId,omitempty"`                //企业id
+	EntUserId      string   `protobuf:"bytes,15,opt,name=entUserId,proto3" json:"entUserId,omitempty"`        //商机管理用户id
+	PageSource     string   `protobuf:"bytes,16,opt,name=pageSource,proto3" json:"pageSource,omitempty"`      // 来源   search-搜索  index-首页
+	IsContact      int64    `protobuf:"varint,17,opt,name=isContact,proto3" json:"isContact,omitempty"`       // 是否有联系人:0-全部; 1-有 ;2-无
+	PositionType   int64    `protobuf:"varint,21,opt,name=PositionType,proto3" json:"PositionType,omitempty"` // 职位类型 0个人 1企业
+	PositionId     int64    `protobuf:"varint,22,opt,name=PositionId,proto3" json:"PositionId,omitempty"`     //职位id
+	AccountId      int64    `protobuf:"varint,23,opt,name=AccountId,proto3" json:"AccountId,omitempty"`       //账户id
+	MgoUserId      string   `protobuf:"bytes,24,opt,name=MgoUserId,proto3" json:"MgoUserId,omitempty"`        //原userId
+	NewUserId      int64    `protobuf:"varint,27,opt,name=NewUserId,proto3" json:"NewUserId,omitempty"`       //base_user_id
+	EntAccountId   int64    `protobuf:"varint,28,opt,name=EntAccountId,proto3" json:"EntAccountId,omitempty"` //企业账户id
+	Phone          string   `protobuf:"bytes,29,opt,name=Phone,proto3" json:"Phone,omitempty"`
 }
 
 func (x *BuyerListReq) Reset() {
@@ -195,6 +202,55 @@ func (x *BuyerListReq) GetIsContact() int64 {
 	return 0
 }
 
+func (x *BuyerListReq) GetPositionType() int64 {
+	if x != nil {
+		return x.PositionType
+	}
+	return 0
+}
+
+func (x *BuyerListReq) GetPositionId() int64 {
+	if x != nil {
+		return x.PositionId
+	}
+	return 0
+}
+
+func (x *BuyerListReq) GetAccountId() int64 {
+	if x != nil {
+		return x.AccountId
+	}
+	return 0
+}
+
+func (x *BuyerListReq) GetMgoUserId() string {
+	if x != nil {
+		return x.MgoUserId
+	}
+	return ""
+}
+
+func (x *BuyerListReq) GetNewUserId() int64 {
+	if x != nil {
+		return x.NewUserId
+	}
+	return 0
+}
+
+func (x *BuyerListReq) GetEntAccountId() int64 {
+	if x != nil {
+		return x.EntAccountId
+	}
+	return 0
+}
+
+func (x *BuyerListReq) GetPhone() string {
+	if x != nil {
+		return x.Phone
+	}
+	return ""
+}
+
 type BuyerListResp struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -551,6 +607,7 @@ func (x *RelatesInformationReq) GetPhone() string {
 	return ""
 }
 
+//
 type RelatesInformationResp struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -669,6 +726,7 @@ func (x *RelatesInformation) GetBiddingList() []*InfoList {
 	return nil
 }
 
+//
 type InfoList struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -958,7 +1016,7 @@ var File_bxbuyer_proto protoreflect.FileDescriptor
 
 var file_bxbuyer_proto_rawDesc = []byte{
 	0x0a, 0x0d, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
-	0x07, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x42, 0x75, 0x79,
+	0x07, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x22, 0xcc, 0x05, 0x0a, 0x0c, 0x42, 0x75, 0x79,
 	0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 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,
 	0x18, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
@@ -989,122 +1047,136 @@ var file_bxbuyer_proto_rawDesc = []byte{
 	0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
 	0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63,
 	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x11,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x22,
-	0x6b, 0x0a, 0x0d, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
-	0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65,
-	0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72,
-	0x72, 0x4d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79,
-	0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x49, 0x0a, 0x09,
-	0x42, 0x75, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75,
-	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
-	0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
-	0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73,
-	0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xf2, 0x02, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x65,
-	0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70,
-	0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
-	0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69,
-	0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
-	0x0a, 0x69, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69,
-	0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
-	0x0a, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72,
-	0x65, 0x63, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x63, 0x49,
-	0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18,
-	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73,
-	0x73, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e,
-	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67,
-	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
-	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6e,
-	0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f,
-	0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52,
-	0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a,
-	0x0e, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
-	0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
-	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x6f, 0x5f, 0x69, 0x64, 0x18,
-	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x6f, 0x49, 0x64, 0x22, 0xf3, 0x01, 0x0a,
-	0x15, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e,
-	0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x69,
-	0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
-	0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72,
-	0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
-	0x61, 0x72, 0x65, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69,
-	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f,
-	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69,
-	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
-	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
-	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f,
-	0x6e, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66,
-	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08,
-	0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
-	0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d,
-	0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67,
-	0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
-	0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73,
-	0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74,
-	0x61, 0x22, 0x7a, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f,
-	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72,
-	0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x78, 0x62,
-	0x75, 0x79, 0x65, 0x72, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x62,
-	0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x62, 0x69, 0x64, 0x64,
-	0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
-	0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
-	0x52, 0x0b, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x50, 0x0a,
-	0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
-	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a,
-	0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a,
-	0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22,
-	0x9c, 0x01, 0x0a, 0x12, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49,
-	0x6e, 0x66, 0x6f, 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, 0x22, 0x0a, 0x0c,
-	0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
-	0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
-	0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x79, 0x65, 0x72, 0x73,
-	0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x79, 0x65, 0x72, 0x73, 0x22, 0x6e,
-	0x0a, 0x0f, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73,
-	0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
-	0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
-	0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x75,
-	0x70, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb6,
-	0x01, 0x0a, 0x0a, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a,
-	0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e,
-	0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e,
-	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
-	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
-	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f,
-	0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x69, 0x64,
-	0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
-	0x02, 0x52, 0x0e, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e,
-	0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x32, 0xdf, 0x01, 0x0a, 0x07, 0x42, 0x78, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
-	0x12, 0x15, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72,
-	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65,
-	0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
-	0x48, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e,
-	0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79,
-	0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a,
-	0x18, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53,
-	0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x0b, 0x52, 0x65, 0x6c,
-	0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79,
-	0x65, 0x72, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79,
-	0x65, 0x72, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x62,
-	0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12,
+	0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18,
+	0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+	0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+	0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+	0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64,
+	0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
+	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x18,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x67, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
+	0x1c, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x1b, 0x20, 0x01,
+	0x28, 0x03, 0x52, 0x09, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a,
+	0x0c, 0x45, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x1c, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x0c, 0x45, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
+	0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x6b, 0x0a, 0x0d, 0x42, 0x75, 0x79, 0x65, 0x72,
+	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f,
+	0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43,
+	0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x04,
+	0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x78, 0x62,
+	0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04,
+	0x64, 0x61, 0x74, 0x61, 0x22, 0x49, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74,
+	0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18,
+	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e,
+	0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22,
+	0xf2, 0x02, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a,
+	0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75,
+	0x79, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12,
+	0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
+	0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
+	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f,
+	0x77, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
+	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69,
+	0x76, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x63, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x63, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79,
+	0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62,
+	0x75, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64,
+	0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a,
+	0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75,
+	0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62,
+	0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a,
+	0x06, 0x73, 0x65, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
+	0x65, 0x6f, 0x49, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73,
+	0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x22,
+	0x0a, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75,
+	0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75,
+	0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61,
+	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x12, 0x0a, 0x04,
+	0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79,
+	0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
+	0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
+	0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x08, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x72, 0x65,
+	0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+	0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
+	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72,
+	0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7a, 0x0a, 0x12, 0x72, 0x65, 0x6c,
+	0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+	0x2f, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x69, 0x6e, 0x66,
+	0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
+	0x12, 0x33, 0x0a, 0x0b, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18,
+	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e,
+	0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e,
+	0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x50, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
+	0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c,
+	0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x42, 0x75, 0x79, 0x65,
+	0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 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, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+	0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69,
+	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e,
+	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x16,
+	0x0a, 0x06, 0x62, 0x75, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
+	0x62, 0x75, 0x79, 0x65, 0x72, 0x73, 0x22, 0x6e, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53,
+	0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72,
+	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72,
+	0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x27, 0x0a,
+	0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x78,
+	0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61,
+	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb6, 0x01, 0x0a, 0x0a, 0x53, 0x75, 0x70, 0x70, 0x6c,
+	0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67,
+	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x69, 0x64,
+	0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e,
+	0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a,
+	0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f,
+	0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62, 0x69, 0x64, 0x41, 0x6d,
+	0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79,
+	0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x32,
+	0xdf, 0x01, 0x0a, 0x07, 0x42, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x42,
+	0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79,
+	0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a,
+	0x16, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x4c,
+	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x65, 0x72,
+	0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x62, 0x78, 0x62,
+	0x75, 0x79, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79,
+	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65,
+	0x72, 0x2e, 0x42, 0x75, 0x79, 0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73,
+	0x70, 0x12, 0x4e, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f,
+	0x12, 0x1e, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74,
+	0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+	0x1a, 0x1f, 0x2e, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74,
+	0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+	0x70, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x62, 0x78, 0x62, 0x75, 0x79, 0x65, 0x72, 0x62, 0x06,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (

+ 12 - 18
jyBXBuyer/rpc/type/bxbuyer/bxbuyer_grpc.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
-// - protoc-gen-go-grpc v1.3.0
-// - protoc             v3.21.12
+// - protoc-gen-go-grpc v1.2.0
+// - protoc             v3.19.4
 // source: bxbuyer.proto
 
 package bxbuyer
@@ -18,21 +18,15 @@ import (
 // Requires gRPC-Go v1.32.0 or later.
 const _ = grpc.SupportPackageIsVersion7
 
-const (
-	Bxbuyer_BuyerList_FullMethodName       = "/bxbuyer.Bxbuyer/BuyerList"
-	Bxbuyer_BuyerSupplyInfo_FullMethodName = "/bxbuyer.Bxbuyer/BuyerSupplyInfo"
-	Bxbuyer_RelatesInfo_FullMethodName     = "/bxbuyer.Bxbuyer/RelatesInfo"
-)
-
 // BxbuyerClient is the client API for Bxbuyer 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 BxbuyerClient interface {
-	// 采购单位搜索
+	//采购单位搜索
 	BuyerList(ctx context.Context, in *BuyerListReq, opts ...grpc.CallOption) (*BuyerListResp, error)
 	// 采购单位搜索补充信息 招标动态数量 、历史联系人数量、项目数量、采购规模
 	BuyerSupplyInfo(ctx context.Context, in *BuyerSupplyInfoReq, opts ...grpc.CallOption) (*BuyerSupplyResp, error)
-	// 采购单位画像 关联信息
+	//采购单位画像 关联信息
 	RelatesInfo(ctx context.Context, in *RelatesInformationReq, opts ...grpc.CallOption) (*RelatesInformationResp, error)
 }
 
@@ -46,7 +40,7 @@ func NewBxbuyerClient(cc grpc.ClientConnInterface) BxbuyerClient {
 
 func (c *bxbuyerClient) BuyerList(ctx context.Context, in *BuyerListReq, opts ...grpc.CallOption) (*BuyerListResp, error) {
 	out := new(BuyerListResp)
-	err := c.cc.Invoke(ctx, Bxbuyer_BuyerList_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, "/bxbuyer.Bxbuyer/BuyerList", in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -55,7 +49,7 @@ func (c *bxbuyerClient) BuyerList(ctx context.Context, in *BuyerListReq, opts ..
 
 func (c *bxbuyerClient) BuyerSupplyInfo(ctx context.Context, in *BuyerSupplyInfoReq, opts ...grpc.CallOption) (*BuyerSupplyResp, error) {
 	out := new(BuyerSupplyResp)
-	err := c.cc.Invoke(ctx, Bxbuyer_BuyerSupplyInfo_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, "/bxbuyer.Bxbuyer/BuyerSupplyInfo", in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -64,7 +58,7 @@ func (c *bxbuyerClient) BuyerSupplyInfo(ctx context.Context, in *BuyerSupplyInfo
 
 func (c *bxbuyerClient) RelatesInfo(ctx context.Context, in *RelatesInformationReq, opts ...grpc.CallOption) (*RelatesInformationResp, error) {
 	out := new(RelatesInformationResp)
-	err := c.cc.Invoke(ctx, Bxbuyer_RelatesInfo_FullMethodName, in, out, opts...)
+	err := c.cc.Invoke(ctx, "/bxbuyer.Bxbuyer/RelatesInfo", in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -75,11 +69,11 @@ func (c *bxbuyerClient) RelatesInfo(ctx context.Context, in *RelatesInformationR
 // All implementations must embed UnimplementedBxbuyerServer
 // for forward compatibility
 type BxbuyerServer interface {
-	// 采购单位搜索
+	//采购单位搜索
 	BuyerList(context.Context, *BuyerListReq) (*BuyerListResp, error)
 	// 采购单位搜索补充信息 招标动态数量 、历史联系人数量、项目数量、采购规模
 	BuyerSupplyInfo(context.Context, *BuyerSupplyInfoReq) (*BuyerSupplyResp, error)
-	// 采购单位画像 关联信息
+	//采购单位画像 关联信息
 	RelatesInfo(context.Context, *RelatesInformationReq) (*RelatesInformationResp, error)
 	mustEmbedUnimplementedBxbuyerServer()
 }
@@ -120,7 +114,7 @@ func _Bxbuyer_BuyerList_Handler(srv interface{}, ctx context.Context, dec func(i
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: Bxbuyer_BuyerList_FullMethodName,
+		FullMethod: "/bxbuyer.Bxbuyer/BuyerList",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbuyerServer).BuyerList(ctx, req.(*BuyerListReq))
@@ -138,7 +132,7 @@ func _Bxbuyer_BuyerSupplyInfo_Handler(srv interface{}, ctx context.Context, dec
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: Bxbuyer_BuyerSupplyInfo_FullMethodName,
+		FullMethod: "/bxbuyer.Bxbuyer/BuyerSupplyInfo",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbuyerServer).BuyerSupplyInfo(ctx, req.(*BuyerSupplyInfoReq))
@@ -156,7 +150,7 @@ func _Bxbuyer_RelatesInfo_Handler(srv interface{}, ctx context.Context, dec func
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: Bxbuyer_RelatesInfo_FullMethodName,
+		FullMethod: "/bxbuyer.Bxbuyer/RelatesInfo",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 		return srv.(BxbuyerServer).RelatesInfo(ctx, req.(*RelatesInformationReq))

+ 1 - 0
jyBXSubscribe/rpc/etc/db.yaml

@@ -27,6 +27,7 @@ redis:
         - pushcache_1=192.168.3.128:5000
         - pushcache_2_a=192.168.3.128:5001
         - pushcache_2_b=192.168.3.128:5002
+        - pushcache_2_c=192.168.3.128:5003
 es:
     addr: http://192.168.3.241:9205,http://192.168.3.149:9200
     size: 5

+ 2 - 2
jyBXSubscribe/rpc/internal/logic/getsublistlogic.go

@@ -115,8 +115,8 @@ func (l *GetSubListLogic) GetSubList(in *bxsubscribe.SubscribeInfosReq) (*bxsubs
 	 *免费用户默认推送50条
 	 *大会员、新版商机管理、超级订阅用户 默认推送1000条记录
 	 */
-	if in.PageNum == 1 && spqp.IsEmpty() && len(list) == 0 && in.IsEnt == false {
-		hasNextPage, total, list = model.NewSubscribePush(in.UserType).DefaultDatas(spqp, bsp)
+	if in.PageNum == 1 && spqp.IsEmpty() && (len(list) == 0 || (in.PositionType == 0 && spqp.SubPushInactive == -1)) && in.IsEnt == false {
+		hasNextPage, total, list = model.NewSubscribePush(in.UserType).DefaultDatas(spqp, bsp, in.UserType)
 	}
 	start2 := time.Now().Unix()
 	logx.Info("2、查询数据用户", start2-start1)

+ 37 - 10
jyBXSubscribe/rpc/model/push.go

@@ -3,6 +3,7 @@ package model
 import (
 	"encoding/json"
 	"fmt"
+	"go.mongodb.org/mongo-driver/bson"
 	IC "jyBXSubscribe/rpc/init"
 	ms "jyBXSubscribe/rpc/model/service"
 	"jyBXSubscribe/rpc/type/bxsubscribe"
@@ -114,7 +115,7 @@ type SubPushQueryParam struct {
 	Item             string
 	SelectKeys       []string //关键词
 	District         string
-	SubPushInactive  string // 订阅活跃标记
+	SubPushInactive  int // 订阅活跃标记
 }
 
 // 关键词参数
@@ -1171,7 +1172,7 @@ const (
 
 // 首次访问推送页面 默认生成推送数据
 // 默认匹配es 7天内数据
-func (s *subscribePush) DefaultDatas(spqp *SubPushQueryParam, bsp *ViewCondition) (hasNextPage bool, total int64, result []*bxsubscribe.SubscribeInfo) {
+func (s *subscribePush) DefaultDatas(spqp *SubPushQueryParam, bsp *ViewCondition, userType string) (hasNextPage bool, total int64, result []*bxsubscribe.SubscribeInfo) {
 	if spqp.UserId == "" {
 		return false, 0, nil
 	}
@@ -1181,21 +1182,47 @@ func (s *subscribePush) DefaultDatas(spqp *SubPushQueryParam, bsp *ViewCondition
 		logx.Info("--bsp:", bsp)
 		//获取查询语句
 		qstr := s.getDefaultDatasSQL(bsp)
-		list := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSort, bidField, 0, bsp.Size, 0, false)
-		//logx.Info(time.Since(t1), "count:", len(*list))
+		list := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSort, bidField, 0, bsp.Size, 500, false)
+		logx.Info(time.Since(t1), "list count:", len(*list))
 		if list != nil && len(*list) > 0 {
-			total = int64(len(*list))
-			result = s.listManager(spqp, *list, bsp.Keyword)
+			var mlist []map[string]interface{}
+			esM := listHistory(spqp)
+			if len(esM) > 0 {
+				for _, m := range *list {
+					if !esM[common.ObjToString(m["_id"])] {
+						mlist = append(mlist, m)
+					}
+				}
+			} else {
+				mlist = *list
+			}
+			logx.Info(time.Since(t1), "mlist count:", len(mlist))
+			total = int64(len(mlist))
+			result = s.listManager(spqp, mlist, bsp.Keyword)
 			if len(result) > pageSize {
 				result = result[:pageSize]
 				hasNextPage = true
 			}
 		}
 	}
+	if spqp.SubPushInactive == -1 && spqp.PositionType == 0 && (userType == "vType" || userType == "fType") {
+		IC.Mgo.UpdateById("user", spqp.UserId, bson.M{"$set": bson.M{"subpush_inactive": -2}})
+	}
 	logx.Info("请求耗时:", time.Since(t1))
 	return
 }
 
+// 历史订阅消息
+func listHistory(spqp *SubPushQueryParam) map[string]bool {
+	m := make(map[string]bool)
+	sql := "SELECT infoid FROM push.pushsubscribe where userid = ? order by date desc, id desc limit 1000;"
+	info := spqp.BaseServiceMysql.SelectBySql(sql, spqp.NewUserId)
+	for _, m1 := range *info {
+		m[common.ObjToString(m1["infoid"])] = true
+	}
+	return m
+}
+
 // 保存推送表
 func (s *subscribePush) listManager(spqp *SubPushQueryParam, list []map[string]interface{}, keyword []ViewKeyWord) (resultList []*bxsubscribe.SubscribeInfo) {
 	now := time.Now().Unix()
@@ -1244,7 +1271,6 @@ func (s *subscribePush) listManager(spqp *SubPushQueryParam, list []map[string]i
 				subscopeclassStr = strings.Join(subscopeclass, ",")
 			}
 		}
-		redisKey := fmt.Sprintf("pushinfo_%s_%s", spqp.UserId, common.ObjToString(v["_id"]))
 		entid := spqp.EntId
 		entUserId := spqp.EntUserId
 		deptid := spqp.DeptId
@@ -1260,7 +1286,8 @@ func (s *subscribePush) listManager(spqp *SubPushQueryParam, list []map[string]i
 		case SubFreeFlag:
 			pushInsert = append(pushInsert, common.InterfaceToStr(spqp.NewUserId), 0)
 		}
-		redis.Put("pushcache_2_a", redisKey, 1, 86400)
+		redis.Put("pushcache_2_a", fmt.Sprintf("pushinfo_%s_%s", spqp.UserId, common.ObjToString(v["_id"])), 1, 86400)
+		redis.Put("pushcache_2_c", fmt.Sprintf("inactiveChange_%s_%s", spqp.UserId, common.ObjToString(v["_id"])), 1, 86400)
 		resultList[i] = s.InfoFormat(&PushCa{
 			InfoId:     infoid,
 			Date:       time.Now().Unix(),
@@ -1590,7 +1617,7 @@ func (s *subscribePush) GetUserInfo(spqp *SubPushQueryParam) (vc *ViewCondition)
 	switch s.ModuleFlag {
 	case MemberFlag:
 		userMap, ok := IC.Mgo.FindById("user", spqp.UserId, `{"o_member_jy":1,"i_member_status":1,"subpush_inactive":1}`)
-		spqp.SubPushInactive = common.ObjToString((*userMap)["subpush_inactive"])
+		spqp.SubPushInactive = common.IntAll((*userMap)["subpush_inactive"])
 		if !ok || userMap == nil || len(*userMap) == 0 {
 			return &ViewCondition{}
 		}
@@ -1606,7 +1633,7 @@ func (s *subscribePush) GetUserInfo(spqp *SubPushQueryParam) (vc *ViewCondition)
 		}
 	case SubVipFlag:
 		userMap, ok := IC.Mgo.FindById("user", spqp.UserId, `{"o_vipjy":1,"i_vip_status":1,"subpush_inactive":1}`)
-		spqp.SubPushInactive = common.ObjToString((*userMap)["subpush_inactive"])
+		spqp.SubPushInactive = common.IntAll((*userMap)["subpush_inactive"])
 		if !ok || userMap == nil || len(*userMap) == 0 {
 			return &ViewCondition{}
 		}

+ 31 - 0
jyBXSubscribe/rpc/model/service/pushSet.go

@@ -131,6 +131,11 @@ func (this *PushSetService) Find() map[string]*bxsubscribe.PushSet {
 	if fool {
 		pushSet["o_follow_project"] = o_follow_project
 	}
+	//业主监控 P303
+	fool, o_owner_monitor := pushSetMontage(o_pushset["o_owner_monitor"], "o_owner_monitor", powerData, ShowWx, registedate)
+	if fool {
+		pushSet["o_owner_monitor"] = o_owner_monitor
+	}
 	//企业关注
 	fool, o_follow_ent := pushSetMontage(o_pushset["o_follow_ent"], "o_follow_ent", powerData, ShowWx, registedate)
 	if fool {
@@ -279,6 +284,32 @@ func pushSetMontage(in interface{}, name string, powerData *pb.CheckResp, ShowWx
 		} else {
 			return false, nil
 		}
+	case "o_owner_monitor":
+		//付费用户
+		if !powerData.Free.IsFree {
+			if data == nil || len(*data) == 0 {
+				a_times = append(a_times, "实时推送")
+				returnData = &bxsubscribe.PushSet{
+					ATimes:    a_times,
+					IApppush:  1,
+					IWxpush:   common.Int64All(common.If(ShowWx, 1, 0)),
+					IMailpush: 0,
+					IRatemode: 1,
+					IsWxShow:  1,
+				}
+			} else {
+				returnData = &bxsubscribe.PushSet{
+					ATimes:    a_times,
+					IApppush:  common.Int64All(common.If((*data)["i_apppush"] == nil, 1, (*data)["i_apppush"])),
+					IWxpush:   common.Int64All(common.If((*data)["i_wxpush"] == nil, common.If(ShowWx, 1, 0), common.If(ShowWx, (*data)["i_wxpush"], 0))),
+					IMailpush: common.Int64All(common.If((*data)["i_mailpush"] == nil, 0, (*data)["i_mailpush"])),
+					IRatemode: common.Int64All(common.If((*data)["i_ratemode"] == nil, 1, (*data)["i_ratemode"])),
+					IsWxShow:  1,
+				}
+			}
+		} else {
+			return false, nil
+		}
 	case "o_entinfo":
 		if powerData.Member.Status > 0 && power[12] {
 			if data == nil || len(*data) == 0 {

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä