bxcore.api 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. syntax = "v1"
  2. info(
  3. title: "剑鱼核心模块" // TODO: add title
  4. desc: "标讯搜索、标讯详情、参标逻辑等"// TODO: add description
  5. author: "wangshan"
  6. email: "wangshan@topnet.net.cn"
  7. )
  8. type (
  9. commonReq struct{}
  10. searchReq {
  11. UserType string `path:"userType,optional"`
  12. AppId string `header:"appId"`
  13. UserId string `header:"userId,optional"`
  14. Phone string `header:"phone,optional"`
  15. NewUserId string `header:"newUserId,optional"`
  16. EntId int64 `header:"entId,optional"`
  17. EntUserId int64 `header:"entUserId,optional"`
  18. PageNum int64 `json:"pageNum,optional"`
  19. PageSize int64 `json:"pageSize,optional"`
  20. Province string `json:"province,optional"`
  21. City string `json:"city,optional"`
  22. Subtype string `json:"subtype,optional"`
  23. TopType string `json:"toptype,optional"`
  24. PublishTime string `json:"publishTime,optional"`
  25. SelectType string `json:"selectType,optional"`
  26. Price string `json:"price,optional"`
  27. Industry string `json:"industry,optional"`
  28. BuyerClass string `json:"buyerClass,optional"`
  29. BuyerTel string `json:"buyerTel,optional"`
  30. WinnerTel string `json:"winnerTel,optional"`
  31. FileExists string `json:"fileExists,optional"`
  32. SearchGroup int64 `json:"searchGroup,optional"`
  33. SearchMode int64 `json:"searchMode,optional"`
  34. WordsMode int64 `json:"wordsMode,optional"`
  35. KeyWords string `json:"keyWords,optional"`
  36. AdditionalWords string `json:"additionalWords,optional"`
  37. ExclusionWords string `json:"exclusionWords,optional"`
  38. BidField string `json:"bidField,optional"` //医疗领域化信息
  39. AccountId string `header:"accountId,optional"` //账户id
  40. EntAccountId int64 `header:"entAccountId,optional"` //企业账户id
  41. PositionType string `header:"positionType,optional"` //职位类型 0个人 1企业
  42. PositionId string `header:"positionId,optional"` //职位id
  43. MgoUserId string `header:"mgoUserId,optional"` //原userId
  44. District string `json:"district,optional"` //
  45. Buyer string `json:"buyer,optional"` //采购单位
  46. Winner string `json:"winner,optional"` //中标企业
  47. Agency string `json:"agency,optional"` //代理机构
  48. PropertyForm string `json:"propertyForm,optional"` //物业版本参数接收 start--//物业业态
  49. ExpireTime string `json:"expireTime,optional"` //到期时间
  50. SubInformation string `json:"subInformation,optional"` //业务类型
  51. Period string `json:"period,optional"` //合同周期
  52. ChangeHand int `json:"changeHand,optional"` // 换手率
  53. Scale string `json:"scale,optional"` //物业版本参数接收 end--//价格区间
  54. MobileTag []string `json:"mobileTag,optional"` //融创 //P513中国移动定制招标采购搜索
  55. }
  56. //
  57. commonResp {
  58. Err_code int64 `json:"error_code"`
  59. Err_msg string `json:"error_msg"`
  60. Data interface{} `json:"data"`
  61. }
  62. commonPushResp {
  63. Err_code int64 `json:"error_code"`
  64. Err_msg string `json:"error_msg"`
  65. Data interface{} `json:"data"`
  66. SourceItem interface{} `json:"sourceItem"`
  67. }
  68. //
  69. searchLimitReq {
  70. AppId string `header:"appId,optional"` //appid
  71. TimeOut int64 `json:"timeOut,optional"` //过滤过期时间
  72. Count int64 `json:"count,optional"` //并发量
  73. Flag int64 `json:"flag,optional"` //开关 1:打开;-1:关闭;-2:重置
  74. Percentage int64 `json:"percentage,optional"` //免费用户占比
  75. SearchType string `path:"searchType"` //get|update|
  76. NoLogin int64 `json:"noLogin,optional"` //未登录占比
  77. ForPayer int64 `json:"forPayer,optional"` //为付费用户保留通道数
  78. LimitItems string `json:"limitItems,optional"` //需要过滤的字段 多个,号分割
  79. }
  80. //参标项目
  81. baseParam {
  82. EntId int64 `header:"entId,optional"` // 企业id
  83. EntUserId int64 `header:"entUserId,optional"` // 企业下用户id
  84. PositionType int64 `header:"positionType,optional"` // 职位类型 0个人 1企业
  85. PositionId int64 `header:"positionId,optional"` //职位id
  86. AccountId int64 `header:"accountId,optional"` //账户id
  87. MgoUserId string `header:"mgoUserId,optional"` //原userId
  88. AppId string `header:"appId,optional"` //剑鱼10000
  89. UserId string `header:"userId,optional"` //用户id
  90. NewUserId int64 `header:"newUserId,optional"` //base_user_id
  91. EntAccountId int64 `header:"entAccountId,optional"` //企业账户id
  92. Phone string `header:"phone,optional"`
  93. }
  94. // 列表数据参标信息请求参数
  95. participateShowReq {
  96. Ids string `json:"ids"` // 标讯id 逗号分割
  97. baseParam
  98. }
  99. // 详情页参标信息请求参数
  100. participateInfoReq {
  101. Sid string `json:"sid"` // 标讯id
  102. baseParam
  103. }
  104. // 投标状态更新请求参数
  105. updateBidStatusReq {
  106. BidType int64 `json:"bidType"` // 投标类型 1-直接投标 2-渠道投标
  107. BidStage []string `json:"bidStage,optional"` // 投标项目阶段 ["未报名","已报名"...]
  108. IsWin int64 `json:"isWin,optional"` // 是否中标 0-未选择 1-是 2-否
  109. ChannelName string `json:"channelName,optional"` // 渠道名称
  110. ChannelPerson string `json:"channelPerson,optional"` // 联系人
  111. ChannelPhone string `json:"channelPhone,optional"` //联系电话
  112. Winner string `json:"winner,optional"` // 中标单位
  113. Sid string `json:"sid"` // 标讯id
  114. baseParam
  115. }
  116. // 获取投标状态信息
  117. participateContentReq {
  118. Sid string `json:"sid"` // 标讯id
  119. baseParam
  120. }
  121. // 参标操作记录请求参数
  122. participateRecordsReq {
  123. Sid string `json:"sid"` // 标讯id
  124. PageNum int64 `json:"pageNum,default=1"` // 页码
  125. PageSize int64 `json:"pageSize,default=100"` // 每页条数
  126. baseParam
  127. }
  128. // 当前部门/企业下参标人员信息
  129. participatePersonsReq {
  130. baseParam
  131. ProjectId string `json:"projectId,optional"` //项目id
  132. }
  133. //投标状态更新:投标类型-投标项目阶段
  134. BidTypeReq {
  135. Name string `json:"name,optional"`
  136. Content []string `json:"content,optional"`
  137. }
  138. //消息提醒设置:
  139. RemindRuleReq {
  140. BidState string `json:"bidState,optional"` //投标规则类型;直接投标;渠道投标;
  141. Remainder int64 `json:"remainder,optional"` //距离投标截止日期需要多久开始提醒 单位h
  142. Node string `json:"node,optional"` //那个节点进行消息提醒;和投标项目阶段绑定
  143. }
  144. //参标设置信息接口
  145. participateSetUpInfoReq {
  146. baseParam
  147. SetAction string `json:"setAction,optional"` //默认空;U:更新
  148. IsAllow string `json:"isAllow,optional"` //是否允许多人同时参标 默认0;允许1
  149. BidType []*BidTypeReq `json:"bidType,optional"` //投标类型自定义内容
  150. RemindRule []*RemindRuleReq `json:"remindRule,optional"` //消息提醒
  151. }
  152. //用户参标、终止参标及划转接口开发
  153. participateActionReq {
  154. baseParam
  155. BidIds string `json:"bidIds,optional"` //招标信息id ,已加密。多个,号隔开
  156. ProjectIds string `json:"projectIds,optional"` //项目信息id,已加密。多个,号隔开
  157. ToEntUserId string `json:"toEntUserId,optional"` //划转对象的企业用户id
  158. IsRetain bool `json:"isRetain,optional"` //是否保留原跟踪人
  159. ActionType string `path:"actionType,options=in|out|transfer"` //in:参标;out:终止参标;transfer:划转
  160. }
  161. //我的参标项目列表|企业参标项目列表
  162. participateListReq {
  163. baseParam
  164. Area string `json:"area,optional"` //省份
  165. City string `json:"city,optional"` //城市
  166. BidTime string `json:"bidTime,optional"` //招标日期:开始时间-结束时间
  167. BidEndTime string `json:"bidEndTime,optional"` //投标截止日期:格式同上
  168. BidOpenTime string `json:"bidOpenTime,optional"` //开标时间:格式同上
  169. BidEndStatus int64 `json:"bidEndStatus,optional"` //投标截止状态:1:未截止;2:已截止;3:终止参标
  170. BidOpenStatus int64 `json:"bidOpenStatus,optional"` //开标状态:1:未开标;2:已开标
  171. Keywords string `json:"keywords,optional"` //查询项目名称 关键词;多个空格隔开
  172. EntUserIds string `json:"entUserIds,optional"` //企业参标人企业用户id集合,多个,号隔开
  173. PageSize int64 `json:"pageSize,default=10"` //每页数据量
  174. PageNum int64 `json:"pageNum,default=1"` //当前页码
  175. Identity string `path:"identity,options=mine|ent"` //我的:mine;企业:ent
  176. OrderNum int64 `json:"orderNum,default=0"` //排序:0:投标截止日期正序、1:开标时间正序、2:更新状态时间倒叙
  177. }
  178. ptatisticsListReq {
  179. PositionId int64 `header:"positionId,optional"` //职位id
  180. EntId int64 `header:"entId,optional"`
  181. EntUserId int64 `header:"entUserId,optional"`
  182. DeptId int64 `header:"deptId,optional"`
  183. EntUserIdArr []string `json:"entUserIdArr,optional"`
  184. StartTime int64 `json:"startTime,optional"`
  185. EndTime int64 `json:"endTime,optional"`
  186. Source []int64 `json:"source,optional"` // 标讯项目来源 -1:全部 1:个人订阅 2:企业自动分发 3:企业手动分发
  187. BidWay int64 `json:"bidWay,optional"` // 投标类型 -1:全部 1:直接投标 2:渠道投标
  188. IsMobile bool `json:"isMobile,optional"` // 是否是移动端 因为移动端和pc要求展示的不一致
  189. }
  190. polymerizeSearchReq {
  191. SearchCode string `json:"searchCode"`
  192. EntId int64 `header:"entId,optional"` // 企业id
  193. PositionType int64 `header:"positionType,optional"` // 职位类型 0个人 1企业
  194. PositionId int64 `header:"positionId,optional"` //职位id
  195. AccountId int64 `header:"accountId,optional"` //账户id
  196. AppId string `header:"appId,optional"` //剑鱼10000
  197. UserId string `header:"userId,optional"` //用户id
  198. NewUserId int64 `header:"newUserId,optional"` //base_user_id
  199. EntAccountId int64 `header:"entAccountId,optional"` //企业账户id
  200. EntUserId int64 `header:"newUserId,optional"`
  201. }
  202. ProjectDetailReq {
  203. PositionId int64 `header:"positionId,optional"` //职位id
  204. PositionType int64 `header:"positionType,optional"` //职位类型 0个人 1企业
  205. EntId int64 `header:"entId,optional"`
  206. EntUserId int64 `header:"entUserId,optional"`
  207. DeptId int64 `header:"deptId,optional"`
  208. EntUserIdArr []string `json:"entUserIdArr,optional"`
  209. StartTime int64 `json:"startTime,optional"`
  210. EndTime int64 `json:"endTime,optional"`
  211. Source []int64 `json:"source,optional"` // 标讯项目来源 -1:全部 1:个人订阅 2:企业自动分发 3:企业手动分发
  212. BidWay int64 `json:"bidWay,optional"` // 投标类型 -1:全部 1:直接投标 2:渠道投标
  213. Isparticipate int64 `json:"isparticipate,optional"` // 参标状态;-1:全部 0:未参标 1:是
  214. UpdateStartTime int64 `json:"updateStartTime,optional"` //
  215. UpdateEndTime int64 `json:"updateEndTime,optional"` //
  216. PageSize int64 `json:"pageSize,optional"` //
  217. PageNum int64 `json:"pageNum,optional"` //
  218. }
  219. mobileHotWordReq {
  220. AppId string `header:"appId"`
  221. UserId string `header:"userId,optional"`
  222. Refresh int64 `json:"refresh,optional"`
  223. Word string `json:"word,optional"`
  224. Mold int `json:"mold,optional"` //类型:1:直销-采购信息搜索
  225. }
  226. )
  227. service bxcore-api {
  228. @handler searchList
  229. post /jybx/core/:userType/searchList (searchReq) returns (commonResp)
  230. @handler limitSearchContent
  231. post /jybx/core/:searchType/searchLimit (searchLimitReq) returns (commonResp)
  232. @handler participateShow // 列表数据参标信息接口
  233. post /jybx/core/participate/show (participateShowReq) returns (commonResp)
  234. @handler ParticipateInfo // 详情页参标信息接口
  235. post /jybx/core/participate/info (participateInfoReq) returns (commonResp)
  236. @handler updateBidStatus // 投标状态更新
  237. post /jybx/core/participate/updateBidStatus (updateBidStatusReq) returns (commonResp)
  238. @handler ParticipateContent // 获取投标状态信息
  239. post /jybx/core/participate/content (participateContentReq) returns (commonResp)
  240. @handler ParticipateRecords // 参标操作记录
  241. post /jybx/core/participate/records (participateRecordsReq) returns (commonResp)
  242. @handler ParticipatePersons // 当前部门/企业下参标人员信息
  243. post /jybx/core/participate/persons (participatePersonsReq) returns (commonResp)
  244. @handler participateSetUpInfo // 参标设置信息
  245. post /jybx/core/participate/setUpInfo (participateSetUpInfoReq) returns (commonResp)
  246. @handler participateAction //参标|终止参标|划转项目
  247. post /jybx/core/participate/:actionType/info (participateActionReq) returns (commonResp)
  248. @handler participateList //我的参标项目列表|企业参标项目列表
  249. post /jybx/core/participate/:identity/list (participateListReq) returns (commonResp)
  250. @handler pushStatistics // 订阅推送统计
  251. post /jybx/core/statistics/pushStatistics (ptatisticsListReq) returns (commonPushResp)
  252. @handler projectStatistics//参标项目统计
  253. post /jybx/core/statistics/projectStatistics (ptatisticsListReq) returns (commonResp)
  254. @handler polymerizeSearch//参标项目统计
  255. post /jybx/core/polymerizeSearch (polymerizeSearchReq) returns (commonResp)
  256. @handler statisticsProjectDetails//参标项目明细
  257. post /jybx/core/statistics/projectDetails (ProjectDetailReq) returns (commonResp)
  258. @handler searchCriteria //物业搜索条件返回
  259. post /jybx/core/property/searchCriteria (commonReq) returns (commonResp)
  260. @handler mobileHotWord
  261. post /jybx/core/mobileHotWord (mobileHotWordReq) returns (commonResp)
  262. }
  263. //直采-采购信息
  264. type (
  265. purSearchReq {
  266. AppId string `header:"appId"`
  267. UserId string `header:"userId,optional"`
  268. Phone string `header:"phone,optional"`
  269. NewUserId string `header:"newUserId,optional"`
  270. EntId int64 `header:"entId,optional,omitempty"`
  271. EntUserId int64 `header:"entUserId,optional,omitempty"`
  272. AccountId string `header:"accountId,optional,omitempty"` //账户id
  273. EntAccountId int64 `header:"entAccountId,optional,omitempty"` //企业账户id
  274. PositionType int `header:"positionType,optional"` //职位类型 0个人 1企业
  275. PositionId string `header:"positionId,optional"` //职位id
  276. MgoUserId string `header:"mgoUserId,optional"` //原userId
  277. PageNum int64 `json:"pageNum,optional"` //页码
  278. PageSize int64 `json:"pageSize,optional"` //每页数量
  279. PublishTime string `json:"publishTime,optional"` //发布时间
  280. SelectType string `json:"selectType,optional"` //搜索范围:默认全部;标题:title;标的物:purchasing
  281. DomainFirstType string `json:"domainFirstType,optional"` //领域一级分类
  282. DomainSecondType string `json:"domainSecondType,optional"` //领域二级分类
  283. DomainThirdType string `json:"domainThirdType,optional"` //领域三级分类
  284. DeadlineStatus int64 `json:"deadlineStatus,optional"` //报名截止状态
  285. DeadlineTime string `json:"deadlineTime,optional"` //报名截止时间
  286. DeliveryArea string `json:"deliveryArea,optional"` //交付地点-省份
  287. DeliveryCity string `json:"deliveryCity,optional"` //交付地点-城市
  288. DeliveryDistrict string `json:"deliveryDistrict,optional"` //交付地点-县区
  289. ProjectArea string `json:"projectArea,optional"` //项目地区-省份
  290. ProjectCity string `json:"projectCity,optional"` //项目地区-城市
  291. ProjectDistrict string `json:"projectDistrict,optional"` //项目地区-县区
  292. Industry string `json:"industry,optional"` //行业
  293. FileExists int64 `json:"fileExists,optional"` //附件
  294. Publisher int64 `json:"publisher,optional"` //发布者:可选:全部、用户发布:1、平台发布:2。
  295. KeyWords string `json:"keyWords,optional"` //关键词
  296. AdditionalWords string `json:"additionalWords,optional"` //附加词
  297. SearchMode int64 `json:"searchMode,optional"` //搜索模式:0:精准搜索;1:模糊搜索
  298. WordsMode int64 `json:"wordsMode,optional"` //搜索关键词模式;默认0:包含所有,1:包含任意
  299. }
  300. )
  301. @server (
  302. group: purchase
  303. prefix: jybx
  304. )
  305. service bxcore-api {
  306. @handler purchaseSearch
  307. post /core/purchaseSearch (purSearchReq) returns (commonResp)
  308. }