main.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package main
  2. import (
  3. "context"
  4. "lims_adapter/handler"
  5. "lims_adapter/handler/access"
  6. "lims_adapter/handler/feedback"
  7. "lims_adapter/handler/learning"
  8. "lims_adapter/handler/repair"
  9. "lims_adapter/service/timers"
  10. "net/http"
  11. "github.com/golang/glog"
  12. _ "lims_adapter/boot"
  13. _ "lims_adapter/valid"
  14. "dashoo.cn/micro_libary/micro_srv"
  15. "github.com/gogf/gf/frame/g"
  16. "github.com/robfig/cron"
  17. "github.com/smallnest/rpcx/protocol"
  18. )
  19. func main() {
  20. go swaggerui()
  21. // 定时任务
  22. c := cron.New()
  23. spec := "0 0 1 * * ?" // 每日1点执行
  24. if err := c.AddJob(spec, timers.Timer{}); err != nil {
  25. glog.Error(err.Error())
  26. }
  27. c.Start()
  28. srvAddr := g.Config().GetString("setting.bind-addr")
  29. basePath := g.Config().GetString("setting.srv-name")
  30. // 创建总服务包
  31. s := micro_srv.CreateAndInitService(basePath)
  32. // 注册服务对象
  33. s.RegisterName("Meeting",
  34. new(handler.Meeting), "")
  35. s.RegisterName("Reservation",
  36. new(handler.Reservation), "")
  37. s.RegisterName("Equipment",
  38. new(handler.Equipment), "")
  39. s.RegisterName("System",
  40. new(handler.System), "")
  41. s.RegisterName("Result",
  42. new(handler.Result), "")
  43. s.RegisterName("Account",
  44. new(handler.Account), "")
  45. s.RegisterName("SettleAccountBill",
  46. new(handler.SettleAccountBillController), "")
  47. s.RegisterName("SettleAccountMain",
  48. new(handler.SettleAccountMainController), "")
  49. s.RegisterName("SettleAccountDetail",
  50. new(handler.SettleAccountDetailController), "")
  51. s.RegisterName("InstrumentSurcharge",
  52. new(handler.InstrumentSurchargeController), "")
  53. s.RegisterName("Test",
  54. new((handler.TestController)), "")
  55. s.RegisterName("LearningSkill",
  56. new((learning.LearningSkill)), "")
  57. s.RegisterName("LearningMaterial",
  58. new((learning.LearningMaterial)), "")
  59. s.RegisterName("LearningQuestion",
  60. new((learning.LearningQuestion)), "")
  61. s.RegisterName("LearningExamRecord",
  62. new((learning.LearningExamRecord)), "")
  63. s.RegisterName("LearningLearningRecord",
  64. new((learning.LearningLearningRecord)), "")
  65. s.RegisterName("LearningTestpaper",
  66. new((learning.LearningTestpaper)), "")
  67. s.RegisterName("LearningMaterialPublishRecord",
  68. new((learning.LearningMaterialPublishRecord)), "")
  69. s.RegisterName("Feedback",
  70. new((feedback.Feedback)), "")
  71. s.RegisterName("Repair",
  72. new((repair.Repair)), "")
  73. s.RegisterName("Announcement",
  74. new((handler.Announcement)), "")
  75. s.RegisterName("RecordHistory",
  76. new((access.RecordHistory)), "")
  77. s.RegisterName("DeviceLockRelate",
  78. new((access.DeviceLockRelate)), "")
  79. s.RegisterName("AccessPath",
  80. new((access.AccessPath)), "")
  81. s.RegisterName("UserLockaccess",
  82. new((access.UserLockaccess)), "")
  83. // 注册auth处理
  84. s.AuthFunc = handleAuth
  85. // 运行服务
  86. if err := s.Serve("tcp", srvAddr); err != nil {
  87. g.Log().Fatal(err)
  88. }
  89. }
  90. // AuthExcludePaths 设定不需要认证的路径
  91. //var AuthExcludePaths = []string{}
  92. // 处理Auth
  93. func handleAuth(ctx context.Context, req *protocol.Message, token string) error {
  94. return micro_srv.HandleAuth(ctx, req, token, nil)
  95. }
  96. func swaggerui() {
  97. defer func() {
  98. if r := recover(); r != nil {
  99. glog.Error(r)
  100. }
  101. }()
  102. glog.Error(http.ListenAndServe(":8080",
  103. http.FileServer(http.Dir("./swaggerui/"))))
  104. }