feat(item): 实现批量购买物品功能并优化物品添加逻辑 新增 BuyMItem 方法支持批量购买多个物品,并在 Controller 中完善错误处理流程。 修改 ItemAdd 方法以返回添加结果,增强对物品数量限制和异常情况的控制。 调整任务完成时的物品发放逻辑,确保只有成功添加的物品才会被返回给客户端。 修复新手任务中初级体力药剂的数量从 3 改为 5。 将 defer 调用提前执行以避免潜在的数据不一致问题。 ```
31 lines
719 B
Go
31 lines
719 B
Go
package item
|
||
|
||
import "blazing/logic/service/player"
|
||
|
||
type BuyInboundInfo struct {
|
||
Head player.TomeeHeader `cmd:"2601" struc:"[0]pad"`
|
||
//物品ID
|
||
ItemId uint32
|
||
//物品数量
|
||
Count uint32
|
||
}
|
||
type BuyOutboundInfo struct {
|
||
//剩余的数量
|
||
Coins uint32
|
||
//购买的物品ID
|
||
ItemId uint32
|
||
//购买数量
|
||
Count uint32
|
||
//购买的物品等级
|
||
Level uint32
|
||
}
|
||
type BuyMultiInboundInfo struct {
|
||
Head player.TomeeHeader `cmd:"2606" struc:"[0]pad"`
|
||
ItemListLen uint32 `struc:"sizeof=ItemIds"`
|
||
ItemIds []uint32 `json:"itemIds" description:"购买的物品ID列表"` // @UInt Long对应uint64,List对应切片
|
||
}
|
||
type BuyMultiOutboundInfo struct {
|
||
//剩余的数量
|
||
Coins uint32
|
||
}
|