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

@@ -12,14 +12,15 @@ func (h Controller) UserItemList(data *item.ItemListInboundInfo, c *player.Playe
result = &item.ItemListOutboundInfo{}
result.ItemList = make([]model.SingleItemInfo, 0)
re := c.Service.ItemCheak()
for _, v := range re {
if int32(v.ItemId) >= int32(data.Param1) && int32(v.ItemId) <= int32(data.Param2) {
v.LeftTime = 360000
result.ItemList = append(result.ItemList, v)
c.Service.Item(func(m map[uint32]model.SingleItemInfo) bool {
for _, v := range m {
if int32(v.ItemId) >= int32(data.Param1) && int32(v.ItemId) <= int32(data.Param2) {
v.LeftTime = 360000
result.ItemList = append(result.ItemList, v)
}
}
}
return false
})
return result, 0
}

View File

@@ -48,16 +48,15 @@ func (h *Controller) Login(data *user.MAIN_LOGIN_IN, c *player.Conn) (result *us
//每天login时候检查重置时间然后把电池任务挖矿重置
//挖矿需要单独存,因为防止多开挖矿
t.Info.TimeToday = 0 //重置电池
go func() {
defer func() {
for i := 400; i < 500; i++ { //每日任务区段
t.Info.TaskList[i] = 0 //重置每日任务
_, ok := t.Service.TaskInfo((uint32(i)))
if ok {
t.Service.TaskSet((uint32(i)), model.TaskInfo{
Info: []uint32{},
})
}
t.Service.Task((uint32(i)), func(te *model.TaskEX) bool {
te.Data = make([]uint32, 0)
return true
})
}
for i := 400; i < 50; i++ { //每日任务区段
t.Info.DailyResArr[i] = 0 //重置每日任务

View File

@@ -30,7 +30,7 @@ func (h *Controller) GetPetInfo(
if result == nil {
result = &pet.OutInfo{
PetInfo: c.Service.GetPetInfo(data.CatchTime),
PetInfo: c.Service.PetInfo_One(data.CatchTime).Data,
}
}
@@ -44,7 +44,7 @@ func (h *Controller) GetPetList(
err errorcode.ErrorCode) { //这个时候player应该是空的
result = &pet.GetPetListOutboundInfo{}
tt := c.Service.GetPetList(0) //获得未放生的精灵
tt := c.Service.PetInfo(0) //获得未放生的精灵
result.ShortInfoList = make([]pet.PetShortInfo, len(tt))
for i, v := range tt {
@@ -66,7 +66,10 @@ func (h *Controller) PetRelease(
result = &pet.PetReleaseOutboundInfo{}
result.Flag = uint32(data.Flag)
t := c.Service.PetM(int(data.CatchTime), int(data.Flag))
c.Service.PetInfo_One_exec(data.CatchTime, func(t *model.PetEX) {
t.InBag = int(data.Flag)
})
switch data.Flag {
case 0:
@@ -84,8 +87,11 @@ func (h *Controller) PetRelease(
case 1:
//todo 背包
c.Info.PetList = append(c.Info.PetList, t)
result.PetInfo = t
c.Service.PetInfo_One_exec(data.CatchTime, func(t *model.PetEX) {
c.Info.PetList = append(c.Info.PetList, t.Data)
result.PetInfo = t.Data
})
}
if len(c.Info.PetList) > 0 {

View File

@@ -36,17 +36,10 @@ func (h Controller) AddTaskBuf(data *task.AddTaskBufInboundInfo, c *player.Playe
// }
result = &task.AddTaskBufOutboundInfo{}
_, ok := c.Service.TaskInfo(data.TaskId)
if ok {
c.Service.TaskSet(data.TaskId, model.TaskInfo{
Info: data.TaskList,
})
} else {
c.Service.TaskADD(data.TaskId, model.TaskInfo{
Info: data.TaskList,
})
}
c.Service.Task(data.TaskId, func(te *model.TaskEX) bool {
te.Data = data.TaskList
return true
})
return &task.AddTaskBufOutboundInfo{}, 0
}
@@ -72,7 +65,7 @@ func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *player.
result.ItemList = append(result.ItemList, task.ItemInfo{ItemId: 500001, ItemCount: 1})
result.ItemList = append(result.ItemList, task.ItemInfo{ItemId: 500502, ItemCount: 1})
result.ItemList = append(result.ItemList, task.ItemInfo{ItemId: 500503, ItemCount: 1})
}
if data.TaskId == 86 { //新手注册任务
var petid int
@@ -115,10 +108,12 @@ func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *player.
* 获取任务状态
*/
func (h Controller) Get_Task_Buf(data *task.GetTaskBufInboundInfo, c *player.Player) (result *task.GetTaskBufOutboundInfo, err errorcode.ErrorCode) {
info, _ := c.Service.TaskInfo(data.TaskId)
result = &task.GetTaskBufOutboundInfo{}
result.TaskId = data.TaskId
result.TaskList = info.Info
c.Service.Task(data.TaskId, func(te *model.TaskEX)bool {
result.TaskId = te.TaskID
result.TaskList = te.Data
return false
})
return result, 0
}