2025-08-23 17:44:12 +08:00
|
|
|
package service
|
|
|
|
|
|
2026-02-24 14:11:01 +08:00
|
|
|
// import (
|
|
|
|
|
// "blazing/cool"
|
|
|
|
|
// "blazing/modules/config/model"
|
|
|
|
|
|
|
|
|
|
// "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"
|
|
|
|
|
// )
|
|
|
|
|
|
|
|
|
|
// type MonsterService struct {
|
|
|
|
|
// *cool.Service
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// func NewMonsterService() *MonsterService {
|
|
|
|
|
// return &MonsterService{
|
|
|
|
|
// &cool.Service{
|
|
|
|
|
// Model: model.NewMonsterRefresh(),
|
|
|
|
|
// },
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 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,
|
|
|
|
|
// }))
|
|
|
|
|
|
|
|
|
|
// return nil
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 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)
|
|
|
|
|
|
|
|
|
|
// // for _, v := range tt {
|
|
|
|
|
|
|
|
|
|
// // if v.MapID == int32(mapid) {
|
|
|
|
|
// // return uint32(v.MonsterID)
|
|
|
|
|
|
|
|
|
|
// // }
|
|
|
|
|
|
|
|
|
|
// // }
|
|
|
|
|
// 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")
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 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
|
|
|
|
|
// }
|