Przeglądaj źródła

Merge branch 'dev/v1.1.28_zxl' of BaseService/jyMicroservices into feature/v1.1.28

zhangxinlei1996 2 lat temu
rodzic
commit
c8b7dc3f9d

+ 10 - 0
jyBXSubscribe/api/bxsubscribe.api

@@ -181,6 +181,14 @@ type (
 		Err_msg  string      `json:"error_msg"`
 		Data     interface{} `json:"data"`
 	}
+
+	BidDistributor {
+		AppId     string   `header:"appId"`
+		EntId     string   `header:"entId,optional"`
+		EntUserId string   `header:"entUserId,optional"`
+		Infoids   []string `json:"infoids"`
+		Staffs    string   `json:"staffs"`
+	}
 )
 service bxsubscribe-api {
 	@handler subscribeList
@@ -213,4 +221,6 @@ service bxsubscribe-api {
 	post /jybx/subscribe/getStaffSubscribe (GetStaffSubscribeListReq) returns (StaffSubscribeCommonResp)
 	@handler getStaffSubscribeDetail //查询企业员工订阅详情
 	post /jybx/subscribe/getStaffSubscribeDetail (GetStaffSubscribeDetailReq) returns (StaffSubscribeCommonResp)
+	@handler bidDistributor   //标讯分发
+	post /jybx/subscribe/bidDistributor(BidDistributor) returns (commonResp)
 }

+ 7 - 5
jyBXSubscribe/api/bxsubscribe.go

@@ -2,10 +2,8 @@ package main
 
 import (
 	"app.yhyue.com/moapp/jybase/endless"
-	logrusx "app.yhyue.com/moapp/jylogx/logx"
-	"bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
+	// logrusx "app.yhyue.com/moapp/jylogx/logx"
 	"fmt"
-	"github.com/zeromicro/go-zero/core/logx"
 	"jyBXSubscribe/api/internal/handler"
 	"jyBXSubscribe/api/internal/svc"
 	"log"
@@ -14,9 +12,13 @@ import (
 	"os/signal"
 	"syscall"
 
+	"bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
+	// "github.com/zeromicro/go-zero/core/logx"
+
+	IC "jyBXSubscribe/api/init"
+
 	MC "app.yhyue.com/moapp/jybase/common"
 	"github.com/zeromicro/go-zero/rest"
-	IC "jyBXSubscribe/api/init"
 )
 
 func main() {
@@ -47,7 +49,7 @@ func main() {
 	})
 	handler.RegisterHandlers(server, ctx)
 	//日志记录
-	logx.SetWriter(logrusx.NewLogrusWriter())
+	// logx.SetWriter(logrusx.NewLogrusWriter())
 	fmt.Printf("Starting server at %s:%d...\n", IC.C.Host, IC.C.Port)
 	server.Start()
 

+ 28 - 0
jyBXSubscribe/api/internal/handler/biddistributorhandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"github.com/zeromicro/go-zero/rest/httpx"
+	"jyBXSubscribe/api/internal/logic"
+	"jyBXSubscribe/api/internal/svc"
+	"jyBXSubscribe/api/internal/types"
+)
+
+func bidDistributorHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.BidDistributor
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewBidDistributorLogic(r.Context(), svcCtx)
+		resp, err := l.BidDistributor(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 5 - 0
jyBXSubscribe/api/internal/handler/routes.go

@@ -87,6 +87,11 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
 				Path:    "/jybx/subscribe/getStaffSubscribeDetail",
 				Handler: getStaffSubscribeDetailHandler(serverCtx),
 			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/jybx/subscribe/bidDistributor",
+				Handler: bidDistributorHandler(serverCtx),
+			},
 		},
 	)
 }

+ 53 - 0
jyBXSubscribe/api/internal/logic/biddistributorlogic.go

@@ -0,0 +1,53 @@
+package logic
+
+import (
+	"context"
+	"jyBXSubscribe/rpc/bxsubscribe"
+
+	"jyBXSubscribe/api/internal/svc"
+	"jyBXSubscribe/api/internal/types"
+
+	"app.yhyue.com/moapp/jybase/encrypt"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type BidDistributorLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewBidDistributorLogic(ctx context.Context, svcCtx *svc.ServiceContext) *BidDistributorLogic {
+	return &BidDistributorLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *BidDistributorLogic) BidDistributor(req *types.BidDistributor) (resp *types.CommonResp, err error) {
+	infoids := []string{}
+	for _, v := range req.Infoids {
+		infoidArr := encrypt.DecodeArticleId2ByCheck(v)
+		infoid := ""
+		if len(infoidArr) > 0 {
+			infoid = infoidArr[0]
+		}
+		if infoid == "" {
+			continue
+		}
+		infoids = append(infoids, infoid)
+	}
+	res, err := l.svcCtx.Suscribe.BidDistributor(l.ctx, &bxsubscribe.BidDistributorReq{
+		AppId:     req.AppId,
+		EntId:     req.EntId,
+		EntUserId: req.EntUserId,
+		InfoIds:   infoids,
+		Staffs:    req.Staffs,
+	})
+	return &types.CommonResp{
+		Err_code: res.ErrorCode,
+		Err_msg:  res.ErrorMsg,
+		Data:     res.Status,
+	}, err
+}

+ 8 - 0
jyBXSubscribe/api/internal/types/types.go

@@ -184,3 +184,11 @@ type StaffSubscribeCommonResp struct {
 	Err_msg  string      `json:"error_msg"`
 	Data     interface{} `json:"data"`
 }
+
+type BidDistributor struct {
+	AppId     string   `header:"appId"`
+	EntId     string   `header:"entId,optional"`
+	EntUserId string   `header:"entUserId,optional"`
+	Infoids   []string `json:"infoids"`
+	Staffs    string   `json:"staffs"`
+}

+ 11 - 8
jyBXSubscribe/rpc/bxsubscribe.go

@@ -3,22 +3,25 @@ package main
 import (
 	MC "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/endless"
-	logrusx "app.yhyue.com/moapp/jylogx/logx"
+
+	// logrusx "app.yhyue.com/moapp/jylogx/logx"
 	"flag"
 	"fmt"
+	IC "jyBXSubscribe/rpc/init"
+	"jyBXSubscribe/rpc/internal/server"
+	"jyBXSubscribe/rpc/internal/svc"
+	"jyBXSubscribe/rpc/type/bxsubscribe"
+	"log"
+
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/os/gcfg"
 	"github.com/zeromicro/go-zero/core/conf"
-	"github.com/zeromicro/go-zero/core/logx"
+
+	// "github.com/zeromicro/go-zero/core/logx"
 	"github.com/zeromicro/go-zero/core/service"
 	"github.com/zeromicro/go-zero/zrpc"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/reflection"
-	IC "jyBXSubscribe/rpc/init"
-	"jyBXSubscribe/rpc/internal/server"
-	"jyBXSubscribe/rpc/internal/svc"
-	"jyBXSubscribe/rpc/type/bxsubscribe"
-	"log"
 )
 
 var configF = flag.String("cf", "etc/bxsubscribe.yaml", "the config file")
@@ -55,7 +58,7 @@ func main() {
 	})
 
 	//日志记录
-	logx.SetWriter(logrusx.NewLogrusWriter())
+	// logx.SetWriter(logrusx.NewLogrusWriter())
 	//s.AddUnaryInterceptors(util.CustomInterceptors)
 	defer s.Stop()
 	fmt.Printf("Starting rpc server at %s...\n", IC.C.ListenOn)

+ 12 - 1
jyBXSubscribe/rpc/bxsubscribe.proto

@@ -80,7 +80,9 @@ message subscribeInfo {
   int64 bidendTime = 30;// 投标截止日期
   repeated WinnerInfo winnerInfo = 31;// 中标企业信息
   string spiderCode = 33;//网站代码
-
+  string city =34; //城市
+  string toptype =35; //一级信息类型
+  bool isValidFile =36; //是否有附件
 }
 //
 message WinnerInfo{
@@ -395,6 +397,13 @@ message StaffSubscribeDetail{
   bytes  data = 3;
 }
 
+message BidDistributorReq{
+  string  appId = 1;
+  string  entId = 2;
+  string  entUserId = 3;
+  repeated string  infoIds = 4;//分发信息
+  string  staffs = 5; //分发的员工
+}
 
 
 service Bxsubscribe {
@@ -430,4 +439,6 @@ service Bxsubscribe {
   rpc getStaffSubscribeList(StaffSubscribeReq)returns(StaffSubscribeListResp);
   //查看企业员工用户订阅详情
   rpc getStaffSubscribeDetail(StaffSubscribeDetailReq)returns(StaffSubscribeDetail);
+  //标讯信息分发
+  rpc bidDistributor(BidDistributorReq)returns(StatusResp);
 }

+ 9 - 0
jyBXSubscribe/rpc/bxsubscribe/bxsubscribe.go

@@ -13,6 +13,7 @@ import (
 )
 
 type (
+	BidDistributorReq       = bxsubscribe.BidDistributorReq
 	ByPushHistoryResp       = bxsubscribe.ByPushHistoryResp
 	CityList                = bxsubscribe.CityList
 	DistributorResp         = bxsubscribe.DistributorResp
@@ -91,6 +92,8 @@ type (
 		GetStaffSubscribeList(ctx context.Context, in *StaffSubscribeReq, opts ...grpc.CallOption) (*StaffSubscribeListResp, error)
 		// 查看企业员工用户订阅详情
 		GetStaffSubscribeDetail(ctx context.Context, in *StaffSubscribeDetailReq, opts ...grpc.CallOption) (*StaffSubscribeDetail, error)
+		// 标讯信息分发
+		BidDistributor(ctx context.Context, in *BidDistributorReq, opts ...grpc.CallOption) (*StatusResp, error)
 	}
 
 	defaultBxsubscribe struct {
@@ -199,3 +202,9 @@ func (m *defaultBxsubscribe) GetStaffSubscribeDetail(ctx context.Context, in *St
 	client := bxsubscribe.NewBxsubscribeClient(m.cli.Conn())
 	return client.GetStaffSubscribeDetail(ctx, in, opts...)
 }
+
+// 标讯信息分发
+func (m *defaultBxsubscribe) BidDistributor(ctx context.Context, in *BidDistributorReq, opts ...grpc.CallOption) (*StatusResp, error) {
+	client := bxsubscribe.NewBxsubscribeClient(m.cli.Conn())
+	return client.BidDistributor(ctx, in, opts...)
+}

+ 107 - 0
jyBXSubscribe/rpc/internal/logic/biddistributorlogic.go

@@ -0,0 +1,107 @@
+package logic
+
+import (
+	"context"
+	"database/sql"
+	"fmt"
+	IC "jyBXSubscribe/rpc/init"
+	"jyBXSubscribe/rpc/model"
+	"strings"
+	"time"
+
+	"app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	P "app.yhyue.com/moapp/jybase/mapping"
+	"app.yhyue.com/moapp/jybase/redis"
+
+	"jyBXSubscribe/rpc/internal/svc"
+	"jyBXSubscribe/rpc/type/bxsubscribe"
+
+	"app.yhyue.com/moapp/jybase/date"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type BidDistributorLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewBidDistributorLogic(ctx context.Context, svcCtx *svc.ServiceContext) *BidDistributorLogic {
+	return &BidDistributorLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 标讯信息分发
+func (l *BidDistributorLogic) BidDistributor(in *bxsubscribe.BidDistributorReq) (*bxsubscribe.StatusResp, error) {
+	fmt.Println("@@@@@@@@@@@@")
+	userEnt := model.EntInfo(common.IntAll(in.EntId), common.IntAll(in.EntUserId))
+	if !(userEnt.Role_admin_system || userEnt.Role_admin_department) {
+		return &bxsubscribe.StatusResp{ErrorCode: -1, ErrorMsg: "无权限"}, nil
+	}
+	//根据信息查询区域列表
+	var staffs []string
+	staffs = strings.Split(in.Staffs, ",")
+	var pushCas []*model.PushCa
+
+	if len(in.InfoIds) == 0 || in.Staffs == "" {
+		return &bxsubscribe.StatusResp{ErrorCode: -1, ErrorMsg: "缺少参数"}, nil
+	}
+
+	for _, v := range in.InfoIds {
+		pushCas = append(pushCas, &model.PushCa{InfoId: v})
+	}
+	infoList := model.NewSubscribePush().GetInfoByIds(IC.MgoBidding, IC.DB.Mongo.Bidding.Collection, IC.DB.Mongo.Bidding.CollectionBack, pushCas, false)
+
+	//分发数据库修改
+	ok := IC.BaseServiceMysql.ExecTx("分发数据库修改", func(tx *sql.Tx) bool {
+		insertRow := []string{"entid", "deptid", "userid", "infoid", "area", "city", "buyerclass", "toptype", "subtype", "subscopeclass", "budget", "bidamount", "attachment_count", "source", "date"}
+		row := []string{"userid", "entid", "infoid", "createtime"}
+		dateNew := time.Now().Unix()
+		insertValue := []interface{}{}
+		values := []interface{}{}
+		for _, m := range staffs {
+			for _, v := range infoList {
+				area := common.If((*v).Area == "", nil, P.BidCodeMapping.Area[(*v).Area])
+				buyerclass := common.If((*v).BuyerClass == "", nil, P.BidCodeMapping.Buyerclass[(*v).BuyerClass])
+				city := common.If((*v).City == "", nil, P.BidCodeMapping.Area[(*v).City])
+				toptype := common.If((*v).Toptype == "", nil, P.BidCodeMapping.Toptype[(*v).Toptype])
+				subtype := common.If((*v).Subtype == "", nil, P.BidCodeMapping.Subtype[(*v).Subtype])
+				scopeclass := common.If((*v).Industry == "", nil, P.BidCodeMapping.Subscopeclass[(*v).Industry])
+				budget := common.If((*v).Budget > 0, (*v).Budget, nil)
+				bidamount := common.If((*v).BidAmount > 0, (*v).BidAmount, nil)
+				attachment_count := common.If((*v).IsValidFile, 1, nil)
+				infoidArr := encrypt.DecodeArticleId2ByCheck((*v).XId)
+				infoid := ""
+				if len(infoidArr) > 0 {
+					infoid = infoidArr[0]
+				}
+				if infoid == "" {
+					continue
+				}
+				insertValue = append(insertValue, in.EntId, 0, m, infoid, area, city, buyerclass, toptype, subtype, scopeclass, budget, bidamount, attachment_count, 3, dateNew)
+				values = append(values, in.EntUserId, in.EntId, infoid, date.NowFormat(date.Date_Full_Layout))
+			}
+		}
+		IC.BaseServiceMysql.InsertBatchByTx(tx, "push.pushentniche", insertRow, insertValue)
+		IC.BaseServiceMysql.InsertBatchByTx(tx, "base_service.ent_bid_distribute", row, values)
+		return true
+	})
+	//清除推送列表缓存
+	for _, staff := range staffs {
+		//today
+		redis.Del("pushcache_2_b", fmt.Sprintf("entnichepush_%s", staff))
+		//all
+		redis.Del("pushcache_2_a", fmt.Sprintf("all_entnichepush_%s", staff))
+		redis.Del("pushcache_2_a", fmt.Sprintf("all_entnichepush_vip_%s", staff))
+		redis.Del("pushcache_2_a", fmt.Sprintf("all_entnichepush_member_%s", staff))
+	}
+	if !ok {
+		return &bxsubscribe.StatusResp{ErrorCode: -1, ErrorMsg: "数据分发异常"}, nil
+	}
+	return &bxsubscribe.StatusResp{Status: 1}, nil
+}

+ 6 - 0
jyBXSubscribe/rpc/internal/server/bxsubscribeserver.go

@@ -117,3 +117,9 @@ func (s *BxsubscribeServer) GetStaffSubscribeDetail(ctx context.Context, in *bxs
 	l := logic.NewGetStaffSubscribeDetailLogic(ctx, s.svcCtx)
 	return l.GetStaffSubscribeDetail(in)
 }
+
+// 标讯信息分发
+func (s *BxsubscribeServer) BidDistributor(ctx context.Context, in *bxsubscribe.BidDistributorReq) (*bxsubscribe.StatusResp, error) {
+	l := logic.NewBidDistributorLogic(ctx, s.svcCtx)
+	return l.BidDistributor(in)
+}

+ 6 - 2
jyBXSubscribe/rpc/model/push.go

@@ -27,8 +27,8 @@ import (
 const (
 	pageSize            = 100
 	AllSubPushCacheSize = 200
-	query               = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","area", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","spidercode","site","buyertel","buyerperson","agency","agencyperson","agencytel","winnerperson","winnertel","signendtime","bidendtime","entidlist"],"from":0,"size":%d}`
-	mongodb_fields      = `{"_id":1,"area":1,"publishtime":1,"s_subscopeclass":1,"subtype":1,"title":1,"toptype":1,"type":1, "buyerclass":1,"budget":1,"bidamount":1,"s_winner":1,"bidopentime":1,"buyer":1,"projectname":1,"filetext":1,"spidercode":1,"site":1,"buyertel":1,"buyerperson":1,"agency":1,"agencyperson":1,"agencytel":1,"winnerperson":1,"winnertel":1,"signendtime":1,"bidendtime":1,"entidlist":1}`
+	query               = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","area","city", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","spidercode","site","buyertel","buyerperson","agency","agencyperson","agencytel","winnerperson","winnertel","signendtime","bidendtime","entidlist","isValidFile"],"from":0,"size":%d}`
+	mongodb_fields      = `{"_id":1,"area":1,"publishtime":1,"s_subscopeclass":1,"subtype":1,"title":1,"toptype":1,"type":1, "city":1,"buyerclass":1,"budget":1,"bidamount":1,"s_winner":1,"bidopentime":1,"buyer":1,"projectname":1,"filetext":1,"spidercode":1,"site":1,"buyertel":1,"buyerperson":1,"agency":1,"agencyperson":1,"agencytel":1,"winnerperson":1,"winnertel":1,"signendtime":1,"bidendtime":1,"entidlist":1,"isValidFile":1}`
 
 	SubFreeFlag  = "fType"
 	SubVipFlag   = "vType"
@@ -215,10 +215,12 @@ func (s *subscribePush) InfoFormat(p *PushCa, info *map[string]interface{}, isPa
 	if _id == "" {
 		_id = common.ObjToString((*info)["_id"])
 	}
+	isValidFile, _ := (*info)["isValidFile"].(bool)
 	formatInfo := &bxsubscribe.SubscribeInfo{
 		XId:          encrypt.EncodeArticleId2ByCheck(_id),
 		Title:        common.InterfaceToStr((*info)["title"]),
 		Area:         area,
+		City:         common.InterfaceToStr((*info)["city"]),
 		BuyerClass:   common.InterfaceToStr((*info)["buyerclass"]),
 		Subtype:      infotype,
 		Industry:     industry,
@@ -239,6 +241,8 @@ func (s *subscribePush) InfoFormat(p *PushCa, info *map[string]interface{}, isPa
 		Source:       p.Source,
 		Site:         common.InterfaceToStr((*info)["site"]),
 		SpiderCode:   common.InterfaceToStr((*info)["spidercode"]),
+		Toptype:      common.InterfaceToStr((*info)["toptype"]),
+		IsValidFile:  isValidFile,
 	}
 	// 免费用户返回精简列表字段
 	if !isPay {

+ 240 - 103
jyBXSubscribe/rpc/type/bxsubscribe/bxsubscribe.pb.go

@@ -1,6 +1,6 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.28.0
+// 	protoc-gen-go v1.27.1
 // 	protoc        v3.19.4
 // source: bxsubscribe.proto
 
@@ -455,6 +455,9 @@ type SubscribeInfo struct {
 	BidendTime   int64         `protobuf:"varint,30,opt,name=bidendTime,proto3" json:"bidendTime,omitempty"`    // 投标截止日期
 	WinnerInfo   []*WinnerInfo `protobuf:"bytes,31,rep,name=winnerInfo,proto3" json:"winnerInfo,omitempty"`     // 中标企业信息
 	SpiderCode   string        `protobuf:"bytes,33,opt,name=spiderCode,proto3" json:"spiderCode,omitempty"`     //网站代码
+	City         string        `protobuf:"bytes,34,opt,name=city,proto3" json:"city,omitempty"`                 //城市
+	Toptype      string        `protobuf:"bytes,35,opt,name=toptype,proto3" json:"toptype,omitempty"`           //一级信息类型
+	IsValidFile  bool          `protobuf:"varint,36,opt,name=isValidFile,proto3" json:"isValidFile,omitempty"`  //是否有附件
 }
 
 func (x *SubscribeInfo) Reset() {
@@ -713,6 +716,27 @@ func (x *SubscribeInfo) GetSpiderCode() string {
 	return ""
 }
 
+func (x *SubscribeInfo) GetCity() string {
+	if x != nil {
+		return x.City
+	}
+	return ""
+}
+
+func (x *SubscribeInfo) GetToptype() string {
+	if x != nil {
+		return x.Toptype
+	}
+	return ""
+}
+
+func (x *SubscribeInfo) GetIsValidFile() bool {
+	if x != nil {
+		return x.IsValidFile
+	}
+	return false
+}
+
 //
 type WinnerInfo struct {
 	state         protoimpl.MessageState
@@ -3898,6 +3922,85 @@ func (x *StaffSubscribeDetail) GetData() []byte {
 	return nil
 }
 
+type BidDistributorReq struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	AppId     string   `protobuf:"bytes,1,opt,name=appId,proto3" json:"appId,omitempty"`
+	EntId     string   `protobuf:"bytes,2,opt,name=entId,proto3" json:"entId,omitempty"`
+	EntUserId string   `protobuf:"bytes,3,opt,name=entUserId,proto3" json:"entUserId,omitempty"`
+	InfoIds   []string `protobuf:"bytes,4,rep,name=infoIds,proto3" json:"infoIds,omitempty"` //分发信息
+	Staffs    string   `protobuf:"bytes,5,opt,name=staffs,proto3" json:"staffs,omitempty"`   //分发的员工
+}
+
+func (x *BidDistributorReq) Reset() {
+	*x = BidDistributorReq{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_bxsubscribe_proto_msgTypes[44]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *BidDistributorReq) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BidDistributorReq) ProtoMessage() {}
+
+func (x *BidDistributorReq) ProtoReflect() protoreflect.Message {
+	mi := &file_bxsubscribe_proto_msgTypes[44]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use BidDistributorReq.ProtoReflect.Descriptor instead.
+func (*BidDistributorReq) Descriptor() ([]byte, []int) {
+	return file_bxsubscribe_proto_rawDescGZIP(), []int{44}
+}
+
+func (x *BidDistributorReq) GetAppId() string {
+	if x != nil {
+		return x.AppId
+	}
+	return ""
+}
+
+func (x *BidDistributorReq) GetEntId() string {
+	if x != nil {
+		return x.EntId
+	}
+	return ""
+}
+
+func (x *BidDistributorReq) GetEntUserId() string {
+	if x != nil {
+		return x.EntUserId
+	}
+	return ""
+}
+
+func (x *BidDistributorReq) GetInfoIds() []string {
+	if x != nil {
+		return x.InfoIds
+	}
+	return nil
+}
+
+func (x *BidDistributorReq) GetStaffs() string {
+	if x != nil {
+		return x.Staffs
+	}
+	return ""
+}
+
 var File_bxsubscribe_proto protoreflect.FileDescriptor
 
 var file_bxsubscribe_proto_rawDesc = []byte{
@@ -3970,7 +4073,7 @@ var file_bxsubscribe_proto_rawDesc = []byte{
 	0x73, 0x4e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73,
 	0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
 	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49,
-	0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xb3, 0x07, 0x0a, 0x0d, 0x73, 0x75,
+	0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x83, 0x08, 0x0a, 0x0d, 0x73, 0x75,
 	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0f, 0x0a, 0x03, 0x5f,
 	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
 	0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
@@ -4029,7 +4132,12 @@ var file_bxsubscribe_proto_rawDesc = []byte{
 	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x49,
 	0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
 	0x1e, 0x0a, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x21, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22,
+	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+	0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
+	0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x23,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a,
+	0x0b, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x24, 0x20, 0x01,
+	0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x22,
 	0x82, 0x01, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16,
 	0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
 	0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72,
@@ -4439,84 +4547,98 @@ var file_bxsubscribe_proto_rawDesc = []byte{
 	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, 0x12, 0x0a, 0x04,
 	0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
-	0x32, 0xbb, 0x09, 0x0a, 0x0b, 0x42, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
-	0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e,
-	0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x75, 0x62,
-	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f,
+	0x22, 0x8f, 0x01, 0x0a, 0x11, 0x42, 0x69, 0x64, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
+	0x74, 0x6f, 0x72, 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, 0x14, 0x0a, 0x05,
+	0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x74,
+	0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
+	0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+	0x09, 0x52, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
+	0x61, 0x66, 0x66, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x66,
+	0x66, 0x73, 0x32, 0x86, 0x0a, 0x0a, 0x0b, 0x42, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
+	0x62, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x73, 0x74,
+	0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53,
+	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x71,
+	0x1a, 0x1f, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53,
+	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x73,
+	0x70, 0x12, 0x45, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x53, 0x6f, 0x6d, 0x65, 0x49,
+	0x6e, 0x66, 0x6f, 0x12, 0x18, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
+	0x65, 0x2e, 0x53, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e,
+	0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x6f, 0x6d, 0x65,
+	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x53, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61,
+	0x74, 0x65, 0x53, 0x75, 0x62, 0x53, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+	0x23, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x55, 0x70,
+	0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x53, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66,
+	0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
+	0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a,
+	0x0d, 0x42, 0x79, 0x50, 0x75, 0x73, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1e,
 	0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x75, 0x62,
-	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12,
-	0x45, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x53, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66,
-	0x6f, 0x12, 0x18, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e,
-	0x53, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x62, 0x78,
-	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x6f, 0x6d, 0x65, 0x49, 0x6e,
-	0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x53, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
-	0x53, 0x75, 0x62, 0x53, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e,
-	0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61,
-	0x74, 0x65, 0x53, 0x75, 0x62, 0x53, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e,
+	0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x42, 0x79, 0x50,
+	0x75, 0x73, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b,
+	0x0a, 0x07, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x12, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75,
+	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x52,
 	0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
-	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x0d, 0x42,
-	0x79, 0x50, 0x75, 0x73, 0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x2e, 0x62,
-	0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63,
-	0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x62,
-	0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x42, 0x79, 0x50, 0x75, 0x73,
-	0x68, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x07,
-	0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x12, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
-	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71,
-	0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x06, 0x47, 0x65, 0x74,
-	0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
-	0x65, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x62, 0x78,
-	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73,
-	0x70, 0x12, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x53, 0x63, 0x72, 0x69, 0x62,
-	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
-	0x69, 0x62, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x62, 0x78,
-	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
-	0x73, 0x71, 0x12, 0x49, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
-	0x75, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
-	0x62, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f,
-	0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
-	0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a,
-	0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x12,
-	0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x47, 0x65,
-	0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x1a,
-	0x1c, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x44, 0x69,
-	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a,
-	0x0d, 0x47, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d,
+	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x06, 0x47,
+	0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
+	0x69, 0x62, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e,
+	0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x52,
+	0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x53, 0x63, 0x72,
+	0x69, 0x62, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
+	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e,
+	0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72,
+	0x52, 0x65, 0x73, 0x71, 0x12, 0x49, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x74, 0x72,
+	0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63,
+	0x72, 0x69, 0x62, 0x65, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
+	0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63,
+	0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12,
+	0x4e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f,
+	0x72, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e,
+	0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65,
+	0x71, 0x1a, 0x1c, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e,
+	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12,
+	0x4b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+	0x12, 0x1d, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x47,
+	0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a,
+	0x1b, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x56, 0x69,
+	0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x08,
+	0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62,
+	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
+	0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
+	0x69, 0x62, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+	0x65, 0x73, 0x71, 0x12, 0x3f, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b,
+	0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x65, 0x74,
+	0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78,
+	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+	0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53,
+	0x65, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
+	0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b,
 	0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x47, 0x65, 0x74,
-	0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e,
-	0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x56, 0x69, 0x65, 0x77,
-	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x08, 0x75, 0x73,
-	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63,
-	0x72, 0x69, 0x62, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
-	0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
-	0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
-	0x71, 0x12, 0x3f, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x62,
-	0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73,
-	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75,
-	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
-	0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74,
-	0x12, 0x1a, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x47,
-	0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x62,
-	0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75,
-	0x73, 0x68, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x65, 0x74,
-	0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
-	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74,
-	0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
-	0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x15,
+	0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x73,
+	0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x78, 0x73, 0x75,
+	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x53,
+	0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
+	0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c,
+	0x0a, 0x15, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
+	0x69, 0x62, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
+	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63,
+	0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
+	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63,
+	0x72, 0x69, 0x62, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x17,
 	0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
-	0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
-	0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
-	0x62, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
-	0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
-	0x62, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x17, 0x67, 0x65,
-	0x74, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44,
-	0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
-	0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
-	0x62, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x62, 0x78,
-	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53,
-	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0f,
-	0x5a, 0x0d, 0x2e, 0x2f, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x62,
-	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73,
+	0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66, 0x66, 0x53, 0x75, 0x62, 0x73, 0x63,
+	0x72, 0x69, 0x62, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e,
+	0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x66,
+	0x66, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+	0x12, 0x49, 0x0a, 0x0e, 0x62, 0x69, 0x64, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+	0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
+	0x2e, 0x42, 0x69, 0x64, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x52,
+	0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
+	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0f, 0x5a, 0x0d, 0x2e,
+	0x2f, 0x62, 0x78, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x62, 0x06, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -4531,7 +4653,7 @@ func file_bxsubscribe_proto_rawDescGZIP() []byte {
 	return file_bxsubscribe_proto_rawDescData
 }
 
-var file_bxsubscribe_proto_msgTypes = make([]protoimpl.MessageInfo, 47)
+var file_bxsubscribe_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
 var file_bxsubscribe_proto_goTypes = []interface{}{
 	(*SubscribeInfosReq)(nil),       // 0: bxsubscribe.SubscribeInfosReq
 	(*SubscribeInfosResp)(nil),      // 1: bxsubscribe.SubscribeInfosResp
@@ -4577,9 +4699,10 @@ var file_bxsubscribe_proto_goTypes = []interface{}{
 	(*StaffSubscribe)(nil),          // 41: bxsubscribe.StaffSubscribe
 	(*StaffSubscribeDetailReq)(nil), // 42: bxsubscribe.StaffSubscribeDetailReq
 	(*StaffSubscribeDetail)(nil),    // 43: bxsubscribe.StaffSubscribeDetail
-	nil,                             // 44: bxsubscribe.Subscribe.AreaEntry
-	nil,                             // 45: bxsubscribe.GetPushSetResp.DataEntry
-	nil,                             // 46: bxsubscribe.GetPushSetResp.TimeDataEntry
+	(*BidDistributorReq)(nil),       // 44: bxsubscribe.BidDistributorReq
+	nil,                             // 45: bxsubscribe.Subscribe.AreaEntry
+	nil,                             // 46: bxsubscribe.GetPushSetResp.DataEntry
+	nil,                             // 47: bxsubscribe.GetPushSetResp.TimeDataEntry
 }
 var file_bxsubscribe_proto_depIdxs = []int32{
 	2,  // 0: bxsubscribe.SubscribeInfosResp.data:type_name -> bxsubscribe.subscribeData
@@ -4589,14 +4712,14 @@ var file_bxsubscribe_proto_depIdxs = []int32{
 	13, // 4: bxsubscribe.Items.a_key:type_name -> bxsubscribe.Keys
 	15, // 5: bxsubscribe.KeyItems.a_key:type_name -> bxsubscribe.Key
 	14, // 6: bxsubscribe.KeyResp.items:type_name -> bxsubscribe.KeyItems
-	44, // 7: bxsubscribe.Subscribe.area:type_name -> bxsubscribe.Subscribe.AreaEntry
+	45, // 7: bxsubscribe.Subscribe.area:type_name -> bxsubscribe.Subscribe.AreaEntry
 	12, // 8: bxsubscribe.Subscribe.items:type_name -> bxsubscribe.Items
 	22, // 9: bxsubscribe.UserResq.data:type_name -> bxsubscribe.Subscribe
 	26, // 10: bxsubscribe.DistributorResp.items:type_name -> bxsubscribe.userResp
 	29, // 11: bxsubscribe.ViewStatusResp.items:type_name -> bxsubscribe.UserStatus
 	32, // 12: bxsubscribe.GetUserInfoResq.data:type_name -> bxsubscribe.GetUserInfo
-	45, // 13: bxsubscribe.GetPushSetResp.data:type_name -> bxsubscribe.GetPushSetResp.DataEntry
-	46, // 14: bxsubscribe.GetPushSetResp.timeData:type_name -> bxsubscribe.GetPushSetResp.TimeDataEntry
+	46, // 13: bxsubscribe.GetPushSetResp.data:type_name -> bxsubscribe.GetPushSetResp.DataEntry
+	47, // 14: bxsubscribe.GetPushSetResp.timeData:type_name -> bxsubscribe.GetPushSetResp.TimeDataEntry
 	41, // 15: bxsubscribe.StaffSubscribeListResp.items:type_name -> bxsubscribe.StaffSubscribe
 	21, // 16: bxsubscribe.Subscribe.AreaEntry.value:type_name -> bxsubscribe.List
 	37, // 17: bxsubscribe.GetPushSetResp.DataEntry.value:type_name -> bxsubscribe.PushSet
@@ -4617,24 +4740,26 @@ var file_bxsubscribe_proto_depIdxs = []int32{
 	38, // 32: bxsubscribe.Bxsubscribe.setPushSet:input_type -> bxsubscribe.SetPushSetReq
 	39, // 33: bxsubscribe.Bxsubscribe.getStaffSubscribeList:input_type -> bxsubscribe.StaffSubscribeReq
 	42, // 34: bxsubscribe.Bxsubscribe.getStaffSubscribeDetail:input_type -> bxsubscribe.StaffSubscribeDetailReq
-	1,  // 35: bxsubscribe.Bxsubscribe.GetSubList:output_type -> bxsubscribe.SubscribeInfosResp
-	6,  // 36: bxsubscribe.Bxsubscribe.GetSubSomeInfo:output_type -> bxsubscribe.SomeInfoResp
-	8,  // 37: bxsubscribe.Bxsubscribe.UpdateSubScribeInfo:output_type -> bxsubscribe.StatusResp
-	9,  // 38: bxsubscribe.Bxsubscribe.ByPushHistory:output_type -> bxsubscribe.ByPushHistoryResp
-	8,  // 39: bxsubscribe.Bxsubscribe.SetRead:output_type -> bxsubscribe.StatusResp
-	20, // 40: bxsubscribe.Bxsubscribe.GetKey:output_type -> bxsubscribe.KeyResp
-	24, // 41: bxsubscribe.Bxsubscribe.GetSubScribeInfo:output_type -> bxsubscribe.UserResq
-	8,  // 42: bxsubscribe.Bxsubscribe.MsgDistributor:output_type -> bxsubscribe.StatusResp
-	25, // 43: bxsubscribe.Bxsubscribe.GetDistributor:output_type -> bxsubscribe.DistributorResp
-	28, // 44: bxsubscribe.Bxsubscribe.GetViewStatus:output_type -> bxsubscribe.ViewStatusResp
-	31, // 45: bxsubscribe.Bxsubscribe.userInfo:output_type -> bxsubscribe.GetUserInfoResq
-	8,  // 46: bxsubscribe.Bxsubscribe.setUser:output_type -> bxsubscribe.StatusResp
-	35, // 47: bxsubscribe.Bxsubscribe.getPushSet:output_type -> bxsubscribe.GetPushSetResp
-	8,  // 48: bxsubscribe.Bxsubscribe.setPushSet:output_type -> bxsubscribe.StatusResp
-	40, // 49: bxsubscribe.Bxsubscribe.getStaffSubscribeList:output_type -> bxsubscribe.StaffSubscribeListResp
-	43, // 50: bxsubscribe.Bxsubscribe.getStaffSubscribeDetail:output_type -> bxsubscribe.StaffSubscribeDetail
-	35, // [35:51] is the sub-list for method output_type
-	19, // [19:35] is the sub-list for method input_type
+	44, // 35: bxsubscribe.Bxsubscribe.bidDistributor:input_type -> bxsubscribe.BidDistributorReq
+	1,  // 36: bxsubscribe.Bxsubscribe.GetSubList:output_type -> bxsubscribe.SubscribeInfosResp
+	6,  // 37: bxsubscribe.Bxsubscribe.GetSubSomeInfo:output_type -> bxsubscribe.SomeInfoResp
+	8,  // 38: bxsubscribe.Bxsubscribe.UpdateSubScribeInfo:output_type -> bxsubscribe.StatusResp
+	9,  // 39: bxsubscribe.Bxsubscribe.ByPushHistory:output_type -> bxsubscribe.ByPushHistoryResp
+	8,  // 40: bxsubscribe.Bxsubscribe.SetRead:output_type -> bxsubscribe.StatusResp
+	20, // 41: bxsubscribe.Bxsubscribe.GetKey:output_type -> bxsubscribe.KeyResp
+	24, // 42: bxsubscribe.Bxsubscribe.GetSubScribeInfo:output_type -> bxsubscribe.UserResq
+	8,  // 43: bxsubscribe.Bxsubscribe.MsgDistributor:output_type -> bxsubscribe.StatusResp
+	25, // 44: bxsubscribe.Bxsubscribe.GetDistributor:output_type -> bxsubscribe.DistributorResp
+	28, // 45: bxsubscribe.Bxsubscribe.GetViewStatus:output_type -> bxsubscribe.ViewStatusResp
+	31, // 46: bxsubscribe.Bxsubscribe.userInfo:output_type -> bxsubscribe.GetUserInfoResq
+	8,  // 47: bxsubscribe.Bxsubscribe.setUser:output_type -> bxsubscribe.StatusResp
+	35, // 48: bxsubscribe.Bxsubscribe.getPushSet:output_type -> bxsubscribe.GetPushSetResp
+	8,  // 49: bxsubscribe.Bxsubscribe.setPushSet:output_type -> bxsubscribe.StatusResp
+	40, // 50: bxsubscribe.Bxsubscribe.getStaffSubscribeList:output_type -> bxsubscribe.StaffSubscribeListResp
+	43, // 51: bxsubscribe.Bxsubscribe.getStaffSubscribeDetail:output_type -> bxsubscribe.StaffSubscribeDetail
+	8,  // 52: bxsubscribe.Bxsubscribe.bidDistributor:output_type -> bxsubscribe.StatusResp
+	36, // [36:53] is the sub-list for method output_type
+	19, // [19:36] is the sub-list for method input_type
 	19, // [19:19] is the sub-list for extension type_name
 	19, // [19:19] is the sub-list for extension extendee
 	0,  // [0:19] is the sub-list for field type_name
@@ -5174,6 +5299,18 @@ func file_bxsubscribe_proto_init() {
 				return nil
 			}
 		}
+		file_bxsubscribe_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*BidDistributorReq); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
@@ -5181,7 +5318,7 @@ func file_bxsubscribe_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_bxsubscribe_proto_rawDesc,
 			NumEnums:      0,
-			NumMessages:   47,
+			NumMessages:   48,
 			NumExtensions: 0,
 			NumServices:   1,
 		},

+ 38 - 0
jyBXSubscribe/rpc/type/bxsubscribe/bxsubscribe_grpc.pb.go

@@ -54,6 +54,8 @@ type BxsubscribeClient interface {
 	GetStaffSubscribeList(ctx context.Context, in *StaffSubscribeReq, opts ...grpc.CallOption) (*StaffSubscribeListResp, error)
 	//查看企业员工用户订阅详情
 	GetStaffSubscribeDetail(ctx context.Context, in *StaffSubscribeDetailReq, opts ...grpc.CallOption) (*StaffSubscribeDetail, error)
+	//标讯信息分发
+	BidDistributor(ctx context.Context, in *BidDistributorReq, opts ...grpc.CallOption) (*StatusResp, error)
 }
 
 type bxsubscribeClient struct {
@@ -208,6 +210,15 @@ func (c *bxsubscribeClient) GetStaffSubscribeDetail(ctx context.Context, in *Sta
 	return out, nil
 }
 
+func (c *bxsubscribeClient) BidDistributor(ctx context.Context, in *BidDistributorReq, opts ...grpc.CallOption) (*StatusResp, error) {
+	out := new(StatusResp)
+	err := c.cc.Invoke(ctx, "/bxsubscribe.Bxsubscribe/bidDistributor", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // BxsubscribeServer is the server API for Bxsubscribe service.
 // All implementations must embed UnimplementedBxsubscribeServer
 // for forward compatibility
@@ -244,6 +255,8 @@ type BxsubscribeServer interface {
 	GetStaffSubscribeList(context.Context, *StaffSubscribeReq) (*StaffSubscribeListResp, error)
 	//查看企业员工用户订阅详情
 	GetStaffSubscribeDetail(context.Context, *StaffSubscribeDetailReq) (*StaffSubscribeDetail, error)
+	//标讯信息分发
+	BidDistributor(context.Context, *BidDistributorReq) (*StatusResp, error)
 	mustEmbedUnimplementedBxsubscribeServer()
 }
 
@@ -299,6 +312,9 @@ func (UnimplementedBxsubscribeServer) GetStaffSubscribeList(context.Context, *St
 func (UnimplementedBxsubscribeServer) GetStaffSubscribeDetail(context.Context, *StaffSubscribeDetailReq) (*StaffSubscribeDetail, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetStaffSubscribeDetail not implemented")
 }
+func (UnimplementedBxsubscribeServer) BidDistributor(context.Context, *BidDistributorReq) (*StatusResp, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method BidDistributor not implemented")
+}
 func (UnimplementedBxsubscribeServer) mustEmbedUnimplementedBxsubscribeServer() {}
 
 // UnsafeBxsubscribeServer may be embedded to opt out of forward compatibility for this service.
@@ -600,6 +616,24 @@ func _Bxsubscribe_GetStaffSubscribeDetail_Handler(srv interface{}, ctx context.C
 	return interceptor(ctx, in, info, handler)
 }
 
+func _Bxsubscribe_BidDistributor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(BidDistributorReq)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(BxsubscribeServer).BidDistributor(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/bxsubscribe.Bxsubscribe/bidDistributor",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(BxsubscribeServer).BidDistributor(ctx, req.(*BidDistributorReq))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 // Bxsubscribe_ServiceDesc is the grpc.ServiceDesc for Bxsubscribe service.
 // It's only intended for direct use with grpc.RegisterService,
 // and not to be introspected or modified (even as a copy)
@@ -671,6 +705,10 @@ var Bxsubscribe_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "getStaffSubscribeDetail",
 			Handler:    _Bxsubscribe_GetStaffSubscribeDetail_Handler,
 		},
+		{
+			MethodName: "bidDistributor",
+			Handler:    _Bxsubscribe_BidDistributor_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "bxsubscribe.proto",