service

package
v1.2.39 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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 RegisterSystemCron

func RegisterSystemCron(i ISystemCron)

func RegisterSystemLog

func RegisterSystemLog(i ISystemLog)

Types

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(ctx context.Context) (err error)
	Save(ctx context.Context, actId int) (err error)
	// 清空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)
}

func GameKv added in v1.1.17

func GameKv() IGameKv

type IIp2Region

type IIp2Region interface {
	// Load 加载到内存中
	//
	//	@Description: 加载ip2region数据库到内存中。
	//	@receiver s *sIp2region: sIp2region的实例。
	Load()
	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 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。
	AddCronV2(typ v1.CronType, _func func(context.Context) error)
	// 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