From f1c990c1822b581b51d3b4e7bf418721c3b22d90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Mon, 17 Nov 2025 11:00:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(logic/service/player):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=8E=A9=E5=AE=B6=E4=BF=A1=E6=81=AF=E4=BF=9D=E5=AD=98=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E6=8C=87=E9=92=88=E8=A7=A3=E5=BC=95=E7=94=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复了 Player 结构体在调用 Service.Info.Save 方法时传入的是指针而非实际值的问题, 同时修改 InfoService.Save 方法以接受值类型参数而不是指针,并更新内部数据赋值逻辑。 --- logic/service/player/save.go | 2 +- modules/blazing/service/info.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/logic/service/player/save.go b/logic/service/player/save.go index dc1d6d9ed..d46d75b7f 100644 --- a/logic/service/player/save.go +++ b/logic/service/player/save.go @@ -46,7 +46,7 @@ func (p *Player) Save() { p.Info.OnlineTime = p.Info.OnlineTime + (newtime-uint32(p.Logintime))/60 //每次退出时候保存已经在线的分钟数 - p.Service.Info.Save(p.Info) + p.Service.Info.Save(*p.Info) space.GetSpace(p.Info.MapID).LeaveMap(p) p.StopChan.Stop() //停止刷怪 diff --git a/modules/blazing/service/info.go b/modules/blazing/service/info.go index ec82231ab..9f0f4f674 100644 --- a/modules/blazing/service/info.go +++ b/modules/blazing/service/info.go @@ -64,13 +64,13 @@ func (s *InfoService) Person(userid uint32) *model.PlayerInfo { return &ret } -func (s *InfoService) Save(data *model.PlayerInfo) { +func (s *InfoService) Save(data model.PlayerInfo) { m := s.GModel(s.Model) var tt model.PlayerEX m.Scan(&tt) - tt.Data = *data - _, err := m.Update(tt) + tt.Data = data + _, err := m.Save(tt) if err != nil { panic(err) }