bxcore.api 19 KB

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