http.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package http
  2. import (
  3. "net/http"
  4. "go-common/app/service/live/wallet/conf"
  5. "go-common/app/service/live/wallet/service"
  6. "go-common/library/log"
  7. bm "go-common/library/net/http/blademaster"
  8. "go-common/library/net/http/blademaster/middleware/verify"
  9. )
  10. var (
  11. // depend service
  12. idfSvc *verify.Verify
  13. walletSvr *service.Service
  14. )
  15. func Init(c *conf.Config, s *service.Service) {
  16. // init service
  17. walletSvr = s
  18. // init external router
  19. idfSvc = verify.New(nil)
  20. engineOut := bm.DefaultServer(c.BM.Inner)
  21. innerRouter(engineOut)
  22. // init Inner serve
  23. if err := engineOut.Start(); err != nil {
  24. log.Error("bm.DefaultServer error(%v)", err)
  25. panic(err)
  26. }
  27. engineLocal := bm.DefaultServer(c.BM.Local)
  28. localRouter(engineLocal)
  29. // init Local serve
  30. if err := engineLocal.Start(); err != nil {
  31. log.Error("bm.DefaultServer error(%v)", err)
  32. panic(err)
  33. }
  34. }
  35. // outerRouter init outer router api path.
  36. func innerRouter(e *bm.Engine) {
  37. // init api
  38. e.Ping(ping)
  39. group := e.Group("/x/internal/livewallet", idfSvc.Verify)
  40. {
  41. group.GET("/wallet/get", get)
  42. group.GET("/wallet/delCache", delCache)
  43. group.GET("/wallet/getAll", getAll)
  44. group.POST("/wallet/getTid", getTid)
  45. group.POST("/wallet/recharge", recharge)
  46. group.GET("/wallet/query", query)
  47. group.POST("/wallet/pay", pay)
  48. group.POST("/wallet/exchange", exchange)
  49. group.POST("/wallet/modify", modify)
  50. group.POST("/flowwater/recordCoinStream", recordCoinStream)
  51. }
  52. }
  53. // localRouter init local router.
  54. func localRouter(e *bm.Engine) {
  55. }
  56. // ping check server ok.
  57. func ping(c *bm.Context) {
  58. if err := walletSvr.Ping(c); err != nil {
  59. log.Error("live-userwallet http service ping error(%v)", err)
  60. c.AbortWithStatus(http.StatusServiceUnavailable)
  61. }
  62. }