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.

106 lines
2.2 KiB

package internal
import (
"crypto/md5"
"encoding/hex"
"encoding/json"
"fmt"
"math/rand"
"strings"
"time"
"wss-pool/config"
"wss-pool/logging/applogger"
"wss-pool/pkg/model"
)
var (
pr = fmt.Sprintf
topIckLine = "market.kline"
)
const (
OneMin = "1min"
FiveTime = "5min"
FifteenTime = "15min"
ThirtyTime = "30min"
SixtyTime = "60min"
fourTime = "4hour"
OneDay = "1day"
OneMon = "1mon"
OneWeek = "1week"
OneYear = "1year"
)
// CheckKLineTable
func CheckKLineTable(suffix string) string {
// "1min", "5min", "15min", "30min", "60min", "4hour", "1day", "1mon", "1week", "1year"
if strings.Contains(suffix, OneMin) {
return pr("%v.%v", topIckLine, OneMin)
}
if strings.Contains(suffix, FiveTime) {
return pr("%v.%v", topIckLine, FiveTime)
}
if strings.Contains(suffix, FifteenTime) {
return pr("%v.%v", topIckLine, FifteenTime)
}
if strings.Contains(suffix, ThirtyTime) {
return pr("%v.%v", topIckLine, ThirtyTime)
}
if strings.Contains(suffix, SixtyTime) {
return pr("%v.%v", topIckLine, SixtyTime)
}
if strings.Contains(suffix, fourTime) {
return pr("%v.%v", topIckLine, fourTime)
}
if strings.Contains(suffix, OneDay) {
return pr("%v.%v", topIckLine, OneDay)
}
if strings.Contains(suffix, OneMon) {
return pr("%v.%v", topIckLine, OneMon)
}
if strings.Contains(suffix, OneWeek) {
return pr("%v.%v", topIckLine, OneWeek)
}
if strings.Contains(suffix, OneYear) {
return pr("%v.%v", topIckLine, OneYear)
}
return ""
}
// Md5 token
func Md5(s string) string {
h := md5.New()
h.Write([]byte(s))
return hex.EncodeToString(h.Sum(nil))
}
// Captcha
func Captcha(n int) string {
code := ""
rand.Seed(time.Now().Unix())
for i := 0; i < n; i++ {
code = fmt.Sprintf("%s%d", code, rand.Intn(10))
}
return code
}
// GetToken
func GetToken() (string, error) {
var tm model.Token
url := fmt.Sprintf("http://%v:9999/v1/getcomm/get-comm/token.html", config.Config.DomainName)
jsonP, err := HttpPost(url, "")
if err != nil {
applogger.Error("HttpPost err: %v", err)
return "", err
}
if err := json.Unmarshal([]byte(jsonP), &tm); err != nil {
applogger.Error("json Unmarshal err: %v", err)
return "", err
}
token := tm.Data
return token, nil
}