From 0a2ec3af088e78cf8d73d6093a02e5b1d92b5a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Tue, 24 Feb 2026 14:11:01 +0800 Subject: [PATCH] =?UTF-8?q?```=20refactor(config):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=80=AA=E7=89=A9=E5=88=B7=E6=96=B0=E7=9B=B8=E5=85=B3=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=B9=B6=E4=BC=98=E5=8C=96=E5=9C=B0=E5=9B=BE=E5=9D=91?= =?UTF-8?q?=E4=BD=8D=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除 modules/config/controller/admin/monster_refresh.go 中的 TaskInfoController 及其相关路由注册逻辑 移除 modules/config/model/map_monster.go 中的 MonsterRefresh 模型定义及相关常量、方法 重构 modules/config/model/map_pit.go 中的 MapPit 结 --- .../controller/admin/monster_refresh.go | 22 --- modules/config/model/map_monster.go | 56 ------ modules/config/model/map_pit.go | 12 +- modules/config/service/monster_refresh.go | 159 +++++++++--------- 4 files changed, 84 insertions(+), 165 deletions(-) delete mode 100644 modules/config/controller/admin/monster_refresh.go delete mode 100644 modules/config/model/map_monster.go diff --git a/modules/config/controller/admin/monster_refresh.go b/modules/config/controller/admin/monster_refresh.go deleted file mode 100644 index 4ca4812ce..000000000 --- a/modules/config/controller/admin/monster_refresh.go +++ /dev/null @@ -1,22 +0,0 @@ -package admin - -import ( - "blazing/cool" - "blazing/modules/config/service" -) - -type TaskInfoController struct { - *cool.Controller -} - -func init() { - var task_info_controller = &TaskInfoController{ - &cool.Controller{ - Prefix: "/admin/monster/refresh", - Api: []string{"Add", "Delete", "Update", "Info", "List", "Page"}, - Service: service.NewMonsterService(), - }, - } - // 注册路由 - cool.RegisterController(task_info_controller) -} diff --git a/modules/config/model/map_monster.go b/modules/config/model/map_monster.go deleted file mode 100644 index 636e851fc..000000000 --- a/modules/config/model/map_monster.go +++ /dev/null @@ -1,56 +0,0 @@ -package model - -import ( - "blazing/cool" -) - -const ( - TableNameMonsterRefresh = "config_monster_refresh" // 怪物刷新规则表(地图-精灵等级-刷新脚本配置) -) - -// MonsterRefresh 怪物刷新规则模型(对应前端配置的地图/精灵/等级/脚本配置) -type MonsterRefresh struct { - *BaseConfig - - MapID int32 `gorm:"not null;comment:'地图ID'" json:"map_id"` - - PitID1 []int32 `gorm:"type:int[];not null;comment:'坑位1绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_1"` - PitID2 []int32 `gorm:"type:int[];not null;comment:'坑位2绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_2"` - PitID3 []int32 `gorm:"type:int[];not null;comment:'坑位3绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_3"` - PitID4 []int32 `gorm:"type:int[];not null;comment:'坑位4绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_4"` - PitID5 []int32 `gorm:"type:int[];not null;comment:'坑位5绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_5"` - PitID6 []int32 `gorm:"type:int[];not null;comment:'坑位6绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_6"` - PitID7 []int32 `gorm:"type:int[];not null;comment:'坑位7绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_7"` - PitID8 []int32 `gorm:"type:int[];not null;comment:'坑位8绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_8"` - PitID9 []int32 `gorm:"type:int[];not null;comment:'坑位9绑定的坑位ID列表(多绑,循环刷)'" json:"pit_id_9"` -} - -type MonsterRefreshEX struct { - MonsterRefresh - MonsterID []uint32 `json:"monster_id"` - ShinyID []uint32 `json:"shiny_id"` - // 扩展:便于批量处理9个坑位 - PitIDs [9][]uint32 `json:"pit_ids"` // 整合所有坑位ID,前端/业务层批量处理用 -} - -// TableName 指定MonsterRefresh对应的数据库表名 -func (*MonsterRefresh) TableName() string { - return TableNameMonsterRefresh -} - -// GroupName 指定表所属的分组(保持和参考示例一致) -func (*MonsterRefresh) GroupName() string { - return "default" -} - -// NewMonsterRefresh 创建一个新的MonsterRefresh实例(初始化通用Model) -func NewMonsterRefresh() *MonsterRefresh { - return &MonsterRefresh{ - BaseConfig: NewBaseConfig(), - } -} - -// init 初始化表结构(程序启动时自动创建/同步表) -func init() { - cool.CreateTable(&MonsterRefresh{}) -} diff --git a/modules/config/model/map_pit.go b/modules/config/model/map_pit.go index c1310b05e..cab7c694b 100644 --- a/modules/config/model/map_pit.go +++ b/modules/config/model/map_pit.go @@ -21,13 +21,13 @@ type Event struct { // MapPit 地图坑位核心配置模型(参照MonsterRefresh实现风格) type MapPit struct { - *cool.Model // 保留通用Model(ID/创建时间/更新时间等) - - Remark string `gorm:"type:varchar(255);default:'';comment:'性别配置备注(如:默认性别规则)'" json:"remark"` // 调整注释 // 复用通用基础配置(ID/创建时间/更新时间等) - MapID []int32 `gorm:"type:int[];comment:'绑定地图地图ID'" json:"map_id"` + *BaseConfig *Event + // 复用通用基础配置(ID/创建时间/更新时间等) + MapID []int32 `gorm:"type:int[];comment:'绑定地图地图ID'" json:"map_id"` RefreshID []int `gorm:"type:int[];comment:'精灵ID列表'" json:"refresh_id"` + Pos []int `gorm:"type:int[];comment:'坑位位置'" json:"pos"` //最小等级 MinLevel int `gorm:"type:int;default:0;comment:'最小等级'" json:"min_level"` //最大等级 @@ -49,8 +49,8 @@ func (*MapPit) GroupName() string { // NewMapPit 创建一个新的MapPit实例(初始化通用BaseConfig) func NewMapPit() *MapPit { return &MapPit{ - Model: cool.NewModel(), - Event: &Event{}, + BaseConfig: NewBaseConfig(), + Event: &Event{}, } } diff --git a/modules/config/service/monster_refresh.go b/modules/config/service/monster_refresh.go index 866c600e6..b826de79d 100644 --- a/modules/config/service/monster_refresh.go +++ b/modules/config/service/monster_refresh.go @@ -1,98 +1,95 @@ package service -import ( - "blazing/cool" - "blazing/modules/config/model" +// import ( +// "blazing/cool" +// "blazing/modules/config/model" - "fmt" - "strconv" - "time" +// "fmt" +// "strconv" +// "time" - "github.com/dop251/goja" - "github.com/gogf/gf/v2/database/gdb" - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/util/gconv" -) +// "github.com/dop251/goja" +// "github.com/gogf/gf/v2/database/gdb" +// "github.com/gogf/gf/v2/frame/g" +// "github.com/gogf/gf/v2/util/gconv" +// ) -type MonsterService struct { - *cool.Service -} +// type MonsterService struct { +// *cool.Service +// } -func NewMonsterService() *MonsterService { - return &MonsterService{ - &cool.Service{ - Model: model.NewMonsterRefresh(), - }, - } -} +// func NewMonsterService() *MonsterService { +// return &MonsterService{ +// &cool.Service{ +// Model: model.NewMonsterRefresh(), +// }, +// } +// } -func (s *MonsterService) ModifyAfter(ctx g.Ctx, method string, param g.MapStrAny) (err error) { +// func (s *MonsterService) ModifyAfter(ctx g.Ctx, method string, param g.MapStrAny) (err error) { - gconv.String(param["map_id"]) - cool.DBM(s.Model).Cache((gdb.CacheOption{ - Duration: -1, - Name: model.TableNameMonsterRefresh + gconv.String(param["map_id"]), - Force: false, - })) +// gconv.String(param["map_id"]) +// cool.DBM(s.Model).Cache((gdb.CacheOption{ +// Duration: -1, +// Name: model.TableNameMonsterRefresh + gconv.String(param["map_id"]), +// Force: false, +// })) - return nil -} +// return nil +// } -func (s *MonsterService) GetId(mapid uint32) []model.MonsterRefresh { +// func (s *MonsterService) GetId(mapid uint32) []model.MonsterRefresh { - m := cool.DBM(s.Model).Where("map_id", mapid).Cache( - gdb.CacheOption{ - Duration: time.Hour, - Name: model.TableNameMonsterRefresh + strconv.Itoa(int(mapid)), - Force: false, - }, - ) - var tt []model.MonsterRefresh - m.Scan(&tt) +// m := cool.DBM(s.Model).Where("map_id", mapid).Cache( +// gdb.CacheOption{ +// Duration: time.Hour, +// Name: model.TableNameMonsterRefresh + strconv.Itoa(int(mapid)), +// Force: false, +// }, +// ) +// var tt []model.MonsterRefresh +// m.Scan(&tt) - // for _, v := range tt { +// // for _, v := range tt { - // if v.MapID == int32(mapid) { - // return uint32(v.MonsterID) +// // if v.MapID == int32(mapid) { +// // return uint32(v.MonsterID) - // } +// // } - // } - return tt +// // } +// return tt -} -func Test_kick() { - const SCRIPT = ` - function shouldRefresh(userId, day, dayOfWeek, hour, minute) { - return true; - - - - - } - ` - t, _ := goja.Compile("test.js", SCRIPT, false) - vm := goja.New() - _, err := vm.RunProgram(t) - if err != nil { - panic(err) - } - sum, ok := goja.AssertFunction(vm.Get("shouldRefresh")) - if !ok { - panic("Not a function") - } +// } +// func Test_kick() { +// const SCRIPT = ` +// function shouldRefresh(userId, day, dayOfWeek, hour, minute) { +// return true; - res, err := sum( - goja.Undefined(), - vm.ToValue(1), - vm.ToValue(time.Now().Day()), - vm.ToValue(time.Now().Weekday()), - vm.ToValue(time.Now().Hour()), - vm.ToValue(time.Now().Minute()), - ) - if err != nil { - panic(err) - } - fmt.Println(res) - // Output: 42 -} +// } +// ` +// t, _ := goja.Compile("test.js", SCRIPT, false) +// vm := goja.New() +// _, err := vm.RunProgram(t) +// if err != nil { +// panic(err) +// } +// sum, ok := goja.AssertFunction(vm.Get("shouldRefresh")) +// if !ok { +// panic("Not a function") +// } + +// res, err := sum( +// goja.Undefined(), +// vm.ToValue(1), +// vm.ToValue(time.Now().Day()), +// vm.ToValue(time.Now().Weekday()), +// vm.ToValue(time.Now().Hour()), +// vm.ToValue(time.Now().Minute()), +// ) +// if err != nil { +// panic(err) +// } +// fmt.Println(res) +// // Output: 42 +// }