i2bill.api 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. syntax = "v1"
  2. info(
  3. title: // TODO: add title
  4. desc: // TODO: add description
  5. author: "double.huang"
  6. email: "2637309949@qq.com"
  7. )
  8. type PageResult {
  9. Page int `json:"page"`
  10. Rows int `json:"rows"`
  11. TotalSize int64 `json:"totalSize"`
  12. TotalPageSize int64 `json:"totalPageSize"`
  13. Content interface{} `json:"content"`
  14. }
  15. type WXLoginResponse {
  16. OpenID string `json:"openid"`
  17. SessionKey string `json:"session_key"`
  18. UnionID string `json:"unionid"`
  19. ErrCode int `json:"errcode"`
  20. ErrMsg string `json:"errmsg"`
  21. }
  22. type Watermark {
  23. AppID string `json:"appid"`
  24. TimeStamp int64 `json:"timestamp"`
  25. }
  26. type WXUserInfo {
  27. OpenID string `json:"openId,omitempty"`
  28. SessionKey string `json:"SessionKey"`
  29. NickName string `json:"nickName"`
  30. AvatarUrl string `json:"avatarUrl"`
  31. Gender int64 `json:"gender"`
  32. Country string `json:"country"`
  33. Province string `json:"province"`
  34. City string `json:"city"`
  35. UnionID string `json:"unionId,omitempty"`
  36. Language string `json:"language"`
  37. Watermark Watermark `json:"watermark,omitempty"`
  38. }
  39. type ResUserInfo {
  40. UserInfo WXUserInfo `json:"userInfo"`
  41. RawData string `json:"rawData"`
  42. Signature string `json:"signature"`
  43. EncryptedData string `json:"encryptedData"`
  44. IV string `json:"iv"`
  45. }
  46. type loginByWeixinRequest {
  47. Code string `json:"code"`
  48. // UserInfo ResUserInfo `json:"userInfo"`
  49. }
  50. type AuthUserInfo {
  51. ID int64 `json:"id"`
  52. Mobile string `json:"mobile"`
  53. UserName string `json:"username"`
  54. NickName string `json:"nickname"`
  55. Gender int64 `json:"gender"`
  56. Avatar string `json:"avatar"`
  57. Birthday int64 `json:"birthday"`
  58. }
  59. type loginByWeixinResponse {
  60. Token string `json:"token"`
  61. UserInfo AuthUserInfo `json:"userInfo"`
  62. }
  63. type jzQrcodeResponse {
  64. Id int64 `json:"id"`
  65. FileId string `json:"fileId"`
  66. }
  67. type bindMobileRequest {
  68. Iv string `json:"iv"`
  69. EncryptedData string `json:"encryptedData"`
  70. }
  71. type bindMobileResponse {
  72. Id int64 `json:"id"`
  73. }
  74. type partTimeUserAddRequest {
  75. Name string `json:"name"`
  76. IponeNumber string `json:"ipone_number"`
  77. Sex int64 `json:"sex"`
  78. MkId string `json:"mk_id"`
  79. CityId int64 `json:"city_id"` // 城市
  80. }
  81. type infoResponse {
  82. ID int64 `json:"id"`
  83. Mobile string `json:"mobile"`
  84. UserName string `json:"username"`
  85. CityName string `json:"cityname"`
  86. NickName string `json:"nickname"`
  87. Gender int64 `json:"gender"`
  88. Avatar string `json:"avatar"`
  89. Birthday int64 `json:"birthday"`
  90. ErpRoleType int64 `json:"erpRoleType"`
  91. }
  92. type punchClockRequest {
  93. Lat string `json:"lat"`
  94. Address string `json:"address"`
  95. Type int64 `json:"type"`
  96. }
  97. type enrollRequest {
  98. Scene string `json:"scene"`
  99. Name string `json:"name"`
  100. ContactName string `json:"contactName"`
  101. ContactPhone string `json:"contactPhone"`
  102. SchId int64 `json:"schId"`
  103. Location string `json:"location"`
  104. }
  105. type enrollAddReq {
  106. Name string `json:"name"`
  107. AgeGroup int `json:"age_group"`
  108. StuLinkPerson string `json:"stu_link_person"`
  109. StuPhone string `json:"stu_phone"`
  110. SchId int `json:"sch_id"`
  111. Address string `json:"address"`
  112. UserId int `json:"user_id"`
  113. NetworkId int `json:"network_id,optional"`
  114. ActiveId int `json:"active_id,optional"`
  115. }
  116. type Response {
  117. Code int `json:"code"`
  118. Msg string `json:"msg"`
  119. Data interface{} `json:"data"`
  120. }
  121. type GetErpOptionsetReq {
  122. Code string `json:"code"`
  123. }
  124. // 认证模块
  125. @server(
  126. group: auth
  127. )
  128. service i2bill-api {
  129. @handler Hello
  130. get /api/hello
  131. @handler LoginByWeixin
  132. post /api/auth/loginByWeixin(loginByWeixinRequest) returns(loginByWeixinResponse)
  133. }
  134. // 用户模块
  135. @server(
  136. jwt: JwtAuth
  137. group: user
  138. )
  139. service i2bill-api {
  140. @handler JzQrCode
  141. get /api/user/share/jzQrcode returns(jzQrcodeResponse)
  142. @handler BindMobile
  143. post /api/user/bindMobile(bindMobileRequest) returns(Response)
  144. @handler GetUser
  145. get /api/user/info returns(infoResponse)
  146. @handler PunchClock
  147. post /api/user/punchClock(punchClockRequest) returns(Response)
  148. @handler PunchClockPage
  149. get /api/user/punchClock/page returns(Response)
  150. @handler PunchClockGet
  151. get /api/user/punchClock/get_to_day returns(Response)
  152. }
  153. // 兼职模块
  154. @server(
  155. jwt: JwtAuth
  156. group: mkt_part_time_user
  157. )
  158. service i2bill-api {
  159. @handler MktPartTimeUserAdd
  160. post /api/v1/part_time_user/add (partTimeUserAddRequest) returns(Response)
  161. @handler MktPartTimeUserUpdate
  162. post /api/v1/part_time_user/update (partTimeUserAddRequest) returns(Response)
  163. @handler MktPartTimeUserGet
  164. get /api/v1/part_time_user/get returns(Response)
  165. }
  166. // 收单模块
  167. @server(
  168. jwt: JwtAuth
  169. group: acquirer
  170. )
  171. service i2bill-api {
  172. @handler Enroll
  173. post /api/acquirer/enroll(enrollRequest) returns(Response)
  174. }
  175. @server(
  176. jwt: JwtAuth
  177. group: acquirer_student
  178. )
  179. service i2bill-api{
  180. @handler AcquirerStudentPage
  181. post /api/v1/acquirer_student/page() returns(Response)
  182. @handler AcquirerStudentTotal
  183. get /api/v1/acquirer_student/total returns(Response)
  184. }
  185. @server(
  186. group: acquirer_student
  187. )
  188. service i2bill-api {
  189. @handler AcquirerStudentAdd
  190. post /api/v1/acquirer_student/add(enrollAddReq) returns(Response)
  191. }
  192. // 城市树
  193. @server(
  194. jwt: JwtAuth
  195. group: base_organ
  196. )
  197. service i2bill-api{
  198. @handler GetErpCityTree
  199. get /api/v1/base_organ/get_erp_city_tree returns(Response)
  200. }
  201. //erp 字典
  202. @server(
  203. jwt: JwtAuth
  204. group: sys_optionset
  205. )
  206. service i2bill-api{
  207. @handler GetErpOptionset
  208. get /api/v1/sys_optionset/get_erp_optionset returns(Response)
  209. }
  210. //erp 渠道细分
  211. @server(
  212. jwt: JwtAuth
  213. group: mkt_network_detail
  214. )
  215. service i2bill-api{
  216. @handler GetErpMktNetworkDetail
  217. get /api/v1/mkt_network_detail/get_erp_mkt_network_detail returns(Response)
  218. }