From 9a5b876b4bd70b3cd32c490b06109fcbd63356f4 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Tue, 23 Sep 2025 15:18:43 +0000 Subject: [PATCH] =?UTF-8?q?refactor(model):=20=E9=87=8D=E6=9E=84Player?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=EF=BC=8C=E6=96=B0=E5=A2=9EPlayerEX=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E7=BB=93=E6=9E=84=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AD=98=E5=82=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/blazing/model/player.go | 12 ++++++-- modules/blazing/service/reg.go | 53 +++++++-------------------------- 2 files changed, 20 insertions(+), 45 deletions(-) diff --git a/modules/blazing/model/player.go b/modules/blazing/model/player.go index 5128da4a..b207a71a 100644 --- a/modules/blazing/model/player.go +++ b/modules/blazing/model/player.go @@ -14,6 +14,10 @@ type Player struct { PlayerID uint64 `gorm:"not null;index:idx_pet_by_player_id;comment:'所属玩家ID'" json:"player_id"` Data string `gorm:"type:text;not null;comment:'全部数据'" json:"data"` } +type PlayerEX struct { + Player + Data *PlayerInfo `orm:"data" json:"data"` +} type Pos struct { X uint32 `struc:"uint32" default:"0"` Y uint32 `struc:"uint32" default:"0"` @@ -132,9 +136,11 @@ func (*Player) GroupName() string { } // NewPlayerInfo create a new PlayerInfo -func NewPlayer() *Player { - return &Player{ - Model: cool.NewModel(), +func NewPlayer() *PlayerEX { + return &PlayerEX{ + Player: Player{ + Model: cool.NewModel(), + }, } } diff --git a/modules/blazing/service/reg.go b/modules/blazing/service/reg.go index da479e60..73cd56cf 100644 --- a/modules/blazing/service/reg.go +++ b/modules/blazing/service/reg.go @@ -4,7 +4,6 @@ import ( "blazing/cool" "blazing/modules/blazing/model" "context" - "encoding/json" "strings" "time" @@ -34,18 +33,13 @@ func (s *UserService) Reg(nick string, color uint32) { t := model.NewPlayer() t.PlayerID = uint64(s.userid) //设置用户信息 - t1 := model.NewPlayerInfo() - t1.Nick = nick + t.Data = model.NewPlayerInfo() + t.Data.Nick = nick - t1.Color = color - t1.RegisterTime = uint32(time.Now().Unix()) //写入注册时间 - t22, err := json.Marshal(t1) - if err != nil { - return - } + t.Data.Color = color + t.Data.RegisterTime = uint32(time.Now().Unix()) //写入注册时间 - t.Data = string(t22) - _, err = cool.DBM(s.info.Model).Data(t).FieldsEx("id").Insert() + _, err := cool.DBM(s.info.Model).Data(t).FieldsEx("id").Insert() if err != nil { glog.Error(context.Background(), err) return @@ -55,52 +49,27 @@ func (s *UserService) Reg(nick string, color uint32) { func (s *UserService) Person() (ret *model.PlayerInfo) { - m := cool.DBM(s.info.Model).Where("player_id", s.userid) - var tt model.Player - m.Scan(&tt) - json.Unmarshal([]byte(tt.Data), &ret) - - return + return s.PersonOther(0) } -func (s *UserService) PersonOther(userid uint32) (ret *model.PlayerInfo) { +func (s *UserService) PersonOther(userid uint32) *model.PlayerInfo { m := cool.DBM(s.info.Model).Where("player_id", userid) - var tt model.Player + var tt model.PlayerEX m.Scan(&tt) - json.Unmarshal([]byte(tt.Data), &ret) - return + return tt.Data } func (s *UserService) Save(data *model.PlayerInfo) { m := cool.DBM(s.info.Model).Where("player_id", data.UserID) - var tt model.Player + var tt model.PlayerEX m.Scan(&tt) - //todo 待测试 - - temp, _ := json.Marshal(data) - tt.Data = string(temp) + tt.Data = data _, err := m.Update(tt) if err != nil { panic(err) } - return - -} - -func (s *UserService) RegExec(processFunc func(*model.PlayerInfo) bool) bool { - //todo待测试 - var player model.Player - m1 := cool.DBM(s.info.Model).Where("player_id", s.userid) - m1.Scan(&player) - var tt model.PlayerInfo - json.Unmarshal([]byte(player.Data), &tt) - processFunc(&tt) - tmep, _ := json.Marshal(tt) - player.Data = string(tmep) - m1.Save(player) - return false }