This commit is contained in:
@@ -8,8 +8,35 @@ import (
|
||||
|
||||
// /取消redis空节点的强制缓存
|
||||
func dbm(m cool.IModel) *gdb.Model {
|
||||
return cool.DBM(m).
|
||||
Cache(gdb.CacheOption{
|
||||
Force: true,
|
||||
ret := cool.DBM(m)
|
||||
if cool.Config.ServerInfo.IsVip == 0 { //正式服启动缓存
|
||||
ret = ret.Where("is_enable", 1)
|
||||
}
|
||||
if cool.Config.ServerInfo.IsDebug == 0 {
|
||||
|
||||
ret = ret.Cache(gdb.CacheOption{
|
||||
Force: false,
|
||||
})
|
||||
}
|
||||
return ret
|
||||
}
|
||||
func dbm_fix(m cool.IModel) *gdb.Model {
|
||||
ret := cool.DBM(m).Cache(gdb.CacheOption{
|
||||
Force: false,
|
||||
})
|
||||
|
||||
return ret
|
||||
}
|
||||
func dbm_nocache(m cool.IModel) *gdb.Model {
|
||||
ret := cool.DBM(m)
|
||||
if cool.Config.ServerInfo.IsVip == 0 { //正式服启动缓存
|
||||
ret = ret.Where("is_enable", 1)
|
||||
}
|
||||
// if cool.Config.ServerInfo.IsDebug == 0 {
|
||||
|
||||
// ret = ret.Cache(gdb.CacheOption{
|
||||
// Force: false,
|
||||
// })
|
||||
// }
|
||||
return ret
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ func (s *BossService) Get(id uint32) *model.BossConfig {
|
||||
return nil
|
||||
}
|
||||
var item *model.BossConfig
|
||||
dbm(s.Model).Where("id", id).Scan(&item)
|
||||
dbm_fix(s.Model).Where("id", id).Scan(&item)
|
||||
|
||||
return item
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ func NewCdkService() *CdkService {
|
||||
}
|
||||
func (s *CdkService) Get(id string) *model.CDKConfig {
|
||||
var item *model.CDKConfig
|
||||
dbm(s.Model).Where("cdk_code", id).WhereNot("exchange_remain_count", 0).Scan(&item)
|
||||
dbm_fix(s.Model).Where("cdk_code", id).WhereNot("exchange_remain_count", 0).Scan(&item)
|
||||
|
||||
return item
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ type EffectService struct {
|
||||
}
|
||||
|
||||
func (s *EffectService) Args(id uint32) (int, []int) {
|
||||
m := dbm(s.Model).Where("se_idx", id)
|
||||
m := dbm_fix(s.Model).Where("se_idx", id)
|
||||
var tt model.PlayerPetSpecialEffect
|
||||
m.Scan(&tt)
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@ func (s *EggService) GetData(p1 uint32) []int32 {
|
||||
m := dbm(s.Model)
|
||||
|
||||
var pet []model.Egg //一个特性应该是唯一的,但是我们要获取默认随机特性
|
||||
m.Wheref(`male_pet_ids @> ARRAY[?]::integer[]`, p1).
|
||||
Where("is_enable", 1).Scan(&pet)
|
||||
m.Wheref(`male_pet_ids @> ARRAY[?]::integer[]`, p1).Scan(&pet)
|
||||
var petIDs []int32
|
||||
for _, p := range pet {
|
||||
petIDs = append(petIDs, p.FemalePetIDs...)
|
||||
@@ -42,8 +41,7 @@ func (s *EggService) GetResult(m, f uint32) uint32 {
|
||||
|
||||
var pet *model.Egg //一个特性应该是唯一的,但是我们要获取默认随机特性
|
||||
md.Wheref(`male_pet_ids @> ARRAY[?]::integer[]`, m).
|
||||
Wheref(`female_pet_ids @> ARRAY[?]::integer[]`, f).
|
||||
Where("is_enable", 1).Scan(&pet)
|
||||
Wheref(`female_pet_ids @> ARRAY[?]::integer[]`, f).Scan(&pet)
|
||||
if pet != nil {
|
||||
|
||||
t, _ := utils.RandomByWeight(pet.OutputMons, pet.Probs)
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"blazing/cool"
|
||||
"blazing/modules/config/model"
|
||||
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
"github.com/gogf/gf/v2/util/grand"
|
||||
)
|
||||
|
||||
@@ -19,7 +18,7 @@ type ItemService struct {
|
||||
func (s *ItemService) GetItemCount(id uint32) data.ItemInfo {
|
||||
var item model.ItemGift
|
||||
var res data.ItemInfo
|
||||
dbm(s.Model).Where("id", id).Where("is_enabled", 1).Scan(&item)
|
||||
dbm(s.Model).Where("id", id).Scan(&item)
|
||||
|
||||
if item.ItemID == 0 {
|
||||
|
||||
@@ -36,11 +35,7 @@ func (s *ItemService) GetItemCount(id uint32) data.ItemInfo {
|
||||
}
|
||||
func (s *ItemService) GetEgg(count int64) []data.ItemInfo {
|
||||
var item []model.ItemGift
|
||||
cool.DBM(s.Model).Where("is_egg", 1).Where("is_enabled", 1).Cache(gdb.CacheOption{
|
||||
// Duration: time.Hour,
|
||||
|
||||
Force: false,
|
||||
}).Scan(&item)
|
||||
dbm(s.Model).Where("is_egg", 1).Scan(&item)
|
||||
|
||||
rr := utils.RandomSlice(item, int(count))
|
||||
var res = make([]data.ItemInfo, len(rr))
|
||||
|
||||
@@ -18,7 +18,7 @@ func NewPetRewardService() *PetRewardService {
|
||||
}
|
||||
func (s *PetRewardService) GetEgg() model.PetReward {
|
||||
var item model.PetReward
|
||||
cool.DBM(s.Model).Where("is_egg", 1).Where("is_enabled", 1).OrderRandom().Limit(1).Scan(&item)
|
||||
dbm_nocache(s.Model).Where("is_egg", 1).OrderRandom().Limit(1).Scan(&item)
|
||||
|
||||
return item
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"blazing/cool"
|
||||
"blazing/modules/config/model"
|
||||
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
"github.com/gogf/gf/v2/util/grand"
|
||||
)
|
||||
|
||||
@@ -63,12 +62,9 @@ func (s *PetFusionService) Data(p1, p2, rand uint32) uint32 {
|
||||
|
||||
}
|
||||
func (s *PetFusionService) getData(p1, p2 uint32) []model.PetFusion {
|
||||
//cacheKey := strings.Join([]string{fmt.Sprintf("%d", p1), fmt.Sprintf("%d", p2)}, ":")
|
||||
m := dbm(s.Model)
|
||||
|
||||
var pet []model.PetFusion //一个特性应该是唯一的,但是我们要获取默认随机特性
|
||||
m.Where("main_pet_id", p1).Wheref(`sub_pet_ids @> ARRAY[?]::integer[]`, p2).
|
||||
Where("is_enable", 1).Scan(&pet)
|
||||
dbm(s.Model).Where("main_pet_id", p1).Wheref(`sub_pet_ids @> ARRAY[?]::integer[]`, p2).Scan(&pet)
|
||||
|
||||
return pet
|
||||
|
||||
@@ -77,12 +73,7 @@ func (s *PetFusionService) getData(p1, p2 uint32) []model.PetFusion {
|
||||
func (s *PetFusionService) def() []model.PetFusion {
|
||||
|
||||
var pets []model.PetFusion
|
||||
m := cool.DBM(s.Model)
|
||||
m.Where("is_enable", 1).Where("is_default", 1).Cache(gdb.CacheOption{
|
||||
// Duration: time.Hour,
|
||||
|
||||
Force: false,
|
||||
}).Scan(&pets)
|
||||
dbm(s.Model).Where("is_default", 1).Scan(&pets)
|
||||
|
||||
return pets
|
||||
// return ret.Interface().([]model.PetFusion)
|
||||
|
||||
@@ -48,8 +48,7 @@ func (s *ShinyService) RandShiny(id uint32) *model.ColorfulSkin {
|
||||
// 执行 Raw SQL 并扫描返回值
|
||||
dbm(s.Model).
|
||||
Wheref(`bind_elf_ids @> ?::jsonb`, id).
|
||||
Wheref(`jsonb_typeof(bind_elf_ids) = ?`, "array").
|
||||
Where("is_enabled", 1).Scan(&ret)
|
||||
Wheref(`jsonb_typeof(bind_elf_ids) = ?`, "array").Scan(&ret)
|
||||
|
||||
for _, v := range ret {
|
||||
//print(v.ID)
|
||||
@@ -76,8 +75,7 @@ func (s *ShinyService) FixShiny(id uint32) *model.ColorfulSkin {
|
||||
// 执行 Raw SQL 并扫描返回值
|
||||
dbm(s.Model).
|
||||
Wheref(`bind_elf_ids @> ?::jsonb`, id).
|
||||
Wheref(`jsonb_typeof(bind_elf_ids) = ?`, "array").
|
||||
Where("is_enabled", 1).Scan(&ret)
|
||||
Wheref(`jsonb_typeof(bind_elf_ids) = ?`, "array").Scan(&ret)
|
||||
if len(ret) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ func NewTaskService() *TaskService {
|
||||
}
|
||||
func (s *TaskService) Get(id, os int) *model.TaskConfig {
|
||||
var item []model.TaskConfig
|
||||
dbm(s.Model).Where("task_id", id).Where("is_enabled", 1).Scan(&item)
|
||||
dbm(s.Model).Where("task_id", id).Scan(&item)
|
||||
var res *model.TaskConfig
|
||||
for _, v := range item {
|
||||
if v.OutState == os {
|
||||
|
||||
@@ -68,7 +68,7 @@ func (m *UnifiedTowerModel) GroupName() string {
|
||||
// Boss 根据塔等级获取对应的Boss配置(统一入口)
|
||||
func (s *TowerService) Boss(towerLevel uint32) *model.BaseTowerConfig {
|
||||
// 构建基础查询条件
|
||||
query := dbm(s.Model).Where("tower_level = ?", towerLevel).Where("is_enabled", 1)
|
||||
query := dbm(s.Model).Where("tower_level = ?", towerLevel)
|
||||
|
||||
// 600塔专属的缓存配置
|
||||
var config model.BaseTowerConfig
|
||||
|
||||
Reference in New Issue
Block a user