refactor(service): 重构物品、宠物和任务服务,统一使用EX模型和回调函数处理数据操作

This commit is contained in:
1
2025-09-23 15:01:52 +00:00
parent 1ee43e1319
commit 9c5cfa151a
12 changed files with 100 additions and 481 deletions

View File

@@ -3,73 +3,42 @@ package service
import (
"blazing/cool"
"blazing/modules/blazing/model"
"encoding/json"
)
// 获取精灵信息 0是仓库,1是背包,2是放生
func (s *UserService) GetPetList(flag int) (ret []model.PetInfo) {
ret = make([]model.PetInfo, 0)
m := cool.DBM(s.pet.Model).Where("player_id", s.userid).Where("in_bag", flag)
var tt []model.Pet
m.Scan(&tt)
for _, v := range tt {
var ret11 model.PetInfo
json.Unmarshal([]byte(v.Data), &ret11)
ret = append(ret, ret11)
func (s *UserService) PetInfo(flag int) []model.PetEX {
var tt []model.PetEX
err := cool.DBM(s.pet.Model).Where("player_id", s.userid).Where("in_bag", flag).Scan(&tt)
if err != nil {
return []model.PetEX{}
}
return
return tt
}
func (s *UserService) GetPetInfo(cachetime uint32) (ret model.PetInfo) {
func (s *UserService) PetInfo_One_exec(cachetime uint32, t func(*model.PetEX)) {
m := cool.DBM(s.pet.Model).Where("player_id", s.userid).Where("catch_time", cachetime)
var tt model.Pet
var tt model.PetEX
m.Scan(&tt)
json.Unmarshal([]byte(tt.Data), &ret)
return
t(&tt)
m.Update(tt)
}
func (s *UserService) PetExec(ctime uint32, t func(uint32, model.PetInfo) model.PetInfo) {
//todo待测试
var player model.Pet
m1 := cool.DBM(s.pet.Model).Where("player_id", s.userid).Where("catch_time", ctime)
m1.Scan(&player)
var tt model.PetInfo
json.Unmarshal([]byte(player.Data), &tt)
t(player.CatchTime, tt)
tmep, _ := json.Marshal(tt)
player.Data = string(tmep)
m1.Save(player)
func (s *UserService) PetInfo_One(cachetime uint32) model.PetEX {
m := cool.DBM(s.pet.Model).Where("player_id", s.userid).Where("catch_time", cachetime)
var tt model.PetEX
m.Scan(&tt)
return tt
}
func (s *UserService) PetAdd(y model.PetInfo) {
m1 := cool.DBM(s.pet.Model).Where("player_id", s.userid)
var player model.Pet
var player model.PetEX
player.PlayerID = s.userid
player.CatchTime = y.CatchTime
player.InBag = 0
tmp, _ := json.Marshal(y)
player.Data = string(tmp)
m1.Insert(player)
}
func (s *UserService) PetM(ctime, type1 int) model.PetInfo {
m1 := cool.DBM(s.pet.Model).Where("player_id", s.userid).Where("catch_time", ctime)
var player model.Pet
m1.Scan(&player)
player.InBag = type1
var tt model.PetInfo
json.Unmarshal([]byte(player.Data), &tt)
m1.Update(player)
return tt
}