service

package
v1.3.30 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 6, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterCasdoor added in v1.3.15

func RegisterCasdoor(i ICasdoor)

func RegisterGameAct

func RegisterGameAct(i IGameAct)

func RegisterGameKv added in v1.1.17

func RegisterGameKv(i IGameKv)

func RegisterIp2Region

func RegisterIp2Region(i IIp2Region)

func RegisterLogData

func RegisterLogData(i ILogData)

func RegisterOS added in v1.3.18

func RegisterOS(i IOS)

func RegisterSystemCron

func RegisterSystemCron(i ISystemCron)

func RegisterSystemLog

func RegisterSystemLog(i ISystemLog)

Types

type ICasdoor added in v1.3.15

type ICasdoor interface {
	Load(endpoint string, clientId string, clientSecret string, certificate string, organizationName string, applicationName string)
	New() *casdoorsdk.Client
}

func Casdoor added in v1.3.15

func Casdoor() ICasdoor

type IGameAct

type IGameAct interface {
	// Info 获取活动信息
	//
	// @Description: 根据用户ID和活动ID获取活动信息
	// @receiver s *sGameAct: 代表活动操作的结构体实例
	// @param uid int64: 用户ID
	// @param actId int: 活动ID
	// @return data *v1.Act: 返回活动信息结构体指针
	// @return err error: 返回错误信息
	Info(uid int64, actId int) (data *g.Var, err error)
	// Set 将指定用户的活动信息存储到Redis缓存中。
	//
	// @Description:
	// @receiver s *sGameAct: 表示sGameAct类型的实例。
	// @param uid int64: 用户的唯一标识。
	// @param actId int: 活动的唯一标识。
	// @param data interface{}: 要存储的活动信息数据。
	// @return err error: 返回错误信息,如果操作成功,则返回nil。
	Set(uid int64, actId int, data interface{}) (err error)
	// Saves 保存游戏活动数据
	//
	// @Description: 保存游戏活动数据
	// @receiver s *sGameAct: 游戏活动服务结构体指针
	// @return err error: 返回错误信息
	// Deprecated: 该方法已被弃用,建议使用SavesV2方法
	Saves() (err error)
	// Save 保存游戏活动数据
	//
	// @Description: 保存游戏活动数据
	// @receiver s *sGameAct: 游戏活动服务结构体指针
	// @param ctx context.Context: 上下文对象
	// @param actId int: 活动ID
	// @return err error: 返回错误信息
	// deprecated: 该方法已被弃用,建议使用SaveV2方法
	Save(ctx context.Context, actId int) (err error)
	// SavesV2 保存游戏活动数据
	//
	// @Description: 保存游戏活动数据
	// @receiver s *sGameAct: 游戏活动服务结构体指针
	// @return err error: 返回错误信息
	// SavesV2 保存游戏活动数据
	SavesV2() (err error)
	// SaveV2 保存游戏活动数据
	//
	// @Description: 保存游戏活动数据
	// @receiver s *sGameAct: 游戏活动服务结构体指针
	// @param ctx context.Context: 上下文对象
	// @param cacheKey string: 缓存键
	// @param add []*entity.GameAct: 添加数据
	// @param update []*entity.GameAct: 更新数据
	// @return err error: 返回错误信息
	SaveV2(ctx context.Context, cacheKey string, addChan chan *entity.GameAct, updateChan chan *entity.GameAct) (err error)
	// Cache2Sql 缓存持久化到数据库
	// @Description: 缓存持久化到数据库
	// @receiver s *sGameAct: 游戏活动服务结构体指针
	// @param ctx context.Context: 上下文对象
	// @param add []*entity.GameAct: 添加数据
	// @param update []*entity.GameAct: 更新数据
	// @return err error: 返回错误信息
	Cache2Sql(ctx context.Context, add []*entity.GameAct, update []*entity.GameAct)
	// Cache2AddChan 批量添加数据库
	Cache2SqlChan(ctx context.Context, addChan chan *entity.GameAct, updateChan chan *entity.GameAct)
	// 删除缓存key
	DelCacheKey(ctx context.Context, aid int, uid int64)
	// 清空GetRedDot缓存
	RefreshGetRedDotCache(uid int64)
	Del(uid int64, actId int)
}

func GameAct

func GameAct() IGameAct

type IGameKv added in v1.1.17

type IGameKv interface {
	// SavesV1 方法
	//
	// @Description: 保存用户KV数据列表。
	// @receiver s: sGameKv的实例。
	// @return err: 错误信息,如果操作成功,则为nil。
	SavesV1() (err error)
	// 删除缓存key
	DelCacheKey(ctx context.Context, uid int64)
}

func GameKv added in v1.1.17

func GameKv() IGameKv

type IIp2Region

type IIp2Region interface {
	//	@receiver s *sIp2region: sIp2region的实例。
	Load(t *xdb.Version)
	GetIp(ip string) (res []string)
}

func Ip2Region

func Ip2Region() IIp2Region

type ILogData

type ILogData interface {
	Load()
	// UserSet 方法
	//
	// @Description: 设置用户信息。
	// @receiver s: sLogData 的实例,表示日志数据的结构体。
	// @param accountId: 账户ID,用于标识账户,是字符串格式。
	// @param uid: 用户的ID,是整型的唯一标识符。
	// @param data: 要设置的用户信息,以键值对的形式提供,是map[string]interface{}类型,支持多种用户属性。
	// @return err: 执行过程中可能出现的错误,如果执行成功,则返回nil。
	UserSet(accountId string, uid int64, data map[string]interface{}) (err error)
	// Track 函数记录特定事件。
	//
	// @Description: 用于跟踪和记录一个指定事件的发生,收集相关数据。
	// @receiver s: sLogData 的实例,代表日志数据的存储或处理实体。
	// @param accountId: 账户ID,用于标识事件所属的账户。
	// @param uid: 用户的ID,一个整型数值,用于区分不同的用户。
	// @param name: 事件名称,标识所记录的具体事件。
	// @param data: 事件相关的数据映射,包含事件的详细信息。
	// @return err: 错误信息,如果操作成功则为nil。
	Track(ctx context.Context, accountId string, uid int64, name string, data map[string]interface{})
}

func LogData

func LogData() ILogData

type IOS added in v1.3.18

type IOS interface {
	Load(title string, tooltip string, ico string)
}

func OS added in v1.3.18

func OS() IOS

type ISystemCron

type ISystemCron interface {
	Guardian(DingTalkWebHook string)
	// DingTalk 发送钉钉消息
	//
	// @Description: 向指定的钉钉机器人发送消息。
	// @receiver s: 系统定时任务结构体指针。
	// @param value: 要发送的消息内容。
	// Deprecated: Use message.New(message.DingTalk, DingTalkWebHook).Send(value)
	DingTalk(DingTalkWebHook string, value string) (res *gclient.Response)
	ReadLog()
	// AddCron 添加一个定时任务到相应的调度列表中。
	//
	// @Description: 根据指定的类型将函数添加到不同的任务列表中,以供后续执行。
	// 确保自定义任务正确处理上下文取消信号,即可充分发挥超时打断功能。
	// @receiver s: sSystemCron的实例,代表一个调度系统。
	// @param typ: 任务的类型,决定该任务将被添加到哪个列表中。对应不同的时间间隔。
	// @param _func: 要添加的任务函数,该函数执行时应该返回一个error。
	// deprecated: 弃用,请使用 AddCronV2
	AddCron(typ v1.CronType, _func func() error)
	// AddCronV2  添加一个定时任务到相应的调度列表中。
	//
	// @Description: 根据指定的类型将函数添加到不同的任务列表中,以供后续执行。
	// @receiver s: sSystemCron的实例,代表一个调度系统。
	// @param typ: 任务的类型,决定该任务将被添加到哪个列表中。对应不同的时间间隔。
	// @param _func: 要添加的任务函数,该函数执行时应该返回一个error。
	// @param _onlyMain: 是否只在主服务器上执行一次,true 唯一执行,false 全局执行不判断唯一
	AddCronV2(typ v1.CronType, _func func(context.Context) error, _onlyMain ...bool)
	// StartCron 开始计划任务执行
	//
	//	@Description:
	//	@receiver s
	//	@return err
	StartCron() (err error)
	// AddFuncChan 添加方法到通道
	AddFuncChan(list []func(context.Context) error)
	// RunFuncChan 统一执行方法
	RunFuncChan()
	// RunFunc 统一执行方法
	// deprecated: 弃用,会造成周期任务并发执行,to service.SystemCron().AddFuncChan
	RunFunc(list []func() error)
}

func SystemCron

func SystemCron() ISystemCron

type ISystemLog

type ISystemLog interface {
	List(page int) (list []*v1.SystemLog, max int, err error)
	// 写入操作日志
	AddLog(uid int, url string, ip string, data g.Map) (id int64, err error)
}

func SystemLog

func SystemLog() ISystemLog

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL