1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
昔念
2026-02-13 22:57:05 +08:00
parent d258274322
commit e5c75f7359
51 changed files with 230 additions and 254 deletions

View File

@@ -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
}

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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))

View File

@@ -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

View File

@@ -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)

View File

@@ -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
}

View File

@@ -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 {

View File

@@ -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