```
feat(item): 实现批量购买物品功能并优化物品添加逻辑 新增 BuyMItem 方法支持批量购买多个物品,并在 Controller 中完善错误处理流程。 修改 ItemAdd 方法以返回添加结果,增强对物品数量限制和异常情况的控制。 调整任务完成时的物品发放逻辑,确保只有成功添加的物品才会被返回给客户端。 修复新手任务中初级体力药剂的数量从 3 改为 5。 将 defer 调用提前执行以避免潜在的数据不一致问题。 ```
This commit is contained in:
@@ -104,7 +104,7 @@ func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *player.
|
||||
// out_id=1的奖励物品
|
||||
result.ItemList = append(result.ItemList,
|
||||
task.ItemInfo{ItemId: 300001, ItemCount: 5}, // 普通胶囊x5
|
||||
task.ItemInfo{ItemId: 300011, ItemCount: 3}, // 初级体力药剂x3
|
||||
task.ItemInfo{ItemId: 300011, ItemCount: 5}, // 初级体力药剂x3
|
||||
)
|
||||
|
||||
// 新手任务4
|
||||
@@ -548,7 +548,18 @@ func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *player.
|
||||
for _, v := range result.ItemList {
|
||||
ttt = append(ttt, model.SingleItemInfo{ItemId: v.ItemId, ItemCnt: v.ItemCount})
|
||||
}
|
||||
c.ItemAdd(ttt...)
|
||||
r := c.ItemAdd(ttt...)
|
||||
tempItemList := make([]task.ItemInfo, 0)
|
||||
for _, v := range result.ItemList {
|
||||
for _, v1 := range r {
|
||||
if v1.ItemId == v.ItemId {
|
||||
tempItemList = append(tempItemList, task.ItemInfo{ItemId: v.ItemId, ItemCount: v.ItemCount})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
result.ItemList = tempItemList //临时变量为了防止报错的时候返回数据没问题
|
||||
return result, 0
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user