refactor(service): 重构物品、宠物和任务服务,统一使用EX模型和回调函数处理数据操作
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 //重置每日任务
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user