package servicemanager import ( "fmt" "github.com/gin-gonic/gin" "wss-pool/api" "wss-pool/cmd/common" "wss-pool/cmd/websocketservice" "wss-pool/config" "wss-pool/internal/data" "wss-pool/internal/data/business" red "wss-pool/internal/redis" "wss-pool/logging/applogger" ) // GinServer func GinServer(ipServer, addrServer, serverName, project string) { data.Mgo_init(config.Config.Mongodb) var server = &gin.Engine{} if serverName != "gin" { red.RedisInitMap(common.GetRedisDBMore(config.Config.Redis.DbMore)) // TODO: 插针(股票市场名称),目前p6,p7不要插针 go business.NewPinStock(common.GetRedisNoPin(config.Config.Redis.NoPinAss)) } switch serverName { case "gin": // 数字币市场 red.RedisClient = red.RedisInit(config.Config.Redis.DbTen) data.InitMsqlDB(config.Config.Bourse) server = api.RouterApiServer(project) case "stockIndex": // 股票指数 server = api.RouterStockIndexApiServer() case "indiaOption": // 印度期权市场 server = api.RouterIndiaOptionApiServer() case "usStock": // 美股市场 server = api.RouterUSApiServer() case "indonesiaStock": // 印尼市场 server = api.RouterIndonesiaApiServer() case "thailandStock": // 泰国市场 server = api.RouterThailandApiServer() case "indiaStock": // 印度市场 server = api.RouterIndiaApiServer() case "malaysiaStock": // 马股市场 server = api.RouterMalaysiaApiServer() case "singaporeStock": // 新加坡市场 server = api.RouterSingaporeApiServer() case "hongkongStock": // 港股市场 server = api.RouterHongKongApiServer() case "ukStock": // 英股市场 server = api.RouterUKApiServer() case "franceStock": // 法股市场 server = api.RouterFranceApiServer() case "germanyStock": // 德股市场 server = api.RouterGermanyApiServer() case "brazilStock": // 巴西市场 server = api.RouterBrazilApiServer() case "japanStock": // 日本市场 server = api.RouterJapanApiServer() } addr := fmt.Sprintf("%v%v", ipServer, addrServer) applogger.Info("intService---addr:%v", addr) // TODO: 缓存交易对数据 if project == common.CoinProject || config.Config.ServerLevel == "test" { websocketservice.SubscriptionCache() } if err := server.Run(addr); err != nil { applogger.Error("Failed to start Gin data collection service:%v", err) } }