admin_backend/unit_test.go
2026-02-25 10:16:35 +08:00

275 lines
6.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()
}