refactor(item): 优化物品添加逻辑并移除冗余代码

- 修改 ItemAdd 方法签名,从可变参数改为两个独立参数 itemId 和 itemCnt
- 移除了对 model.ItemInfo 的依赖,简化调用方式
- 更新所有调用 ItemAdd 的地方以适配新接口
- 删除未使用的 imports 和注释掉的旧配置加载逻辑
- 修复购买物品时金币扣除与物品发放的一致性问题
- 增加玩家操作消耗塞尔豆的扣费逻辑(如宠物治疗、技能设置等)

此变更提升了代码简洁性和一致性,并增强了业务逻辑的准确性。
```
This commit is contained in:
2025-12-08 21:11:12 +08:00
parent 1436cc0117
commit 36ca75aa03
15 changed files with 170 additions and 138 deletions

View File

@@ -6,8 +6,6 @@ import (
"blazing/logic/service/player"
"blazing/logic/service/task"
"blazing/modules/blazing/model"
"github.com/jinzhu/copier"
)
/**
@@ -74,7 +72,6 @@ func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *player.
if tt == nil {
return result, 0 //通过PUB/SUB回包
}
result.ItemList = tt.ItemList
if tt.PetTypeId != 0 {
r := model.GenPetInfo(int(tt.PetTypeId), 31, -1, 0, 0, 50)
@@ -84,9 +81,13 @@ func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *player.
result.CaptureTime = r.CatchTime //这个写到后面,方便捕捉时间被修改后造成的时间不对问题
}
ret := c.ItemAdd(result.ItemList...) //获取成功的条目
for _, v := range tt.ItemList {
ret := c.ItemAdd(v.ItemId, v.ItemCnt) //获取成功的条目
if ret {
result.ItemList = append(result.ItemList, v)
}
copier.CopyWithOption(&result.ItemList, &ret, copier.Option{IgnoreEmpty: true, DeepCopy: true})
}
return result, 0 //通过PUB/SUB回包
}