refactor(user): 重构用户服务数据库操作,将reg服务重命名为info并新增talk挖矿服务

This commit is contained in:
1
2025-09-22 17:22:08 +00:00
parent 8b06b9a794
commit 31b82f7698
7 changed files with 146 additions and 14 deletions

View File

@@ -9,7 +9,7 @@ import (
func (s *UserService) ItemExec(t func([]model.SingleItemInfo) []model.SingleItemInfo) {
//todo待测试
var player model.Item
m1 := cool.DBM(s.reg.Model).Where("player_id", s.userid)
m1 := cool.DBM(s.info.Model).Where("player_id", s.userid)
m1.Scan(&player)
var tt []model.SingleItemInfo
json.Unmarshal([]byte(player.Data), &tt)

View File

@@ -14,7 +14,7 @@ import (
// 是否注册,如果注册过,那么就会产生用户player信息
func (s *UserService) IsReg() bool {
m := cool.DBM(s.reg.Model).Where("player_id", s.userid)
m := cool.DBM(s.info.Model).Where("player_id", s.userid)
record, err := m.One()
if err != nil {
@@ -45,7 +45,7 @@ func (s *UserService) Reg(nick string, color uint32) {
}
t.Data = string(t22)
_, err = cool.DBM(s.reg.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,7 +55,7 @@ func (s *UserService) Reg(nick string, color uint32) {
func (s *UserService) Person() (ret *model.PlayerInfo) {
m := cool.DBM(s.reg.Model).Where("player_id", s.userid)
m := cool.DBM(s.info.Model).Where("player_id", s.userid)
var tt model.Player
m.Scan(&tt)
json.Unmarshal([]byte(tt.Data), &ret)
@@ -65,7 +65,7 @@ func (s *UserService) Person() (ret *model.PlayerInfo) {
}
func (s *UserService) PersonOther(userid uint32) (ret *model.PlayerInfo) {
m := cool.DBM(s.reg.Model).Where("player_id", userid)
m := cool.DBM(s.info.Model).Where("player_id", userid)
var tt model.Player
m.Scan(&tt)
json.Unmarshal([]byte(tt.Data), &ret)
@@ -75,7 +75,7 @@ func (s *UserService) PersonOther(userid uint32) (ret *model.PlayerInfo) {
}
func (s *UserService) Save(data *model.PlayerInfo) {
m := cool.DBM(s.reg.Model).Where("player_id", data.UserID)
m := cool.DBM(s.info.Model).Where("player_id", data.UserID)
var tt model.Player
m.Scan(&tt)
//todo 待测试
@@ -94,7 +94,7 @@ func (s *UserService) Save(data *model.PlayerInfo) {
func (s *UserService) RegExec(processFunc func(*model.PlayerInfo) bool) bool {
//todo待测试
var player model.Player
m1 := cool.DBM(s.reg.Model).Where("player_id", s.userid)
m1 := cool.DBM(s.info.Model).Where("player_id", s.userid)
m1.Scan(&player)
var tt model.PlayerInfo
json.Unmarshal([]byte(player.Data), &tt)

View File

@@ -0,0 +1,47 @@
package service
import (
"blazing/cool"
"blazing/modules/blazing/model"
)
// TalkCheck 获取玩家当前的Talk数据
// todo 待实现xml解析判断是否溢出
func (s *UserService) TalkCheck() map[uint32]uint32 {
m1 := cool.DBM(s.talk.Model).Where("player_id", s.userid)
var talks []model.Talk
m1.Scan(&talks)
return talks[0].Data
}
// TalkAdd 添加或更新玩家的Talk数据
func (s *UserService) TalkAdd(id, count uint32) {
var player model.Talk
m1 := cool.DBM(s.talk.Model).Where("player_id", s.userid)
m1.Scan(&player)
// // 如果玩家没有记录,则初始化
// if len(talks) == 0 {
// player.PlayerID = uint64(s.userid)
// player.Data = "{}"
// _, err := m1.Insert(player)
// if err != nil {
// panic(err)
// }
// }
// // 更新或新增
// if existing, ok := talks[id]; ok {
// talks[id] = existing + count
// } else {
// talks[id] = count
// }
// data, _ := json.Marshal(talks)
// player.Data = string(data)
// m1.Update(player)
}

View File

@@ -7,11 +7,11 @@ import (
type UserService struct {
userid uint32
task *cool.Service //任务
reg *cool.Service //注册
pet *cool.Service //精灵
item *cool.Service //物品
talk *cool.Service //挖矿
task *cool.Service //任务
info *cool.Service //信息
pet *cool.Service //精灵
item *cool.Service //物品
}
func NewUserService(id uint32) *UserService {
@@ -20,11 +20,12 @@ func NewUserService(id uint32) *UserService {
task: &cool.Service{
Model: model.NewTask(),
},
reg: &cool.Service{
info: &cool.Service{
Model: model.NewPlayer(),
},
pet: &cool.Service{Model: model.NewPet()},
item: &cool.Service{Model: model.NewPlayerBag()},
talk: &cool.Service{Model: model.NewTalk()},
}
}