syntax = "v1"

info (
	title: // TODO: add title
	desc: // TODO: add description
	author: "wangshan"
	email: "wangshan@topnet.net.cn"
)

type (
	//招标信息是否被收藏
	BCAction {
		UserId  string   `header:"userId"`
		Bids    []string `json:"bids"`
		Baction string   `json:"baction"` //R：移除收藏；C：收藏
		AppId   string   `header:"appId"` //appId
	}
	//标签新增或删除
	LabelAction {
		UserId  string   `header:"userId"`
		Lids    string   `json:"lids"`           //标签ids
		Lname   string   `json:"lname"`          //标签名称
		Binfo   []string `json:"binfo,optional"` //收藏的招标信息
		Laction string   `json:"laction"`        //用户行为：S添加或绑定标签；D删除标签
		AppId   string   `header:"appId"`        //appId
	}
	//获取标签
	GetLabelAction {
		UserId string `header:"userId"`
		AppId  string `header:"appId"` //appId
	}
	//获取收藏列表
	List {
		UserId      string `header:"userId"`
		Pagenum     int64  `json:"pagenum"`              //页数
		Label       string `json:"label"`                //标签 用,分隔开
		SelectTime  string `json:"selectTime,optional"`  //收藏时间
		Buyerclass  string `json:"buyerclass,optional"`  //采购单位 用,分隔开
		BuyerPhone  int64  `json:"buyerPhone,optional"`  //是否需要采购单位联系方式 1:需要 -1:不需要 0:未选中
		WinnerPhone int64  `json:"winnerPhone,optional"` //是否需要中标单位联系方式 1:需要 -1:不需要 0:未选中
		Pagesize    int64  `json:"pagesize"`             //每页展示数量
		AppId       string `header:"appId"`              //appId
	}
	//新增标签
	AddLabel {
		UserId string `header:"userId"`
		Name   string `json:"name"`
		AppId  string `header:"appId"` //appId
	}
	//招标信息是否被收藏
	IsCollAction {
		UserId string `header:"userId"`
		Bids   string `json:"bids"`
		Label  string `json:"label,optional"`
		AppId  string `header:"appId"` //appId
	}
	//获取筛选条件
	ShowSearchScreen {
		UserId string `header:"userId"`
		AppId  string `header:"appId"` //appId
		Type   string `json:"type,optional"`
	}
	//删除筛选条件
	DelSearchScreen {
		Id     string `json:"id"`
		AppId  string `header:"appId"`  //appId
		UserId string `header:"userId"` //userId
	}

	//保存筛选条件
	AddSearchScreen {
		UserId          string `header:"userId"`
		AppId           string `header:"appId"` //appId
		Type            string `header:"type,optional"`
		Keywords        string `json:"searchvalue,optional"` //搜索词
		Publishtime     string `json:"publishtime"`          //发布时间
		City            string `json:"city,optional"`        //城市
		Area            string `json:"area,optional"`        //地区
		Subtype         string `json:"subtype,optional"`     //信息类型
		Minprice        string `json:"minprice,optional"`    //最低价格
		Maxprice        string `json:"maxprice,optional"`    //最高价格
		Industry        string `json:"industry,optional"`    //选中的行业
		SelectType      string `json:"selectType"`           //标题 or 全文
		Buyerclass      string `json:"buyerclass,optional"`  //采购单位行业
		Hasbuyertel     string `json:"buyertel,optional"`    //是否有采购电话
		Haswinnertel    string `json:"winnertel,optional"`   //是否有中标电话
		FileExists      string `json:"fileExists,optional"`  //附件
		Notkey          string `json:"notkey,optional"`      //排除词 关键词：排除词（副：五组，每组最多15个字符）
		InKey           string `json:"inkey,optional"`
		SearchGroup     int    `json:"searchGroup,optional"`     // 搜索分组：默认0：全部；1：招标采购公告；2：超前项目
		SearchMode      int    `json:"searchMode,optional"`      // 搜索模式：0：精准搜索；1：模糊搜索
		WordsMode       int    `json:"wordsMode,optional"`       // 搜索关键词模式；默认0：包含所有，1：包含任意
		AdditionalWords string `json:"additionalWords,optional"` // 关键词：附加关键词（副：五组，每组最多15个字符）
	}
	//首页最新招标信息
	NewestReq {
		City     string `json:"city,optional"`     //定位城市
		IsSearch int64  `json:"isSearch,optional"` //是否根据定位查询es
		baseParam
	}
	baseParam {
		AppId        string `header:"appId"`                 //剑鱼10000
		EntId        int64  `header:"entId,optional"`        // 企业id
		EntUserId    int64  `header:"entUserId,optional"`    // 企业下用户id
		EntAccountId int64  `header:"entAccountId,optional"` //企业账户id
		PositionType int64  `header:"positionType,optional"` // 职位类型 0个人 1企业
		PositionId   int64  `header:"positionId,optional"`   //职位id
		AccountId    int64  `header:"accountId,optional"`    //账户id
		MgoUserId    string `header:"mgoUserId,optional"`    //原userId
		UserId       string `header:"userId,optional"`       //用户id
		NewUserId    int64  `header:"newUserId,optional"`    //base_user_id
		Phone        string `header:"phone,optional"`
	}
	//公共接口返回
	CommonRes {
		Err_code int         `json:"error_code"`
		Err_msg  string      `json:"error_msg"`
		Data     interface{} `json:"data"`
	}

	//收录情况入参
	IncludedReq {
		AppId string `header:"appId,default=10000"`
	}
	// 保存搜索/订阅 列表模式入参
	SaveListModeReq {
		UserId string `header:"userId"`
		Type   string `path:"type,options=search|subscribe"` // search 搜索列表  subscribe 订阅列表
		Mode   int    `json:"mode"`                          // 0-精简列表 1-详细列表
	}
	// 获取获取搜索/订阅
	ShowListModeReq {
		UserId string `header:"userId"`
		Type   string `path:"type,options=search|subscribe"` // search 搜索列表  subscribe 订阅列表
	}
)

service bxbase-api {
	//招标信息是否被收藏
	@handler IsCollAction
	post /jybx/base/isColled (IsCollAction) returns(CommonRes)
	//招标信息收藏
	@handler BCAction
	post /jybx/base/collAction (BCAction) returns(CommonRes)
	//标签新增或删除
	@handler LabelAction
	post /jybx/base/label (LabelAction) returns(CommonRes)
	//获取标签
	@handler GetLabelAction
	post /jybx/base/getLabel (GetLabelAction) returns(CommonRes)
	//获取收藏列表
	@handler List
	post /jybx/base/collList (List) returns(CommonRes)
	//添加标签
	@handler AddLabel
	post /jybx/base/addLabel (AddLabel) returns(CommonRes)
	
	//展示筛选条件
	@handler ShowSearchScreen
	post /jybx/base/showSearchScreen (ShowSearchScreen) returns(CommonRes)
	//添加筛选条件
	@handler AddSearchScreen
	post /jybx/base/addSearchScreen (AddSearchScreen) returns(CommonRes)
	//校验筛选条件
	@handler CheckSearchScreen
	post /jybx/base/checkSearchScreen (AddSearchScreen) returns(CommonRes)
	//删除筛选条件
	@handler DelSearchScreen
	post /jybx/base/delSearchScreen (DelSearchScreen) returns(CommonRes)
	
	//首页最新招标信息
	@handler NewestBidding
	post /jybx/base/newest (NewestReq) returns(CommonRes)
	
	@doc "收录情况"
	@handler Included
	post /jybx/base/included (IncludedReq) returns(CommonRes)
	
}