You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.3 KiB
68 lines
2.3 KiB
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)
|
|
}
|
|
}
|
|
|