storage

package
v0.0.0-...-824d9a1 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2018 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultRenvelopesID = 100000

DefaultRenvelopesID 默认红包ID

Variables

View Source
var (
	// ErrLackOfAssets 资产不足
	ErrLackOfAssets = errors.New("lack of assets")
	// ErrUserNotExist 用户不存在
	ErrUserNotExist = errors.New("user does not exist")
	// ErrNoSuchTypeAsset 没有此类型资产
	ErrNoSuchTypeAsset = errors.New("no such type of assets")
)
View Source
var (
	// ErrNothingLeft 领完了
	ErrNothingLeft = errors.New("nothing left")
	// ErrRepeatReceive 重复领取
	ErrRepeatReceive = errors.New("repeat receive")
	// ErrNotActivated 没有激活
	ErrNotActivated = errors.New("not activated")
	// ErrAlreadyActivated 已经激活
	ErrAlreadyActivated = errors.New("already activated")
	// ErrPermissionDenied 没有权限
	ErrPermissionDenied = errors.New("permission denied")
	// ErrRedEnvelopedExpired 红包已过期
	ErrRedEnvelopedExpired = errors.New("red envelope expired")
)
View Source
var (
	// BitUSD 美元
	BitUSD = "bitUSD"
	// BitCNY 人民币
	BitCNY = "bitCNY"
)
View Source
var (
	// BitUSDSymbol 美元符号
	BitUSDSymbol = "USD"
	// BitCNYSymbol 人民币符号
	BitCNYSymbol = "CNY"
)
View Source
var (
	// ErrNoBucket 没有桶
	ErrNoBucket = errors.New("no bucket")
)

Functions

func Backup

func Backup(writer io.Writer) (int64, error)

Backup 备份数据库

func Close

func Close() error

Close 关闭连接

func Connect

func Connect(path string) error

Connect 连接到数据库

func GetAsset

func GetAsset(symbol string) string

GetAsset 获取资产名

func GetAssetSymbol

func GetAssetSymbol(asset string) string

GetAssetSymbol 获取资产符号

Types

type Ad struct {
	ID   uint32 `json:"id"`   // 广告ID
	Text string `json:"text"` // 广告文本
}

Ad 广告信息

type AdStorage

type AdStorage struct {
}

AdStorage 广告存储

func (*AdStorage) AddAd

func (storage *AdStorage) AddAd(botID int64, ad string) (uint32, error)

AddAd 添加广告

func (*AdStorage) DelAd

func (storage *AdStorage) DelAd(botID int64, id uint32) error

DelAd 删除广告

func (*AdStorage) GetAds

func (storage *AdStorage) GetAds(botID int64) ([]*Ad, error)

GetAds 获取广告

type Asset

type Asset struct {
	Asset  string `json:"asset"`  // 资产名称
	Amount uint32 `json:"amount"` // 资产总额
	Freeze uint32 `json:"freeze"` // 冻结资产
}

Asset 资产信息

type AssetStorage

type AssetStorage struct {
}

AssetStorage 资产存储

func (*AssetStorage) Deposit

func (storage *AssetStorage) Deposit(userID int64, asset string, amount uint32) error

Deposit 存款

func (*AssetStorage) FrozenAsset

func (storage *AssetStorage) FrozenAsset(userID int64, asset string, amount uint32) error

FrozenAsset 冻结资产

func (*AssetStorage) GetAsset

func (storage *AssetStorage) GetAsset(userID int64, asset string) (*Asset, error)

GetAsset 获取资产信息

func (*AssetStorage) GetAssets

func (storage *AssetStorage) GetAssets(userID int64) ([]*Asset, error)

GetAssets 获取资产列表

func (*AssetStorage) TransferFrozenAsset

func (storage *AssetStorage) TransferFrozenAsset(from, to int64, asset string, amount uint32) error

TransferFrozenAsset 转移冻结资金

func (*AssetStorage) UnfreezeAsset

func (storage *AssetStorage) UnfreezeAsset(userID int64, asset string, amount uint32) error

UnfreezeAsset 解冻资产

func (*AssetStorage) Withdraw

func (storage *AssetStorage) Withdraw(userID int64, asset string, amount uint32) error

Withdraw 取款

type RedEnvelope

type RedEnvelope struct {
	ID         uint64 `json:"id"`          // 红包ID
	GroupID    int64  `json:"group_id"`    // 群组ID
	MessageID  int32  `json:"message_id"`  // 消息ID
	SenderID   int64  `json:"sneder_id"`   // 发送者
	SenderName string `json:"sneder_name"` // 发送者名字
	Asset      string `json:"asset"`       // 资产类型
	Amount     uint32 `json:"amount"`      // 红包总额
	Received   uint32 `json:"received"`    // 领取金额
	Number     uint32 `json:"number"`      // 红包个数
	Lucky      bool   `json:"lucky"`       // 是否随机
	Value      uint32 `json:"value"`       // 单个价值
	Active     bool   `json:"active"`      // 是否激活
	Memo       string `json:"memo"`        // 红包留言
	Timestamp  int64  `json:"timestamp"`   // 时间戳
}

RedEnvelope 红包信息

type RedEnvelopeRecord

type RedEnvelopeRecord struct {
	Value int              `json:"value"`          // 红包金额
	User  *RedEnvelopeUser `json:"user,omitempty"` // 用户信息
}

RedEnvelopeRecord 红包记录

type RedEnvelopeStorage

type RedEnvelopeStorage struct {
}

RedEnvelopeStorage 红包存储

func (*RedEnvelopeStorage) ActiveRedEnvelope

func (handler *RedEnvelopeStorage) ActiveRedEnvelope(id uint64, userID, chatID int64, messageID int32) error

ActiveRedEnvelope 激活红包

func (*RedEnvelopeStorage) ForeachRedEnvelopes

func (handler *RedEnvelopeStorage) ForeachRedEnvelopes(startID uint64, callback func(*RedEnvelope)) error

ForeachRedEnvelopes 遍历红包列表

func (*RedEnvelopeStorage) GetLastExpired

func (handler *RedEnvelopeStorage) GetLastExpired() (uint64, error)

GetLastExpired 获取上次过期红包

func (*RedEnvelopeStorage) GetRedEnvelope

func (handler *RedEnvelopeStorage) GetRedEnvelope(id uint64) (*RedEnvelope, uint32, error)

GetRedEnvelope 获取红包信息

func (*RedEnvelopeStorage) GetTwoTxtremes

func (handler *RedEnvelopeStorage) GetTwoTxtremes(id uint64) (*RedEnvelopeRecord, *RedEnvelopeRecord, error)

GetTwoTxtremes 获取两个极端

func (*RedEnvelopeStorage) IsExpired

func (handler *RedEnvelopeStorage) IsExpired(id uint64) bool

IsExpired 是否过期

func (*RedEnvelopeStorage) IsReceived

func (handler *RedEnvelopeStorage) IsReceived(id uint64, userID int32) (bool, error)

IsReceived 是否已领取

func (*RedEnvelopeStorage) NewRedEnvelope

func (handler *RedEnvelopeStorage) NewRedEnvelope(data *RedEnvelope, envelopes []int) (*RedEnvelope, error)

NewRedEnvelope 创建新红包

func (*RedEnvelopeStorage) ReceiveRedEnvelope

func (handler *RedEnvelopeStorage) ReceiveRedEnvelope(id uint64, userID int32,
	firstName string) (int, int, error)

ReceiveRedEnvelope 领取红包

func (*RedEnvelopeStorage) SetExpired

func (handler *RedEnvelopeStorage) SetExpired(id uint64) error

SetExpired 设置过期

func (*RedEnvelopeStorage) SetLastExpired

func (handler *RedEnvelopeStorage) SetLastExpired(id uint64) error

SetLastExpired 设置上次过期红包

type RedEnvelopeUser

type RedEnvelopeUser struct {
	UserID    int32  `json:"user_id"`    // 用户ID
	FirstName string `json:"first_name"` // 用户名
}

RedEnvelopeUser 红包用户

type SubscriberStorage

type SubscriberStorage struct {
}

SubscriberStorage 订户存储

func (*SubscriberStorage) AddSubscriber

func (*SubscriberStorage) AddSubscriber(botID, userID int64) error

AddSubscriber 添加订阅者

func (*SubscriberStorage) GetSubscriberCount

func (*SubscriberStorage) GetSubscriberCount(botID int64) (int, error)

GetSubscriberCount 获取订阅者数量

func (*SubscriberStorage) GetSubscribers

func (*SubscriberStorage) GetSubscribers(botID int64) ([]int64, error)

GetSubscribers 获取订阅者

Jump to

Keyboard shortcuts

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