dao

package
v0.0.0-...-83adff0 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2020 License: GPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetDailyLimitKey

func GetDailyLimitKey(mid int64) string

GetDailyLimitKey return daily limit redis key

func GetIntervalKey

func GetIntervalKey(mid int64) string

GetIntervalKey return interval smooth redis key

func PromError

func PromError(name string)

PromError prom error

func PromInfo

func PromInfo(name string)

PromInfo add prom info

func PromInfoAdd

func PromInfoAdd(name string, value int64)

PromInfoAdd add prom info by value

Types

type Dao

type Dao struct {
	// contains filtered or unexported fields
}

Dao dao

func New

func New(c *conf.Config) (dao *Dao)

New init mysql db

func (*Dao) BatchPush

func (d *Dao) BatchPush(fans *[]int64, task *model.ApPushTask) (total int)

BatchPush 批量推送,失败重试

func (*Dao) Close

func (d *Dao) Close() (err error)

Close close the resource.

func (*Dao) CreateNewTask

func (d *Dao) CreateNewTask(c context.Context, task *model.ApPushTask) (affected int64, err error)

CreateNewTask 新增推送任务记录

func (*Dao) Fans

func (d *Dao) Fans(c context.Context, upper int64, types int) (fans map[int64]bool, fansSP map[int64]bool, err error)

Fans gets the upper's fans.

func (*Dao) GetBlackList

func (d *Dao) GetBlackList(c context.Context, task *model.ApPushTask) (mids map[int64]bool, err error)

GetBlackList get blacklist from hbase by target id

func (*Dao) GetFansBySwitch

func (d *Dao) GetFansBySwitch(c context.Context, targetID int64) (fans map[int64]bool, err error)

GetFansBySwitch 获取直播开关数据

func (*Dao) GetPushConfig

func (d *Dao) GetPushConfig(c context.Context) (types []string, err error)

GetPushConfig 从DB中获取推送配置

func (*Dao) GetPushInterval

func (d *Dao) GetPushInterval(c context.Context) (interval int32, err error)

GetPushInterval 获取推送时间间隔

func (*Dao) GetPushTemplate

func (d *Dao) GetPushTemplate(group string, part string) (template string)

GetPushTemplate 根据类型返回不同的推送文案

func (*Dao) GetUUID

func (d *Dao) GetUUID(task *model.ApPushTask, times int) string

GetUUID 构造一个每次请求的uuid

func (*Dao) NewFilter

func (d *Dao) NewFilter(conf *FilterConfig) (f *Filter, err error)

NewFilter NewFilter

func (*Dao) NewFilterChain

func (d *Dao) NewFilterChain(f *Filter) FilterChain

NewFilterChain NewFilterChain

func (*Dao) Ping

func (d *Dao) Ping(c context.Context) (err error)

Ping dao ping

func (*Dao) Push

func (d *Dao) Push(fans []int64, task *model.ApPushTask, uuid string) (err error)

Push 调用推送接口

func (*Dao) RedisOption

func (d *Dao) RedisOption() []redis.DialOption

RedisOption return redis options

func (*Dao) SeparateFans

func (d *Dao) SeparateFans(c context.Context, upper int64, fansIn map[int64]bool) (fans map[int64]bool, fansSP map[int64]bool, err error)

SeparateFans Separate the upper's fans by 1 or 2.

type Filter

type Filter struct {
	// contains filtered or unexported fields
}

Filter Filter

func (*Filter) BatchDecreaseLimit

func (f *Filter) BatchDecreaseLimit(ctx context.Context, mids []int64) (total int, err error)

BatchDecreaseLimit 批量减少配额

func (*Filter) BatchFilter

func (f *Filter) BatchFilter(ctx context.Context, filterChain FilterChain, mids []int64) (resMids []int64)

BatchFilter 对输入mid序列执行所有过滤方法,返回过滤结果

func (*Filter) Done

func (f *Filter) Done()

Done do some close work

type FilterChain

type FilterChain map[string]func(ctx context.Context, mid int64) (bool, error)

FilterChain FilterChain

type FilterConfig

type FilterConfig struct {
	Business        int
	IntervalExpired int32
	IntervalValue   string
	DailyExpired    float64
	Task            *model.ApPushTask
}

FilterConfig FilterConfig

Jump to

Keyboard shortcuts

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