package business import ( "fmt" "wss-pool/config" "wss-pool/dictionary" "wss-pool/logging/applogger" "wss-pool/pkg/hbwssclient/marketwssclient" "wss-pool/pkg/model" "wss-pool/pkg/model/market" ) // k线数据 func MgoSubscribeCtKline() { symbolList := model.SymbolCtListString(dictionary.ContractTime) client := new(marketwssclient.ContractKLineWebSocketClient).Init(config.Config.HbContract.HbContractHost) client.SetHandler( func() { for symbol, period := range symbolList { for _, value := range period { client.Subscribe(symbol, value, config.Config.HbContract.HbContractSubUids) } } }, func(response interface{}) { resp, ok := response.(market.SubscribeCtKlineResponse) if ok { if &resp != nil { if resp.Tick != nil || resp.Data != nil { applogger.Info("subscribeCtKline data,ServersId:%v,Sender:%v,Content:%v-%v", resp.Channel, resp.Tick, resp.Data) } } } else { applogger.Warn("Unknown response: %v", resp) } }) client.Connect(true) fmt.Println("Press ENTER to unsubscribe and stop...") fmt.Scanln() for symbol, period := range symbolList { for _, value := range period { client.UnSubscribe(symbol, value, config.Config.HbContract.HbContractSubUids) } } client.Close() applogger.Info("Client closed") } // 深度信息 func MgoSubscribeCtDepth() { symbolList := model.SymbolCtListString(dictionary.ContractDepth) client := new(marketwssclient.ContractDepthWebSocketClient).Init(config.Config.HbContract.HbContractHost) client.SetHandler( func() { for symbol, period := range symbolList { for _, value := range period { client.Subscribe(symbol, value, config.Config.HbContract.HbContractSubUids) } } }, func(response interface{}) { resp, ok := response.(market.SubscribeCtDepthResponse) if ok { if &resp != nil { if resp.Tick != nil { applogger.Info("subscribeCtDepth data,ServersId:%v,Sender:%v,Content:%v", resp.Channel, resp.Tick) } } } else { applogger.Warn("Unknown response: %v", resp) } }) client.Connect(true) fmt.Println("Press ENTER to unsubscribe and stop...") fmt.Scanln() for symbol, period := range symbolList { for _, value := range period { client.UnSubscribe(symbol, value, config.Config.HbContract.HbContractSubUids) } } client.Close() applogger.Info("Client closed") } // 新增深度信息 func MgoSubscribeCtAddDepth() { symbolList := model.SymbolCtListString(dictionary.ContractAddDepth) client := new(marketwssclient.ContractDepthSizeWebSocketClient).Init(config.Config.HbContract.HbContractHost) client.SetHandler( func() { for symbol, period := range symbolList { for _, value := range period { client.Subscribe(symbol, value, config.Config.HbContract.HbContractSubUids) } } }, func(response interface{}) { resp, ok := response.(market.SubscribeCtAddDepthResponse) if ok { if &resp != nil { if resp.Tick != nil { applogger.Info("subscribeCtAddDepth data,ServersId:%v,Sender:%v,Content:%v", resp.Channel, resp.Tick) } } } else { applogger.Warn("Unknown response: %v", resp) } }) client.Connect(true) fmt.Println("Press ENTER to unsubscribe and stop...") fmt.Scanln() for symbol, period := range symbolList { for _, value := range period { client.UnSubscribe(symbol, value, config.Config.HbContract.HbContractSubUids) } } client.Close() applogger.Info("Client closed") } // 买一卖一行情数据 func MgoSubscribeCtBbo() { symbolList := model.SymbolCtListString([]string{}) client := new(marketwssclient.ContractBBOWebSocketClient).Init(config.Config.HbContract.HbContractHost) client.SetHandler( func() { for symbol, _ := range symbolList { client.Subscribe(symbol, config.Config.HbContract.HbContractSubUids) } }, func(response interface{}) { resp, ok := response.(market.SubscribeCtBboResponse) if ok { if &resp != nil { if resp.Tick != nil { applogger.Info("subscribeCtBbo data,ServersId:%v,Sender:%v,Content:%v", resp.Channel, resp.Tick) } } } else { applogger.Warn("Unknown response: %v", resp) } }) client.Connect(true) fmt.Println("Press ENTER to unsubscribe and stop...") fmt.Scanln() for symbol, _ := range symbolList { client.UnSubscribe(symbol, config.Config.HbContract.HbContractSubUids) } client.Close() applogger.Info("Client closed") } // 合约详情数据 func MgoSubscribeCtDetail() { symbolList := model.SymbolCtListString([]string{}) client := new(marketwssclient.ContractDetailWebSocketClient).Init(config.Config.HbContract.HbContractHost) client.SetHandler( func() { for symbol, _ := range symbolList { client.Subscribe(symbol, config.Config.HbContract.HbContractSubUids) } }, func(response interface{}) { resp, ok := response.(market.SubscribeCtDetailResponse) if ok { if &resp != nil { if resp.Tick != nil { applogger.Info("subscribeCtDetail data,ServersId:%v,Sender:%v,Content:%v", resp.Channel, resp.Tick) } } } else { applogger.Warn("Unknown response: %v", resp) } }) client.Connect(true) fmt.Println("Press ENTER to unsubscribe and stop...") fmt.Scanln() for symbol, _ := range symbolList { client.UnSubscribe(symbol, config.Config.HbContract.HbContractSubUids) } client.Close() applogger.Info("Client closed") } // 合约贸易详情数据 func MgoSubscribeCtTradeDetail() { symbolList := model.SymbolCtListString([]string{}) client := new(marketwssclient.ContractTradeDetailWebSocketClient).Init(config.Config.HbContract.HbContractHost) client.SetHandler( func() { for symbol, _ := range symbolList { client.Subscribe(symbol, config.Config.HbContract.HbContractSubUids) } }, func(response interface{}) { resp, ok := response.(market.SubscribeCtTradeDetailResponse) if ok { if &resp != nil { if resp.Tick != nil { applogger.Info("subscribeCtTradeDetail data,ServersId:%v,Sender:%v,Content:%v", resp.Channel, resp.Tick) } } } else { applogger.Warn("Unknown response: %v", resp) } }) client.Connect(true) fmt.Println("Press ENTER to unsubscribe and stop...") fmt.Scanln() for symbol, _ := range symbolList { client.UnSubscribe(symbol, config.Config.HbContract.HbContractSubUids) } client.Close() applogger.Info("Client closed") }