main.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package main
  2. import (
  3. "mtp20access/core"
  4. "mtp20access/global"
  5. "mtp20access/initialize"
  6. "go.uber.org/zap"
  7. )
  8. // @title Swagger Example API
  9. // @version 0.0.1
  10. // @description 新接入服务
  11. // @securityDefinitions.apikey ApiKeyAuth
  12. // @in header
  13. // @name x-token
  14. // @BasePath /
  15. func main() {
  16. // 初始化Viper
  17. global.M2A_VP = core.Viper()
  18. // 初始化zap日志库
  19. global.M2A_LOG = core.Zap()
  20. zap.ReplaceGlobals(global.M2A_LOG)
  21. global.M2A_LOG.Info("66666666666666777777777777777777777777666666666666666")
  22. // 初始化redis服务
  23. initialize.Redis()
  24. // 从redis加载jwt数据
  25. // xorm连接数据库
  26. global.M2A_DB = initialize.XormOracle()
  27. if global.M2A_DB != nil {
  28. // 程序结束前关闭数据库链接
  29. defer global.M2A_DB.DB().Close()
  30. } else {
  31. return
  32. }
  33. // 连接RabbitMQ
  34. global.M2A_RABBITMQ = initialize.RabbitMQ()
  35. if global.M2A_RABBITMQ != nil {
  36. defer global.M2A_RABBITMQ.Connection.Close()
  37. } else {
  38. return
  39. }
  40. // 初始化功能码主题MAP
  41. initialize.InitFuncodeTopic()
  42. // 订阅RabbitMQ回复主题
  43. if err := initialize.RabbitMQSubscribeTopic(); err != nil {
  44. return
  45. }
  46. // 开始接收RabbitMQ信息
  47. initialize.StartRabbitMQReceive()
  48. // 启动Http API 服务
  49. core.RunApiServer()
  50. defer global.M2A_REDIS.Close()
  51. }