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.

69 lines
2.3 KiB

2 months ago
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)
}
}