package main import ( "backend/Type" "backend/alibaba" "backend/feishu" "backend/model" "backend/sdk/ship/model/tuyou" "backend/util" "bytes" "context" "encoding/json" "fmt" "sort" "strings" "testing" "time" ) func TestXxx1(t *testing.T) { //util.Statistics(0) //feishu.SendOperationMsg2(0) a := tuyou.ChargeRequest{ ApiVer: "2", AppID: "20659", AppInfo: `{"appId":1,"serverId":1,"orderId":"order_100100013_202511251228396eCumW","uid":100100013}`, ChargedDiamonds: "20", ChargedRmbs: "1.99", ClientID: "Android_5.00_tyGuest,facebook.googleplay.0-hall20659.googleplay.Meowment", ConsumeCoin: "20", ConsumeID: "d50b32511250000110", OrderID: "-", PlatformOrder: "e50b32511250000549", ProdCount: "1", ProdID: "TY206590059", ProdPrice: "1.99", UserID: "19263", Code: "385188b30e2924042c7ca30e3db818d7", } sign := a.Sign() fmt.Println("sign:", sign) if sign != "385188b30e2924042c7ca30e3db818d7" { fmt.Println("签名错误") } else { fmt.Println("签名正确") } } func TestXxx(t *testing.T) { statistics := model.Statistics{} statistics.AppId = 1 statistics.Emit = []string{"A"} statistics.StatisticsOrder() //controller.FeishuSendInfo2(nil) // util.GetOrderData(3) } func TestFeishu(t *testing.T) { data := struct { Title string Subtitle string Elements string }{ Title: "模拟测试", Subtitle: "模拟测试副标题", Elements: "", } s := util.ParseTmpl("./template/card.tmpl", data) fmt.Println(s) } func TestFeishu2(t *testing.T) { r := Type.NotifyData{} err := feishu.SendNotifyMsg(&r) if err != nil { fmt.Println(err) } } func TestLogin(t *testing.T) { feishu.SendNotifyMsg(&Type.NotifyData{ NotifyMsg: "登录验证失败", Host: "途游", EventName: "invalid token", Severity: "High", AlarmTime: time.Unix(time.Now().Unix(), 0).Format("2006-01-02 15:04:05"), }) // Port, Host, ServerId := util.GetUserInfo(1, 156, "test", "test") // fmt.Printf("ServerId:%d, Host:%s, Port:%d\n", ServerId, Host, Port) } func TestEncrypt(t *testing.T) { str := "3L1Ogjy4J8&EErK" enc, _ := util.Encrypt(str) fmt.Println(enc) } func TestDecrypt(t *testing.T) { str := "Z4rf7eZZe500dxa" enc, _ := util.Encrypt(str) dec, _ := util.Decrypt("pUf9tft9GOPjV1z855Jf2DpB5NUpGEc_") fmt.Printf("enc:%s\ndec:%s\n", enc, dec) } func TestAlibaba(t *testing.T) { //err := alibaba.CreateSpace() version := alibaba.DownloadFile() fmt.Println("version:", version) } func TestAlibabaRobot(t *testing.T) { title := "【meowment】订单发货成功" content := ` - 玩家账号:test_user_001 - 玩家等级:25 - 订单号:e50b32601160423c7f - 金额 :1.99 - 发货时间:2026-01-15 18:22:12 - 充值总数:10.99 元 [鼓掌][鼓掌][鼓掌] ` err := alibaba.SendStandardMsg(title, content, "green") if err != nil { fmt.Println("err:", err) } else { fmt.Println("消息发送成功") } } func TestAlibabaCard(t *testing.T) { r := Type.OrderData{ UID: 106622, OrderId: "e50b32601160423c7f", Product: "0.99", ProductName: "100钻石", EventRecovery: "2026-01-15 18:22:12", EventAge: "2026-01-15 18:22:15", } err := alibaba.SendOrderMsg(&r) if err != nil { fmt.Println("err:", err) } else { fmt.Println("卡片发送成功") } } func TestServerUpdateApp(t *testing.T) { log := model.Log{ AppId: 0, Uid: 105372, CurrentPage: 1, PageSize: 20, } r, e := log.Order() if e != nil { fmt.Print(e) } fmt.Print(r) } func TestXxxx(t *testing.T) { ctx := context.Background() client, _ := util.GetEsClient() var buf bytes.Buffer query := map[string]interface{}{ "query": map[string]interface{}{ "wildcard": map[string]interface{}{ "log_message": map[string]interface{}{ "value": "*set kv key 100*", }, }, }, "size": 10000, } if err := json.NewEncoder(&buf).Encode(query); err != nil { return } res, err := client.Search( client.Search.WithContext(ctx), client.Search.WithIndex(".ds-game-node-log*"), client.Search.WithBody(&buf), ) if err != nil { fmt.Print(err) } defer res.Body.Close() var result map[string]interface{} if err := json.NewDecoder(res.Body).Decode(&result); err != nil { return } // player 106910 set kv key 48 value hits := result["hits"].(map[string]interface{})["hits"].([]interface{}) tmap := make(map[string]int) for _, hit := range hits { source := hit.(map[string]interface{})["_source"] log_message := source.(map[string]interface{})["log_message"] fmt.Println(log_message) a := strings.Split(log_message.(string), " ")[1] tmap[a]++ } // 将 map 转换为切片进行排序 type kv struct { Key string Value int } var sorted []kv for k, v := range tmap { sorted = append(sorted, kv{k, v}) } // 按值降序排序 sort.Slice(sorted, func(i, j int) bool { return sorted[i].Value > sorted[j].Value }) for _, item := range sorted { if item.Value < 100 { //continue } fmt.Printf("msg type:%s, 次数:%d\n", item.Key, item.Value) } } func TestEs2(t *testing.T) { s := &model.Server{AppId: 2, ServerId: 1} _, err := s.StartServer() if err != nil { fmt.Println("err:", err) } else { fmt.Println("服务器启动成功") } } func TestIP(t *testing.T) { country, city, err := util.GetGeoInfo("58.23.48.244") if err != nil { fmt.Println("获取地理位置信息失败:", err) } else { fmt.Printf("国家代码: %s, 城市: %s\n", country, city) } } func TestRegister(t *testing.T) { ctx := context.Background() client, _ := util.GetEsClient() var buf bytes.Buffer query := map[string]interface{}{ "query": map[string]interface{}{ "term": map[string]interface{}{ "game.#event_name": map[string]interface{}{ "value": "register", }, }, }, "size": 10000, } if err := json.NewEncoder(&buf).Encode(query); err != nil { return } res, err := client.Search( client.Search.WithContext(ctx), client.Search.WithIndex(".ds-game-node-log*"), client.Search.WithBody(&buf), client.Search.WithTrackTotalHits(true), ) if err != nil { fmt.Print(err) } defer res.Body.Close() }