bxcore.api 14 KB

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