logging_middleware.go 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623
  1. package main
  2. import (
  3. "encoding/json"
  4. "io"
  5. "net/http"
  6. "reflect"
  7. "time"
  8. "github.com/go-kit/kit/endpoint"
  9. "github.com/go-kit/kit/log"
  10. httptransport "github.com/go-kit/kit/transport/http"
  11. "xiaoniaokuaiyan.com/xiaoniao/cerror"
  12. "xiaoniaokuaiyan.com/xiaoniao/entity"
  13. "xiaoniaokuaiyan.com/xiaoniao/search"
  14. "xiaoniaokuaiyan.com/xiaoniao/server"
  15. )
  16. type loggingMiddleware struct {
  17. server.UserService
  18. server.AuthService
  19. server.SearchService
  20. server.FileService
  21. server.OrderService
  22. server.SMSService
  23. server.CartService
  24. server.CouponService
  25. server.ProductivityService
  26. server.WeixinService
  27. server.CityService
  28. server.UserLinkerService
  29. server.ProductService
  30. server.DeliverUserService
  31. server.SystemService
  32. server.ActivityService
  33. server.GroupBloodService
  34. server.PayService
  35. server.JDLService
  36. log.Logger
  37. }
  38. //type ServiceMethod func(interface{}) (interface{}, error)
  39. func (m loggingMiddleware) Login(params map[string]string) (v interface{}, err error) {
  40. defer func(begin time.Time) {
  41. vbytes, _ := json.Marshal(v)
  42. m.Logger.Log(
  43. "method", "UserService.Login",
  44. "mobile", params["mobile"],
  45. "password", params["password"],
  46. "v", string(vbytes),
  47. "took", time.Since(begin),
  48. )
  49. }(time.Now())
  50. v, err = m.UserService.Login(params)
  51. return
  52. }
  53. func (m loggingMiddleware) LoginV2(params map[string]string) (v interface{}, err error) {
  54. defer func(begin time.Time) {
  55. vbytes, _ := json.Marshal(v)
  56. m.Logger.Log(
  57. "method", "UserService.LoginV2",
  58. "mobile", params["mobile"],
  59. "password", params["password"],
  60. "v", string(vbytes),
  61. "took", time.Since(begin),
  62. )
  63. }(time.Now())
  64. v, err = m.UserService.LoginV2(params)
  65. return
  66. }
  67. func (m loggingMiddleware) GetHomeInvite(params map[string]string) (v interface{}, err error) {
  68. defer func(begin time.Time) {
  69. vbytes, _ := json.Marshal(v)
  70. m.Logger.Log(
  71. "method", "UserService.GetHomeInvite",
  72. "mobile", params["mobile"],
  73. "password", params["password"],
  74. "v", string(vbytes),
  75. "took", time.Since(begin),
  76. )
  77. }(time.Now())
  78. v, err = m.UserService.GetHomeInvite(params)
  79. return
  80. }
  81. func (m loggingMiddleware) Regist(mobile, password, vcode string) (v interface{}, err error) {
  82. defer func(begin time.Time) {
  83. m.Logger.Log(
  84. "method", "UserService.Regist",
  85. "mobile", mobile,
  86. "took", time.Since(begin),
  87. )
  88. }(time.Now())
  89. v, err = m.UserService.Regist(mobile, password, vcode)
  90. return
  91. }
  92. func (m loggingMiddleware) ResetPwd(userName, password, newPassword string) (interface{}, error) {
  93. defer func(begin time.Time) {
  94. m.Logger.Log(
  95. "method", "UserService.ResetPwd",
  96. "mobile", userName,
  97. "took", time.Since(begin),
  98. )
  99. }(time.Now())
  100. return m.UserService.ResetPwd(userName, password, newPassword)
  101. }
  102. func (m loggingMiddleware) ForgetPwd(userName, vcode, newPassword string) (interface{}, error) {
  103. defer func(begin time.Time) {
  104. m.Logger.Log(
  105. "method", "UserService.ForgetPwd",
  106. "mobile", userName,
  107. "took", time.Since(begin),
  108. )
  109. }(time.Now())
  110. return m.UserService.ForgetPwd(userName, vcode, newPassword)
  111. }
  112. func (m loggingMiddleware) SetOpenid(mobile, openid string, wxType string) (interface{}, error) {
  113. defer func(begin time.Time) {
  114. m.Logger.Log(
  115. "method", "UserService.SetOpenid",
  116. "mobile", mobile,
  117. "Openid", openid,
  118. "took", time.Since(begin),
  119. )
  120. }(time.Now())
  121. return m.UserService.SetOpenid(mobile, openid, wxType)
  122. }
  123. func (m loggingMiddleware) GetQueueNotice(mobile string) (interface{}, error) {
  124. return m.UserService.GetQueueNotice(mobile)
  125. }
  126. func (m loggingMiddleware) UpdateQueueNotice(notice *entity.QueueNotice) (interface{}, error) {
  127. return m.UserService.UpdateQueueNotice(notice)
  128. }
  129. func (m loggingMiddleware) SendSMS(mobile string, smsType int, params map[string]string) (interface{}, error) {
  130. defer func(begin time.Time) {
  131. m.Logger.Log(
  132. "method", "SMSService.SendSMS",
  133. "mobile", mobile,
  134. "type", smsType,
  135. "took", time.Since(begin),
  136. )
  137. }(time.Now())
  138. return m.SMSService.SendSMS(mobile, smsType, params)
  139. }
  140. func (m loggingMiddleware) ValidateCode(mobile, code string, codeType int) (interface{}, error) {
  141. return m.SMSService.ValidateCode(mobile, code, codeType)
  142. }
  143. func (m loggingMiddleware) GetAccessToken(tokenStr string) (v interface{}, err error) {
  144. defer func(begin time.Time) {
  145. vbuf, _ := json.Marshal(v)
  146. m.Logger.Log(
  147. "method", "AuthService.GetAccessToken",
  148. "tokenStr", tokenStr,
  149. "v", string(vbuf),
  150. "took", time.Since(begin),
  151. )
  152. }(time.Now())
  153. v, err = m.AuthService.GetAccessToken(tokenStr)
  154. return
  155. }
  156. func (m loggingMiddleware) Query(param *search.QueryParam, uid int) (interface{}, error) {
  157. defer func(begin time.Time) {
  158. m.Logger.Log(
  159. "method", "SearchService.Query",
  160. "text", param.Text,
  161. "user_id", uid,
  162. "took", time.Since(begin),
  163. )
  164. }(time.Now())
  165. return m.SearchService.Query(param, uid)
  166. }
  167. func (m loggingMiddleware) Upload(rd io.Reader) (interface{}, error) {
  168. return m.FileService.Upload(rd)
  169. }
  170. // 订单相关接口开始
  171. func (m loggingMiddleware) AddOrder(orderItem *entity.Order, cityId int, city string) (result interface{}, err error) {
  172. defer func(begin time.Time) {
  173. errStr := ""
  174. if err != nil {
  175. errStr = err.Error()
  176. }
  177. m.Logger.Log(
  178. "method", "OrderService.AddOrder",
  179. "orderid", orderItem.Id,
  180. "took", time.Since(begin),
  181. "error", errStr,
  182. )
  183. }(time.Now())
  184. result, err = m.OrderService.AddOrder(orderItem, cityId, city)
  185. return
  186. }
  187. func (m loggingMiddleware) Pay(orderItem *entity.Order, extra map[string]string) (data interface{}, err error) {
  188. defer func(begin time.Time) {
  189. var errStr string
  190. if err != nil {
  191. errStr = err.Error()
  192. }
  193. m.Logger.Log(
  194. "method", "OrderService.Pay",
  195. "orderid", orderItem.Id,
  196. "took", time.Since(begin),
  197. "error", errStr,
  198. )
  199. }(time.Now())
  200. data, err = m.OrderService.Pay(orderItem, extra)
  201. return
  202. }
  203. func (m loggingMiddleware) UpdateOrder(orderItem *entity.Order, upType string) (interface{}, error) {
  204. defer func(begin time.Time) {
  205. m.Logger.Log(
  206. "method", "OrderService.UpdateOrder",
  207. "orderid", orderItem.Id,
  208. "took", time.Since(begin),
  209. )
  210. }(time.Now())
  211. return m.OrderService.OrderUpdate(orderItem, upType)
  212. }
  213. func (m loggingMiddleware) CancelOrder(oid string) (bool, error) {
  214. defer func(begin time.Time) {
  215. m.Logger.Log(
  216. "method", "OrderService.CancelOrder",
  217. "orderid", oid,
  218. "took", time.Since(begin),
  219. )
  220. }(time.Now())
  221. return m.OrderService.CancelOrder(oid)
  222. }
  223. func (m loggingMiddleware) DelOrder(oid string) (bool, error) {
  224. defer func(begin time.Time) {
  225. m.Logger.Log(
  226. "method", "OrderService.DelOrder",
  227. "orderid", oid,
  228. "took", time.Since(begin),
  229. )
  230. }(time.Now())
  231. return m.OrderService.DelOrder(oid)
  232. }
  233. func (m loggingMiddleware) FailedOrder(oid string) (bool, error) {
  234. defer func(begin time.Time) {
  235. m.Logger.Log(
  236. "method", "OrderService.FailedOrder",
  237. "orderid", oid,
  238. "took", time.Since(begin),
  239. )
  240. }(time.Now())
  241. return m.OrderService.FailedOrder(oid)
  242. }
  243. func (m loggingMiddleware) ListOrder(customId, pageIndex, pageSize, status int, mobile string, isZFB, isHis bool) (interface{}, error) {
  244. defer func(begin time.Time) {
  245. m.Logger.Log(
  246. "method", "OrderService.ListOrder",
  247. "customid", customId,
  248. "status", status,
  249. "took", time.Since(begin),
  250. )
  251. }(time.Now())
  252. return m.OrderService.ListOrder(customId, pageIndex, pageSize, status, mobile, isZFB, isHis)
  253. }
  254. func (m loggingMiddleware) OrderDetail(orderId string) (interface{}, error) {
  255. defer func(begin time.Time) {
  256. m.Logger.Log(
  257. "method", "OrderService.OrderDetail",
  258. "orderid", orderId,
  259. "took", time.Since(begin),
  260. )
  261. }(time.Now())
  262. return m.OrderService.OrderDetail(orderId)
  263. }
  264. func (m loggingMiddleware) OrderReport(orderId string, otype string) (interface{}, error) {
  265. defer func(begin time.Time) {
  266. m.Logger.Log(
  267. "method", "OrderService.OrderReport",
  268. "orderid", orderId,
  269. "took", time.Since(begin),
  270. )
  271. }(time.Now())
  272. return m.OrderService.OrderReport(orderId, otype)
  273. }
  274. func (m loggingMiddleware) Refund(params map[string]string) (interface{}, error) {
  275. defer func(begin time.Time) {
  276. m.Logger.Log(
  277. "method", "OrderService.Refund",
  278. "params", params,
  279. "took", time.Since(begin),
  280. )
  281. }(time.Now())
  282. return m.OrderService.Refund(params)
  283. }
  284. //订单相关接口结束
  285. // 购物车相关接口开始
  286. func (m loggingMiddleware) CartList(customId int) (interface{}, error) {
  287. return m.CartService.CartList(customId)
  288. }
  289. func (m loggingMiddleware) CartAdd(customId int, productId int, quantity int, isAdd bool) (interface{}, error) {
  290. defer func(begin time.Time) {
  291. m.Logger.Log(
  292. "method", "CartService.CartAdd",
  293. "customid", customId,
  294. "productId", productId,
  295. "quantity", quantity,
  296. "took", time.Since(begin),
  297. )
  298. }(time.Now())
  299. return m.CartService.CartAdd(customId, productId, quantity, isAdd)
  300. }
  301. func (m loggingMiddleware) CartRemove(customId int, productIds []int) (interface{}, error) {
  302. defer func(begin time.Time) {
  303. m.Logger.Log(
  304. "method", "CartService.CartRemove",
  305. "customid", customId,
  306. "productId", productIds,
  307. "took", time.Since(begin),
  308. )
  309. }(time.Now())
  310. return m.CartService.CartRemove(customId, productIds)
  311. }
  312. //购物车相关接口结束
  313. func (m loggingMiddleware) ListCoupon(mobile string, status, pageIndex, pageSize int) (interface{}, error) {
  314. defer func(begin time.Time) {
  315. m.Logger.Log(
  316. "method", "CouponService.ListCoupon",
  317. "mobile", mobile,
  318. "took", time.Since(begin),
  319. )
  320. }(time.Now())
  321. return m.CouponService.ListCoupon(mobile, status, pageIndex, pageSize)
  322. }
  323. func (m loggingMiddleware) Exchange(codeStr string, customId int, mobile string) (interface{}, cerror.CError) {
  324. defer func(begin time.Time) {
  325. m.Logger.Log(
  326. "method", "CouponService.Exchange",
  327. "mobile", mobile,
  328. "codeStr", codeStr,
  329. "took", time.Since(begin),
  330. )
  331. }(time.Now())
  332. return m.CouponService.Exchange(codeStr, customId, mobile)
  333. }
  334. func (m loggingMiddleware) GetCoupon(id int) (interface{}, error) {
  335. return m.CouponService.GetCoupon(id)
  336. }
  337. // 产能相关接口
  338. func (m loggingMiddleware) PtList(cityId int, fromDay string, ptType int, kongFuType int) (interface{}, error) {
  339. defer func(begin time.Time) {
  340. m.Logger.Log(
  341. "method", "ProductivityService.PtList",
  342. "fromDay", fromDay,
  343. "pttype", ptType,
  344. "kongFuType", kongFuType,
  345. "took", time.Since(begin),
  346. )
  347. }(time.Now())
  348. return m.ProductivityService.PtList(cityId, fromDay, ptType, kongFuType)
  349. }
  350. // 微信相关接口
  351. func (m loggingMiddleware) GetWXAccessToken(accountType string) (interface{}, error) {
  352. defer func(begin time.Time) {
  353. m.Logger.Log(
  354. "method", "WeixinService.GetAccessToken",
  355. "took", time.Since(begin),
  356. )
  357. }(time.Now())
  358. return m.WeixinService.GetWXAccessToken(accountType)
  359. }
  360. func (m loggingMiddleware) GetJSAPITicket(accountType string) (interface{}, error) {
  361. defer func(begin time.Time) {
  362. m.Logger.Log(
  363. "method", "WeixinService.GetJSAPITicket",
  364. "took", time.Since(begin),
  365. )
  366. }(time.Now())
  367. return m.WeixinService.GetJSAPITicket(accountType)
  368. }
  369. func (m loggingMiddleware) SendTpl(msg string, accountType string) (result interface{}, err error) {
  370. defer func(begin time.Time) {
  371. errStr := ""
  372. if err != nil {
  373. errStr = err.Error()
  374. }
  375. m.Logger.Log(
  376. "method", "WeixinService.SendTpl",
  377. "took", time.Since(begin),
  378. "msg", msg,
  379. "error", errStr,
  380. )
  381. }(time.Now())
  382. result, err = m.WeixinService.SendTpl(msg, accountType)
  383. return
  384. }
  385. func (m loggingMiddleware) GetOpenCityList() (interface{}, error) {
  386. return m.CityService.GetOpenCityList()
  387. }
  388. func (m loggingMiddleware) GetCityAllList() (interface{}, error) {
  389. return m.CityService.GetCityAllList()
  390. }
  391. // 订单联系人相关接口
  392. func (m loggingMiddleware) LinkerGet(id, cid int) (interface{}, error) {
  393. return m.UserLinkerService.LinkerGet(id, cid)
  394. }
  395. func (m loggingMiddleware) LinkerAdd(linker *entity.UserLinker) (interface{}, error) {
  396. return m.UserLinkerService.LinkerAdd(linker)
  397. }
  398. func (m loggingMiddleware) LinkerUpdate(linker *entity.UserLinker) (interface{}, error) {
  399. return m.UserLinkerService.LinkerUpdate(linker)
  400. }
  401. func (m loggingMiddleware) LinkerList(cid int) (interface{}, error) {
  402. return m.UserLinkerService.LinkerList(cid)
  403. }
  404. func (m loggingMiddleware) LinkerDefault(cid int) (interface{}, error) {
  405. return m.UserLinkerService.LinkerDefault(cid)
  406. }
  407. func (m loggingMiddleware) LinkerDel(linker *entity.UserLinker) (interface{}, error) {
  408. return m.UserLinkerService.LinkerDel(linker)
  409. }
  410. func (m loggingMiddleware) ProductGet(pids []int) (interface{}, error) {
  411. return m.ProductService.ProductGet(pids)
  412. }
  413. func (m loggingMiddleware) GetTags(level, cityId int) (interface{}, error) {
  414. return m.ProductService.GetTags(level, cityId)
  415. }
  416. func (m loggingMiddleware) GetByTags(tags []string, pageIndex, pageSize uint, cityId int) (interface{}, error) {
  417. return m.ProductService.GetByTags(tags, pageIndex, pageSize, cityId)
  418. }
  419. func (m loggingMiddleware) makeHandler(payloadType reflect.Type, endpointFunc interface{}, decodeFunc httptransport.DecodeRequestFunc, shouldLogin ...bool) http.Handler {
  420. vf := reflect.ValueOf(endpointFunc)
  421. vp := reflect.ValueOf(m)
  422. y := vf.Call([]reflect.Value{vp})[0]
  423. if decodeFunc == nil {
  424. decodeFunc = server.MakeDecodeRequest(payloadType, shouldLogin...)
  425. }
  426. return httptransport.NewServer(
  427. y.Interface().(endpoint.Endpoint),
  428. decodeFunc,
  429. server.EncodeResponse,
  430. httptransport.ServerErrorLogger(log.With(m.Logger, "transport", "HTTP/JSON")),
  431. )
  432. }
  433. // 20220719 不打印日志,部分信息并没有太大意义。免得日志文件增长过快,
  434. func (m loggingMiddleware) makeHandlerNoLog(payloadType reflect.Type, endpointFunc interface{}, decodeFunc httptransport.DecodeRequestFunc, shouldLogin ...bool) http.Handler {
  435. vf := reflect.ValueOf(endpointFunc)
  436. vp := reflect.ValueOf(m)
  437. y := vf.Call([]reflect.Value{vp})[0]
  438. if decodeFunc == nil {
  439. decodeFunc = server.MakeDecodeRequest(payloadType, shouldLogin...)
  440. }
  441. return httptransport.NewServer(
  442. y.Interface().(endpoint.Endpoint),
  443. decodeFunc,
  444. server.EncodeResponseNoLog,
  445. httptransport.ServerErrorLogger(log.With(m.Logger, "transport", "HTTP/JSON")),
  446. )
  447. }
  448. func (m loggingMiddleware) GetMeta() map[string]http.Handler {
  449. return map[string]http.Handler{
  450. "/user/login": m.makeHandler(reflect.TypeOf(LoginParam{}), makeLoginEndpoint, nil),
  451. "/user/loginV2": m.makeHandler(reflect.TypeOf(LoginV2Param{}), makeLoginV2Endpoint, nil),
  452. "/user/logincoupon": m.makeHandler(reflect.TypeOf(LoginParam{}), makeLoginCouponsEndpoint, nil),
  453. "/user/homeinvite": m.makeHandler(reflect.TypeOf(LoginV2Param{}), makeGetHomeInviteEndpoint, nil),
  454. "/user/saveinfo": m.makeHandler(reflect.TypeOf(entity.User{}), makeSaveInfoEndpoint, nil, true),
  455. "/user/savehobby": m.makeHandler(reflect.TypeOf(entity.User{}), makeSaveHobbyEndpoint, nil, true),
  456. "/user/gethobby": m.makeHandler(nil, makeGetHobbyEndpoint, nil, false),
  457. "/user/regist": m.makeHandler(reflect.TypeOf(RegistParam{}), makeRegistEndpoint, nil),
  458. "/user/resetpwd": m.makeHandler(reflect.TypeOf(ResetPwdParam{}), makeResetPwdEndpoint, nil, true),
  459. "/user/forgetpwd": m.makeHandler(reflect.TypeOf(RegistParam{}), makeForgetPwdEndpoint, nil),
  460. "/user/setopenid": m.makeHandler(reflect.TypeOf(SetOpenidParam{}), makeSetOpenidEndpoint, nil, true),
  461. "/user/notice/get": m.makeHandler(reflect.TypeOf(entity.QueueNotice{}), makeGetQueueNoticeEndpoint, nil, true),
  462. "/user/notice/update": m.makeHandler(reflect.TypeOf(entity.QueueNotice{}), makeUpdateQueueNoticeEndpoint, nil, true),
  463. "/user/relationship": m.makeHandler(nil, makeGetRelationshipEndpoint, nil, false),
  464. "/user/update": m.makeHandler(reflect.TypeOf(entity.User{}), makeUpdateUinfoEndpoint, nil, true),
  465. "/user/wxinfo": m.makeHandler(reflect.TypeOf(""), makeGetUserWxEndpoint, nil, false),
  466. "/auth/token": m.makeHandler(nil, makeAuthEndpoint, server.DecodeAuthRequest),
  467. "/search": m.makeHandler(nil, makeSearchEndpoint, nil, false),
  468. "/file/upload": m.makeHandler(nil, makeFileUploadEndpoint, server.DecodeFileRequest),
  469. "/order/add": m.makeHandler(reflect.TypeOf(entity.Order{}), makeAddOrderEndpoint, nil, true),
  470. "/order/pay": m.makeHandler(reflect.TypeOf(entity.Order{}), makePayEndpoint, nil, true),
  471. "/order/inner/add": m.makeHandler(reflect.TypeOf(entity.Order{}), makeAddOrderEndpoint, nil, false),
  472. "/order/inner/pay": m.makeHandler(reflect.TypeOf(entity.Order{}), makePayEndpoint, nil, false),
  473. "/order/list": m.makeHandler(reflect.TypeOf(ListOrderParam{}), makeListOrderEndpoint, nil, true),
  474. "/order/detail": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeOrderDetailEndpoint, nil, true),
  475. "/order/detail/code": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeOrderDetailEndpoint, nil, false),
  476. "/order/cancel": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeCancelOrderEndpoint, nil, true),
  477. "/order/del": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeDelOrderEndpoint, nil, true),
  478. "/order/failed": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeFailedOrderEndpoint, nil, true),
  479. "/order/report": m.makeHandler(reflect.TypeOf(DetailOrderParam{}), makeOrderReportEndpoint, nil),
  480. "/order/update": m.makeHandler(reflect.TypeOf(entity.Order{}), makeOrderUpdateEndpoint, nil, true),
  481. "/order/refund": m.makeHandler(reflect.TypeOf(map[string]string{}), makeRefundEndpoint, nil),
  482. "/order/survey": m.makeHandler(reflect.TypeOf(entity.OrderSurvey{}), makeOrderSurveyEndpoint, nil),
  483. "/order/savecbinfo": m.makeHandler(reflect.TypeOf(entity.OrderCallbackInfo{}), makeSaveCallbackInfoEndpoint, nil),
  484. "/order/getcbinfo": m.makeHandler(reflect.TypeOf(""), makeGetCallbackInfoEndpoint, nil),
  485. "/order/payquery": m.makeHandler(reflect.TypeOf(""), makeOrderPayQueryEndpoint, nil, true),
  486. "/order/vaildcount": m.makeHandler(reflect.TypeOf(ListOrderParam{}), makeOrderVaildCountEndpoint, nil),
  487. "/sms/send": m.makeHandler(reflect.TypeOf(SMSParam{}), makeSMSSendEndpoint, nil),
  488. "/sms/sendworld": m.makeHandler(reflect.TypeOf(SMSParam{}), makeSMSSendWorldEndpoint, nil),
  489. "/sms/validatecode": m.makeHandler(reflect.TypeOf(VcodeParam{}), makeValidateCodeEndpoint, nil),
  490. "/cart/list": m.makeHandler(reflect.TypeOf(entity.Cart{}), makeCartListEndpoint, nil, true),
  491. "/cart/add": m.makeHandler(reflect.TypeOf(entity.Cart{}), makeCartAddEndpoint, nil, true),
  492. "/cart/remove": m.makeHandler(reflect.TypeOf(CartParam{}), makeCartRemoveEndpoint, nil, true),
  493. "/coupon/list": m.makeHandler(reflect.TypeOf(CouponListParam{}), makeCouponListEndpoint, nil, true),
  494. "/coupon/getbyorderid": m.makeHandler(reflect.TypeOf(""), makeCouponGetByOrderIdEndpoint, nil, true),
  495. "/coupon/exchange": m.makeHandler(reflect.TypeOf(ExchangeParam{}), makeExchangeEndpoint, nil, true),
  496. "/coupon/detail": m.makeHandler(reflect.TypeOf(int(1)), makeCouponGetEndpoint, nil, true),
  497. "/coupon/add": m.makeHandler(reflect.TypeOf(entity.DiscountTicket{}), makeCouponAddEndpoint, nil, true),
  498. "/coupon/queryfcode": m.makeHandler(reflect.TypeOf(""), makeQueryFcodeEndpoint, nil),
  499. "/coupon/actlist": m.makeHandler(reflect.TypeOf(entity.DiscountActParams{}), makeCouponActListEndpoint, nil),
  500. "/coupon/receive": m.makeHandler(reflect.TypeOf(entity.DiscountReceiveParams{}), makeCouponActReceiveEndpoint, nil),
  501. "/wx/token": m.makeHandler(nil, makeWXAccessTokenEndpoint, nil),
  502. "/wx/jsapi_ticket": m.makeHandler(nil, makeWXApiTicketEndpoint, nil),
  503. "/wx/sendtpl": m.makeHandler(nil, makeSendTplEndpoint, nil),
  504. "/wx/jssdksign": m.makeHandler(reflect.TypeOf(""), makeWXJsSdkSignEndpoint, nil),
  505. "/wx/scanpay": m.makeHandler(reflect.TypeOf(map[string]string{}), makeWxScanPayEndpoint, nil),
  506. "/wx/payreason": m.makeHandler(nil, makeGetPayReasonEndpoint, nil),
  507. "/city/openlist": m.makeHandler(nil, makeCityOpenListEndpoint, nil),
  508. "/city/all": m.makeHandlerNoLog(nil, makeCityAllEndpoint, nil),
  509. "/city/opencounty": m.makeHandler(nil, makeCityOpenCountyEndpoint, nil),
  510. "/city/infobyid": m.makeHandler(reflect.TypeOf([]int{}), makeGetCityByIdEndpoint, nil),
  511. "/city/county": m.makeHandler(reflect.TypeOf(int(1)), makeGetCountyByCityIdEndpoint, nil),
  512. "/userlinker/get": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerGetEndpoint, nil, true),
  513. "/userlinker/add": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerAddEndpoint, nil, true),
  514. "/userlinker/save": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerUpdateEndpoint, nil, true),
  515. "/userlinker/list": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerListEndpoint, nil, true),
  516. "/userlinker/default": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerDefaultEndpoint, nil, true),
  517. "/userlinker/del": m.makeHandler(reflect.TypeOf(entity.UserLinker{}), makeLinkerDelEndpoint, nil, true),
  518. "/userlinker/relationships": m.makeHandler(nil, makeLinkerRelEndpoint, nil, true),
  519. "/productivity/list": m.makeHandler(reflect.TypeOf(PtListParam{}), makeiPtListEndpoint, nil),
  520. "/product/get": m.makeHandler(reflect.TypeOf([]int{}), makeProductGetEndpoint, nil),
  521. "/product/getcoordinates": m.makeHandler(reflect.TypeOf(ProductCoordinatesParam{}), makeProductGetCoordinates, nil),
  522. "/product/checkcoordinates": m.makeHandler(reflect.TypeOf(ProductCoordinatesParam{}), makeProductCheckCoordinates, nil),
  523. "/product/getbycateid": m.makeHandler(reflect.TypeOf(GetProductByCateParam{}), makeProductGetByCatIdEndpoint, nil),
  524. "/product/cate": m.makeHandler(reflect.TypeOf(int(1)), makeGetProductCateEndpoint, nil),
  525. "/product/recommend": m.makeHandler(reflect.TypeOf(GetProductByCateParam{}), makeGetRecommendProductEndpoint, nil),
  526. "/product/tag": m.makeHandler(nil, makeGetTagsEndpoint, nil),
  527. "/product/getbytag": m.makeHandler(reflect.TypeOf(GetProductParam{}), makeGetProductByTagsEndpoint, nil),
  528. "/product/savegenesign": m.makeHandler(reflect.TypeOf(entity.ConsumerGeneSign{}), makeSaveConsumerGeneSignEndpoint, nil),
  529. "/product/addingcate": m.makeHandler(reflect.TypeOf(0), makeGetProductAddingCateEndpoint, nil),
  530. "/product/addbydpids": m.makeHandler(reflect.TypeOf([]int{}), makeAddProductByDpidsEndpoint, nil, true),
  531. "/product/top": m.makeHandler(reflect.TypeOf(TopProductParam{}), makeGetProductTopEndpoint, nil),
  532. "/product/guess": m.makeHandler(reflect.TypeOf(ProductGuessParam{}), makeProductGuess, nil),
  533. "/duser/orderlist": m.makeHandler(reflect.TypeOf(GetOrderListParam{}), makeGetOrderListEndpoint, nil),
  534. "/duser/orderlist/v2": m.makeHandler(reflect.TypeOf(GetOrderListParam{}), makeGetOrderListV2Endpoint, nil),
  535. "/duser/ordersign": m.makeHandler(reflect.TypeOf(""), makeGetOrderSignEndpoint, nil),
  536. "/duser/saveordersign": m.makeHandler(reflect.TypeOf(entity.OrderSign{}), makeSaveOrderSignEndpoint, nil),
  537. "/duser/regist": m.makeHandler(reflect.TypeOf(entity.DeliverUser{}), makeRegistDUEndpoint, nil),
  538. "/duser/exam": m.makeHandler(reflect.TypeOf(NourseExamParam{}), makeNurseExamEndpoint, nil),
  539. "/system/piclist": m.makeHandler(nil, makeGetFirstPagePicListEndpoint, nil),
  540. "/system/workdays": m.makeHandler(reflect.TypeOf(int(0)), makeGetWorkdaysEndpoint, nil),
  541. "/system/question": m.makeHandler(reflect.TypeOf(int(0)), makeGetQuestionEndpoint, nil),
  542. //"/system/dictlist": m.makeHandler(reflect.TypeOf(""), makeGetDictListEndpoint, nil),
  543. "/system/dictlist": m.makeHandler(reflect.TypeOf(DictParam{}), makeGetDictListEndpoint, nil),
  544. "/act/addreporter": m.makeHandler(reflect.TypeOf(entity.ActReporter{}), makeAddReporterEndpoint, nil),
  545. "/act/addinfo": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeAddActInfoEndpoint, nil),
  546. "/act/getinfo": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeGetActInfoEndpoint, nil),
  547. "/act/upinfo": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeUpdateActinfoEndpoint, nil),
  548. "/act/withdraw": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeWithdrawActinfoEndpoint, nil),
  549. "/act/addinvoice": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeAddInvoice, nil),
  550. "/act/getinvoice": m.makeHandler(reflect.TypeOf(entity.ActInfo{}), makeGetInvoice, nil),
  551. "/jicai/gbinfo": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGetGroupBloodInfoEndpoint, nil, true),
  552. "/jicai/enqueue": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGroupBloodEnqueueEndpoint, nil, true),
  553. "/jicai/next": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGroupBloodNextEndpoint, nil, false),
  554. "/jicai/subjectqueue": m.makeHandler(reflect.TypeOf(GroupBloodParam{}), makeGroupBloodSubjectQueueEndpoint, nil, false),
  555. "/jicai/orderinfo": m.makeHandler(reflect.TypeOf(""), makeGroupBloodGetOrderinfoEndpoint, nil),
  556. "/jicai/checkprogress": m.makeHandler(reflect.TypeOf(""), makeGroupBloodGetProgressinfoEndpoint, nil),
  557. "/jicai/confirmchecked": m.makeHandler(reflect.TypeOf(entity.GPParam{}), makeGroupBloodConfirmCheckEndpoint, nil),
  558. "/pay/prepay/get": m.makeHandler(reflect.TypeOf(map[string]string{}), makeGetPrepayInfoEndpoint, nil, false),
  559. "/user/customfile/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetCustomFilelist, nil, true),
  560. "/user/customfile/get": m.makeHandler(reflect.TypeOf(int(1)), makeGetCustomFile, nil, true),
  561. "/user/customfile/updatelabel": m.makeHandler(reflect.TypeOf(entity.CustomInfoLabelsDto{}), makeUpdateCustomFileLabel, nil, true),
  562. "/user/customfile/add": m.makeHandler(reflect.TypeOf(entity.CustomFile{}), makeAddCustomFile, nil, true),
  563. "/user/customfile/modify": m.makeHandler(reflect.TypeOf(entity.CustomFile{}), makeModifyCustomFile, nil, true),
  564. "/user/customfile/del": m.makeHandler(reflect.TypeOf(int(1)), makeDelCustomFile, nil, true),
  565. "/user/customattachment/add": m.makeHandler(reflect.TypeOf(entity.CustomAttachment{}), makeAddCustomAttachment, nil, true),
  566. "/user/customattachment/count": m.makeHandler(reflect.TypeOf(entity.CustomFileParam{}), makeGetCustomAttachmentCount, nil, true),
  567. "/user/customattachment/list": m.makeHandler(reflect.TypeOf(entity.CustomFileParam{}), makeGetCustomAttachmentList, nil, true),
  568. "/user/customrisk/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetCustomRiskList, nil, true),
  569. "/user/yidian/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetYiDianList, nil, true),
  570. "/user/doctorrecommend/list": m.makeHandler(reflect.TypeOf(int(1)), makeGetDoctorRecommendList, nil, true),
  571. "/order/list/customfileid": m.makeHandler(reflect.TypeOf(ListOrderParam{}), makeListFileOrderEndpoint, nil, true),
  572. "/system/dictlist/list": m.makeHandler(reflect.TypeOf([]DictParam{}), makeGetDictListsEndpoint, nil),
  573. //京东物流
  574. "/order/jdl/calendar": m.makeHandler(reflect.TypeOf(entity.JDLParams{}), makeJDLCalendar, nil),
  575. "/order/jdl/add": m.makeHandler(reflect.TypeOf(entity.JDLParams{}), makeJDLAdd, nil),
  576. "/order/jdl/cancel": m.makeHandler(reflect.TypeOf(entity.JDLCheck{}), makeJDLCancel, nil),
  577. "/order/jdl/trace": m.makeHandler(reflect.TypeOf(entity.JDLCheck{}), makeJDLTrace, nil),
  578. }
  579. }