102 lines
2.3 KiB
Go
102 lines
2.3 KiB
Go
package test
|
|
|
|
import (
|
|
"fmt"
|
|
decorateCfg "server/conf/decorate"
|
|
"server/db"
|
|
"server/game"
|
|
GoUtil "server/game_util"
|
|
"server/pkg/github.com/name5566/leaf/log"
|
|
"testing"
|
|
)
|
|
|
|
func TestFixDecorate(t *testing.T) {
|
|
// Initialize player
|
|
p := new(game.Player)
|
|
p.FixDecorate()
|
|
|
|
//
|
|
p.InitPlayer("dee8eeb83ea3c54e48427b7ff20066fb")
|
|
p.FixDecorate()
|
|
|
|
DecorateMod := p.GetDecorateMod()
|
|
DecorateMod.AreaId = 3
|
|
DecorateMod.Progress = 22
|
|
p.FixDecorate()
|
|
}
|
|
|
|
func TestFixUserData(t *testing.T) {
|
|
// 确保数据库已初始化
|
|
if db.SqlDb == nil {
|
|
db.InitDB()
|
|
// 等待初始化完成
|
|
for i := 0; i < 10; i++ {
|
|
if db.SqlDb != nil {
|
|
break
|
|
}
|
|
log.Warn("Waiting for database initialization...")
|
|
// time.Sleep(100 * time.Millisecond)
|
|
}
|
|
}
|
|
|
|
if db.SqlDb == nil {
|
|
t.Fatal("Database initialization failed")
|
|
}
|
|
|
|
log.Warn("hello world")
|
|
type account struct {
|
|
Account string `db:"user_name"`
|
|
}
|
|
var accounts []account
|
|
sqlDb := db.GetDB() // 使用线程安全的方式获取连接
|
|
if sqlDb == nil {
|
|
t.Fatal("Database connection is nil")
|
|
}
|
|
err := sqlDb.Select(&accounts, "SELECT `user_name` FROM t_account order by auto_id")
|
|
if err != nil {
|
|
t.Errorf("Failed to fetch accounts: %v", err)
|
|
return
|
|
}
|
|
i := 0
|
|
for _, acc := range accounts {
|
|
i++
|
|
fmt.Printf("Fixing account %d/%d: %s\n", i, len(accounts), acc.Account)
|
|
account := acc.Account
|
|
p := new(game.Player)
|
|
p.InitPlayer(account)
|
|
DecorateMod := p.GetDecorateMod()
|
|
if DecorateMod.PartCost == nil {
|
|
return
|
|
}
|
|
for k := range DecorateMod.PartCost {
|
|
AreaId := decorateCfg.GetAreaIdByIndoorId(k)
|
|
if AreaId < DecorateMod.AreaId {
|
|
log.Debug("Fixing account: %s, PartId: %d, OldAreaId: %d, NewAreaId: %d\n", account, k, AreaId, DecorateMod.AreaId)
|
|
}
|
|
}
|
|
p.Stop()
|
|
p = nil
|
|
}
|
|
log.Debug("All accounts fixed")
|
|
}
|
|
|
|
func TestRandInt(t *testing.T) {
|
|
p1 := new(game.Player)
|
|
p1.InitPlayer("4633401")
|
|
BaseMod := p1.GetBaseMod()
|
|
ChargeMod := p1.GetChargeMod()
|
|
EndlessMod := p1.GetEndlessMod()
|
|
EndlessMod.ZeroUpdate(ChargeMod.GetMaxCharge(), BaseMod.GetLevel())
|
|
}
|
|
|
|
func TestEndless(t *testing.T) {
|
|
p1 := new(game.Player)
|
|
p1.InitPlayer("3625212")
|
|
MailMod := p1.GetMailMod()
|
|
MailMod.BackData()
|
|
}
|
|
|
|
func TestNotify(t *testing.T) {
|
|
GoUtil.NotifyPlayer(19246, 1, "Test Notification", "This is a test notification from the server.")
|
|
}
|