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

@@ -3,6 +3,7 @@ package service
import (
"context"
"blazing/common/utils"
"blazing/cool"
"blazing/modules/dict/model"
@@ -54,7 +55,7 @@ func (s *DictInfoService) Data(ctx context.Context, types []string) (data interf
}
return
}
func (s *DictInfoService) DataOne(types string) (data []model.DictInfo) {
func (s *DictInfoService) DataRemark(types string) (data map[uint32]model.DictInfo) {
var (
dictInfoModel = model.NewDictInfo()
dictTypeModel = model.NewDictType()
@@ -72,10 +73,42 @@ func (s *DictInfoService) DataOne(types string) (data []model.DictInfo) {
m := cool.DBM(dictInfoModel)
var ress []model.DictInfo
m.Where("typeId", ty.ID).Scan(&ress)
return ress, nil
fusions := utils.ToMap(ress, func(t model.DictInfo) uint32 {
return gconv.Uint32(t.Remark) //物品id转id
})
return fusions, nil
}, 0)
return ret.Interface().([]model.DictInfo)
return ret.Interface().(map[uint32]model.DictInfo)
}
func (s *DictInfoService) DataID(types string) (data map[uint32]model.DictInfo) {
var (
dictInfoModel = model.NewDictInfo()
dictTypeModel = model.NewDictType()
)
ret, _ := cacheDict.GetOrSetFunc(context.Background(), types, func(context.Context) (interface{}, error) {
// 如果typeData为空, 则返回空
var ty *model.DictType
mType := cool.DBM(dictTypeModel)
mType.Where("key in (?)", types).Scan(&ty)
// 如果typeData为空, 则返回空
if ty == nil {
return []model.DictInfo{}, nil
}
m := cool.DBM(dictInfoModel)
var ress []model.DictInfo
m.Where("typeId", ty.ID).Scan(&ress)
fusions := utils.ToMap(ress, func(t model.DictInfo) uint32 {
return gconv.Uint32(t.ID) //物品id转id
})
return fusions, nil
}, 0)
return ret.Interface().(map[uint32]model.DictInfo)
}
@@ -122,6 +155,8 @@ func delChildDict(id int64) error {
return err
}
var DictInfoServiceS = NewDictInfoService()
// NewDictInfoService 初始化 DictInfoService
func NewDictInfoService() *DictInfoService {
return &DictInfoService{