syntax = "proto3";

package bxcol;
option go_package = "./bxbase";

message AddlabelReq {
  string userId = 1;
  string name = 2;
  string  appId = 3;
}
message AddlabelRes {
  int64 err_code = 1;
  string err_msg = 2;
  string labid = 3;
}
message GetLabelActionReq {
  string userId = 1;
  string  appId = 2;
}
message GetLabelActionRes {
  int64 err_code = 1;
  string err_msg = 2;
  repeated LabelByUser labels = 3;
}
message LabelByUser{
  string lid = 1;
  string lname = 2;
  int64 lcount = 3;
}
message LabelActionReq {
  string userId = 1;
  string lids = 2;
  string lname = 3;
  repeated string binfo = 4;
  string laction = 5;
  string  appId = 6;
}
message LabelActionRes {
  int64 err_code = 1;
  string err_msg = 2;
  bool status = 3;
}
message BCActionReq {
  string userId = 1;
  repeated string bids = 2;
  string baction = 3;
  string  appId = 4;
}
message IsCollActionReq {
  string userId = 1;
  string bids = 2;
  string label = 3;
  string  appId = 4;
}
message IsCollActionRes {
  int64 err_code = 1;
  string err_msg = 2;
  IData data = 3;
}
message IData {
  bool iscoll = 1;
  repeated Labels labels = 2;
  repeated string bids = 3;
}
message Labels {
  string id = 1;
  string labelname = 2;
}
message ListReq {
  string userId = 1;
  string bids = 2;
  string selectTime = 3;
  string buyerclass = 4;
  int64 pagenum = 5;
  int64 buyerPhone = 6;
  int64 winnerPhone = 7;
  int64 pagesize = 8;
  string label = 9;
  string  appId = 10;
}
message ListRes {
  int64 err_code = 1;
  string err_msg = 2;
  ColList ldata = 3;
}
message ColList {
  int64 count = 1;
  bool haveNextPage = 2;
  repeated ColData res = 3;
  int64 pagesize = 4;
}
message ColData {
  string id = 1;
  string title = 2;
  string area = 3;
  string buyerclass = 4;
  string type = 5;
  string s_subscopeclass = 6;
  int64 publishtime = 7;
  string budget = 8;
  string bidamount = 9;
  string buyer = 10;
  string s_winner = 11;
  int64 bidopentime = 12;
}

message ShowSearchReq{
  string userId = 1;
  string type = 2;
  string  appId = 3;
}

message ShowSearchRes{
  int64 err_code = 1;
  string err_msg = 2;
  repeated ListSearchRes data = 3;
}

message ListSearchRes{
  string userId = 1;
  string type = 2;
  string searchvalue = 3;                   //搜索词
  string publishtime = 4;   //发布时间
  string area = 5;       //地区
  string subtype = 6;    //信息类型
  string minprice = 7; //最低价格
  string maxprice = 8;//最高价格
  string industry = 9;//选中的行业
  string selectType = 10;//标题 or 全文
  string buyerclass = 11;//采购单位行业
  string buyertel = 12;//是否有采购电话
  string winnertel = 13;//是否有中标电话
  string fileExists = 14;//附件
  string notkey = 15;//排除词
  string city = 16;
  string id = 17;
  bool isPay = 18;
  string tabularflag = 19;
  int64  searchGroup = 20;//搜索分组：默认0：全部；1：招标采购公告；2：超前项目
  int64  searchMode = 21;//搜索模式：0：精准搜索；1：模糊搜索
  int64  wordsMode = 22;// 搜索关键词模式；默认0：包含所有，1：包含任意
  string additionalWords = 23;//关键词：附加关键词（副：五组，每组最多15个字符）
}

message AddSearchReq{
  string userId = 1;
  string type = 2;
  string keywords = 3;     //搜索词 关键词：多个空格隔开（主）
  string publishTime = 4;   //发布时间
  string area = 5;       //地区
  string subtype = 6;    //信息类型
  string minPrice = 7; //最低价格
  string maxPrice = 8;//最高价格
  string industry = 9;//选中的行业
  string selectType = 10;//标题 or 全文
  string buyerClass = 11;//采购单位行业
  string hasBuyerTel = 12;//是否有采购电话
  string hasWinnerTel = 13;//是否有中标电话
  string fileExists = 14;//附件
  string notKey = 15;//关键词：排除词（副：五组，每组最多15个字符）
  string city = 16;
  string inKey = 17;
  string appId = 18;
  int64  searchGroup = 19;//搜索分组：默认0：全部；1：招标采购公告；2：超前项目
  int64  searchMode = 20;//搜索模式：0：精准搜索；1：模糊搜索
  int64  wordsMode = 21;// 搜索关键词模式；默认0：包含所有，1：包含任意
  string additionalWords = 22;//关键词：附加关键词（副：五组，每组最多15个字符）
}

message DelSearchReq{
  string id = 1;
  string userId = 2;
  string  appId = 3;
}

//首页最新招标信息Req

message NewestBiddingReq{
  string  city = 1;
  int64   isSearch = 2;
  string  appId = 3  ;   //剑鱼10000
  int64   entId = 4   ;  // 企业id
  int64   entUserId = 5; // 企业下用户id
  int64   entAccountId = 6; //企业账户id
  int64   positionType = 7; // 职位类型 0个人 1企业
  int64   positionId = 8; //职位id
  int64   accountId = 9 ; //账户id
  string  mgoUserId = 10;  //原userId
  string  userId = 11 ;  //用户id
  int64   newUserId = 12; //base_user_id
  string  phone = 13;
}

//首页最新招标信息Resp
message NewsetBiddingResp{
  int64 err_code = 1;
  string err_msg = 2;
  NewsetBidding data = 3;
}
message NewsetBidding{
  int64 count = 1;//数据长度
  repeated newestList list = 2;//数据
  string subFlag = 3;//当前用户订阅信息属性：m：大会员；e：商机管理；v：VIP；f：普通用户
  int64  showTip = 4;// 是否展示引导用户设置关键词 1-不显示 2-显示
}

//
message newestList {
  string  area = 1;//省份
  string city = 2;//城市
  int64 bidamount = 3;//中标金额
  int64 budget = 4;//预算
  string buyerclass = 5;//采购单位类型
  repeated string matchkeys = 6;//订阅匹配信息
  int64 publishTime = 7;//发布时间
  string industry = 8;//行业
  string  title = 9;//标题
  string  subtype = 10;//
  string  appId = 11;
  string id = 12;//招标信息id
  bool fileExists = 13;//是否有附件
  bool  isCol = 14;//是否收藏
  string  site = 15;//网站名称
  string spiderCode = 16;//网站代码
}
//公共返回
message CommonRes {
  int64 err_code = 1;
  string err_msg = 2;
}

//公共返回
message CheckRes {
  int64 err_code = 1;
  string err_msg = 2;
  string data = 3;
}

message AppIdReq{
  string AppId = 1;
}

//剑鱼网站收录情况返回参数
message IncludedResp{
  int64 year = 1; //年
  int64 month = 2; //月
  int64 day = 3; //日
  float bid = 4;//招标信息的数值
  string bidUnit = 5; //招标信息的数值单位
  string bidUnitAppend = 6; //招标信息的数值单位后面的加号
  float project = 7;//招标采购项目的数值
  string projectUnit = 8;//招标采购项目的数值单位
  string projectUnitAppend = 9;//招标采购项目的数值单位后面的加号
  float ent = 10; //企业数据库的数值
  string entUnit = 11;//企业数据库的数值单位
  string entUnitAppend = 12;//企业数据库的数值单位后面的加号
  float buyer = 13;//采购单位库的数值
  string buyerUnit = 14;//采购单位库的数值单位
  string buyerUnitAppend = 15;//采购单位库的数值单位后面的加号
  float bidDayUpdate = 16;//每日更新招标信息的数值
  string bidDayUpdateUnit = 17;//每日更新招标信息的数值单位
  string bidDayUpdateUnitAppend = 18;//每日更新招标信息的数值单位后面的加号
  float bidField = 19;//招标信息数据字段的数值
  string bidFieldUnit = 20;//招标信息数据字段的数值单位
  string bidFieldUnitAppend = 21;//招标信息数据字段数值单位后面的加号
  float fieldAccuracy = 22;//数据字段准确率的数值
  string fieldAccuracyUnit = 23;//数据字段准确率的数值单位
  string fieldAccuracyUnitAppend = 24;//数据字段准确率的数值单位后面的加号
  float push = 25;//推送招标信息的数值
  string pushUnit = 26;//推送招标信息的数值单位
  string pushUnitAppend = 27;//推送招标信息的数值单位后面的加号
  string error_msg = 28;
  int64 error_code = 29;
}

// 搜索订阅列表模式保存
message SaveListModeReq{
  string UserId = 1; // 用户id
  string Type = 2 ; // 类型 search-搜索列表 subscribe-订阅列表
  int64  Mode = 3;  // 列表模式 0-精简模式 1-详细模式
}
// 搜索订阅列表模式获取
message ShowListModeReq{
  string UserId = 1; // 用户id
  string Type = 2 ; // 类型 search-搜索列表 subscribe-订阅列表
}
// 搜索订阅列表模式获取结果
message ShowListModeRes{
  int64 err_code = 1;
  string err_msg = 2;
  int64 data = 3;
}
//servie
service bxbase {
  //新增标签
  rpc Addlabel(AddlabelReq) returns(AddlabelRes);
  //获取标签
  rpc GetLabelAction(GetLabelActionReq) returns(GetLabelActionRes);
  //标签新增或删除
  rpc LabelAction(LabelActionReq) returns(LabelActionRes);
  //招标信息收藏
  rpc BCAction(BCActionReq) returns(LabelActionRes);
  //招标信息是否被收藏
  rpc IsCollAction(IsCollActionReq) returns(IsCollActionRes);
  //获取收藏列表
  rpc List(ListReq) returns(ListRes);

  //获取筛选列表
  rpc ShowSearch(ShowSearchReq) returns(ShowSearchRes);
  //添加删选列表
  rpc AddSearch(AddSearchReq) returns(CommonRes);
  //修改筛选列表
  rpc CheckSearch(AddSearchReq) returns(CheckRes);
  //删除筛选列表
  rpc DelSearch(DelSearchReq) returns(CommonRes);

  //首页最新招标信息
  rpc NewestBidding(NewestBiddingReq)returns(NewsetBiddingResp);

  //剑鱼网站收录情况
  rpc Included (AppIdReq) returns(IncludedResp);


}