```
refactor(item): 优化物品添加逻辑并移除冗余代码 - 修改 ItemAdd 方法签名,从可变参数改为两个独立参数 itemId 和 itemCnt - 移除了对 model.ItemInfo 的依赖,简化调用方式 - 更新所有调用 ItemAdd 的地方以适配新接口 - 删除未使用的 imports 和注释掉的旧配置加载逻辑 - 修复购买物品时金币扣除与物品发放的一致性问题 - 增加玩家操作消耗塞尔豆的扣费逻辑(如宠物治疗、技能设置等) 此变更提升了代码简洁性和一致性,并增强了业务逻辑的准确性。 ```
This commit is contained in:
@@ -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{
|
||||
|
||||
Reference in New Issue
Block a user