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: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// CapsulePrizeGift1Type 辣条
	CapsulePrizeGift1Type // 辣条
	// CapsulePrizeTitleType 头衔
	CapsulePrizeTitleType
	// CapsulePrizeStuff1Type 经验原石
	CapsulePrizeStuff1Type
	// CapsulePrizeStuff2Type 经验曜石
	CapsulePrizeStuff2Type
	// CapsulePrizeStuff3Type 贤者之石
	CapsulePrizeStuff3Type
	// CapsulePrizeSmallTvType 小电视
	CapsulePrizeSmallTvType
	// CapsulePrizeGuard3Type 舰长体验
	CapsulePrizeGuard3Type
	// CapsulePrizeGuard2Type 提督体验
	CapsulePrizeGuard2Type
	// CapsulePrizeGuard1Type 总督体验
	CapsulePrizeGuard1Type
	// CapsulePrizeScoreAdd 积分加成卡
	CapsulePrizeScoreAdd
	// CapsulePrizeSmallStar 小星星
	CapsulePrizeSmallStar
	// CapsulePrizeWeekScore 抽奖券
	CapsulePrizeWeekScore
	// CapsulePrizeDanmuColor 弹幕颜色
	CapsulePrizeDanmuColor
	// CapsulePrizeLplScore lpl抽奖券
	CapsulePrizeLplScore
	// CapsulePrizeLplProduct1 lpl实物奖励1
	CapsulePrizeLplProduct1
	// CapsulePrizeLplProduct2 lpl实物奖励2
	CapsulePrizeLplProduct2
	// CapsulePrizeLplProduct3 lpl实物奖励3
	CapsulePrizeLplProduct3
)
View Source
const (
	// CapsulePrizeProduct1 .
	CapsulePrizeProduct1 = 100000 // 实物奖励
	// CapsulePrizeProduct2 .
	CapsulePrizeProduct2 = 100001 // 实物奖励
	// CapsulePrizeProduct3 .
	CapsulePrizeProduct3 = 100002
	// CapsulePrizeProduct4 .
	CapsulePrizeProduct4 = 100003 // 实物奖励
	// CapsulePrizeProduct5 .
	CapsulePrizeProduct5 = 100004 // 实物奖励
	// CapsulePrizeProduct6 .
	CapsulePrizeProduct6 = 100005
)
View Source
const (
	// CapsulePrizeCoupon1 .
	CapsulePrizeCoupon1 = 200000
	// CapsulePrizeCoupon2 .
	CapsulePrizeCoupon2 = 200001
	// CapsulePrizeCoupon3 .
	CapsulePrizeCoupon3 = 200002
)
View Source
const (
	// CapsulePrizeExpire1Day 过期时间24小时
	CapsulePrizeExpire1Day = 1
	// CapsulePrizeExpire3Day 过期时间72小时
	CapsulePrizeExpire3Day = 10
	// CapsulePrizeExpire1Week 过期时间1周
	CapsulePrizeExpire1Week = 20
	// CapsulePrizeExpire3Month 过期时间3个月
	CapsulePrizeExpire3Month = 30
	// CapsulePrizeExpireForever 过期时间永久
	CapsulePrizeExpireForever = 100
)
View Source
const (

	// ProTypeNormal 概率
	ProTypeNormal
	// ProTypeFixDay 每天固定数量
	ProTypeFixDay
	// ProTypeFixWeek 每周固定数量
	ProTypeFixWeek
	// ProTypeWhite 白名单
	ProTypeWhite
)
View Source
const (
	// NormalCoinId 普通扭蛋id
	NormalCoinId = 1
	// ColorfulCoinId 梦幻扭蛋id
	ColorfulCoinId = 2
	// WeekCoinId 梦幻扭蛋id
	WeekCoinId = 3
	// LplCoinId 梦幻扭蛋id
	LplCoinId = 4
	// BlessCoinId 祈福券
	BlessCoinId = 5
	// OpenHistoryNum 开奖历史
	OpenHistoryNum = 30
	// NormalCoinString 普通扭蛋字符串标识,数据库和redis
	NormalCoinString = "normal"
	// ColorfulCoinString 梦幻扭蛋字符串标识,数据库和redis
	ColorfulCoinString = "colorful"
	// WeekCoinString 周星扭蛋字符串标识,数据库和redis
	WeekCoinString = "week"
	// LplCoinString lpl扭蛋字符串标识,数据库和redis
	LplCoinString = "lpl"
	// BlessCoinString 新年祈愿扭蛋字符串标识,数据库和redis
	BlessCoinString = "bless"
	// GetCapsuleDetailFromRoom 接口来源
	GetCapsuleDetailFromRoom = "room"
	// GetCapsuleDetailFromWeb 接口来源
	GetCapsuleDetailFromWeb = "web"
	// GetCapsuleDetailFromH5 接口来源
	GetCapsuleDetailFromH5 = "h5"
)
View Source
const (
	//IsBottomPool 是保底奖池
	IsBottomPool = 1
	//CapsuleActionTrans 转换扭蛋
	CapsuleActionTrans = "trans"
)
View Source
const (
	// CapsuleGiftTypeAll gift_type 为全部道具
	CapsuleGiftTypeAll = 1
)

Variables

View Source
var (
	// CoinIdIntMap map
	CoinIdIntMap map[int64]string
	// CoinIdStringMap map
	CoinIdStringMap map[string]int64
	// ReprotConfig map
	ReprotConfig map[int64]string
	// PrizeNameMap map
	PrizeNameMap map[int64]string
	// PrizeExpireMap map
	PrizeExpireMap map[int64]string
	// UnLockGetWrong flag
	UnLockGetWrong = "UnLockGetWrong"
	// ErrUnLockGet error
	ErrUnLockGet = errors.New(UnLockGetWrong)
)
View Source
var AccountApi *account.Service3

AccountApi liverpc user api

View Source
var ErrEmptyMap = stderr.New("empty map")

ErrEmptyMap ErrEmptyMap

View Source
var GiftApi *giftApi.Client

GiftApi liverpc gift api

View Source
var RcApi *rcApi.Client

RcApi rc api

View Source
var UserExtApi *userExtApi.Client

UserExtApi userext api

Functions

func InitAPI

func InitAPI()

InitAPI init all service APIs

Types

type CapsuleCoinConf

type CapsuleCoinConf struct {
	Id          int64
	Title       string
	GiftType    int64
	ChangeNum   int64
	StartTime   int64
	EndTime     int64
	Status      int64
	GiftMap     map[int64]struct{}
	AreaMap     map[int64]struct{}
	PoolConf    *CapsulePoolConf
	AllPoolConf []*CapsulePoolConf
}

CapsuleCoinConf 扭蛋币配置

type CapsuleConf

type CapsuleConf struct {
	CoinConfMap map[int64]*CapsuleCoinConf
	CacheTime   int64
	ChangeFlag  int64
	RwLock      sync.RWMutex
}

CapsuleConf 扭蛋全局配置

type CapsulePoolConf

type CapsulePoolConf struct {
	Id                 int64
	CoinId             int64
	Title              string
	Rule               string
	StartTime, EndTime int64
	Status             int64
	IsBottom           int64
	PoolPrize          []*CapsulePoolPrize
}

CapsulePoolConf 奖池配置

type CapsulePoolPrize

type CapsulePoolPrize struct {
	Id, PoolId, Type, Num, ObjectId, Expire           int64
	Name, WebImage, MobileImage, Description, JumpUrl string
	ProType                                           int64
	Chance                                            int64
	LoopNum, LimitNum, Weight                         int64
	WhiteUserMap                                      map[int64]struct{}
}

CapsulePoolPrize 奖池奖品

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) AddAward

func (d *Dao) AddAward(ctx context.Context, uid int64, expireTime string, giftType int64, giftName string, giftNum int64, source string, sourceId int64) bool

AddAward .

func (*Dao) AddExtraData

func (d *Dao) AddExtraData(ctx context.Context, extraData []*model.ExtraData) (status bool, err error)

AddExtraData 添加数据

func (*Dao) AddNotice

func (d *Dao) AddNotice(ctx context.Context, uid, coinId, coinNum int64)

AddNotice 增加标记

func (*Dao) AddPoolPrize

func (d *Dao) AddPoolPrize(ctx context.Context, data *v1pb.UpdatePoolPrizeReq) (prizeId int64, err error)

AddPoolPrize 创建奖池奖品

func (*Dao) AddPrizeData

func (d *Dao) AddPrizeData(ctx context.Context, prizeId, uid int64, day string, timestamp int64) (status bool, err error)

AddPrizeData 添加特殊奖品获奖记录

func (*Dao) AddWhiteUser

func (d *Dao) AddWhiteUser(ctx context.Context, prizeId int64, uids []int64) (status bool, err error)

AddWhiteUser 添加白名单用户

func (*Dao) ClearNotice

func (d *Dao) ClearNotice(ctx context.Context, uid, coinId int64)

ClearNotice 清除标记

func (*Dao) ClearNoticeBoth

func (d *Dao) ClearNoticeBoth(ctx context.Context, uid int64)

ClearNoticeBoth 清除标记

func (*Dao) Close

func (d *Dao) Close()

Close close the resource.

func (*Dao) CreateCoin

func (d *Dao) CreateCoin(ctx context.Context, data *v1pb.UpdateCoinConfigReq) (ret int64, err error)

CreateCoin 更新扭蛋币

func (*Dao) CreatePool

func (d *Dao) CreatePool(ctx context.Context, data *v1pb.UpdatePoolReq) (status bool, err error)

CreatePool 新建奖池

func (*Dao) Del

func (d *Dao) Del(ctx context.Context, key string) (int64, error)

Del Del

func (*Dao) DelPool

func (d *Dao) DelPool(ctx context.Context, id int64) (rows int64, err error)

DelPool 删除奖池

func (*Dao) DeleteCoin

func (d *Dao) DeleteCoin(ctx context.Context, id int64) (status bool, err error)

DeleteCoin 删除扭蛋币

func (*Dao) DeletePoolPrize

func (d *Dao) DeletePoolPrize(ctx context.Context, id int64) (status bool, err error)

DeletePoolPrize 删除奖池奖品

func (*Dao) Expire

func (d *Dao) Expire(ctx context.Context, key string, ttl int) (bool, error)

Expire Expire

func (*Dao) FindBeatByBeatIDAndUID

func (d *Dao) FindBeatByBeatIDAndUID(id, uid int64) (*model.Beat, error)

FindBeatByBeatIDAndUID 根据beatid 和 uid 查询 beat

func (*Dao) FindShieldKeyWorkByUID

func (d *Dao) FindShieldKeyWorkByUID(uid int64) ([]*model.ShieldKeyWork, error)

FindShieldKeyWorkByUID 根据uid 查找屏蔽词

func (*Dao) Get

func (d *Dao) Get(ctx context.Context, key string) (string, error)

Get get

func (*Dao) GetAllCoin

func (d *Dao) GetAllCoin(ctx context.Context) (coins []*model.Coin, err error)

GetAllCoin 获取所有扭蛋币

func (*Dao) GetAllPool

func (d *Dao) GetAllPool(ctx context.Context) (pools []*model.Pool, err error)

GetAllPool 获取奖池信息

func (*Dao) GetBottomPrize

func (d *Dao) GetBottomPrize(ctx context.Context, coinConf *CapsuleCoinConf) (bottomPrize *CapsulePoolPrize)

GetBottomPrize 获取保底奖品

func (*Dao) GetCapsuleChangeFlag

func (d *Dao) GetCapsuleChangeFlag(ctx context.Context) (changeFlag int64, err error)

GetCapsuleChangeFlag 获取扭蛋配置变化标记

func (*Dao) GetCapsuleChangeInfo

func (d *Dao) GetCapsuleChangeInfo(ctx context.Context) (int64, int64)

GetCapsuleChangeInfo 获取扭蛋配置信息

func (*Dao) GetCapsuleConf

func (d *Dao) GetCapsuleConf(ctx context.Context) (conf map[int64]*CapsuleCoinConf, err error)

GetCapsuleConf 获取扭蛋币配置

func (*Dao) GetChangeNum

func (d *Dao) GetChangeNum(ctx context.Context, uid, coinId int64) int64

GetChangeNum 获取扭蛋变化数量

func (*Dao) GetCoin

func (d *Dao) GetCoin(score int64, coinConf *CapsuleCoinConf) (coinNum int64)

GetCoin 获取扭蛋数量

func (*Dao) GetCoinConfig

func (d *Dao) GetCoinConfig(ctx context.Context, coinId int64) (configs []*model.CoinConfig, err error)

GetCoinConfig 获取扭蛋币配置

func (*Dao) GetCoinConfigMap

func (d *Dao) GetCoinConfigMap(ctx context.Context, coinIds []int64) (configMap map[int64][]*model.CoinConfig, err error)

GetCoinConfigMap 批量获取扭蛋币

func (*Dao) GetCoinMap

func (d *Dao) GetCoinMap(ctx context.Context) (coinMap map[int64]*model.Coin, err error)

GetCoinMap 批量获取扭蛋币

func (*Dao) GetExpireTime

func (d *Dao) GetExpireTime(expire int64) time.Time

GetExpireTime 获取过期时间

func (*Dao) GetExtraDataByType

func (d *Dao) GetExtraDataByType(ctx context.Context, uid int64, types []string) (extraData []*model.ExtraData, err error)

GetExtraDataByType 添加数据

func (*Dao) GetGift

func (d *Dao) GetGift(ctx context.Context, coinId int64) (gift []*CapsulePoolPrize, err error)

GetGift 获取扭蛋奖池奖品

func (*Dao) GetInt64

func (d *Dao) GetInt64(ctx context.Context, key string) (int64, error)

GetInt64 GetInt64

func (*Dao) GetOpenCount

func (d *Dao) GetOpenCount(ctx context.Context, coinId int64) (cnt int64)

GetOpenCount 获取开奖次数

func (*Dao) GetOpenHistory

func (d *Dao) GetOpenHistory(c context.Context, coinType int64) (ret []*HistoryOpenInfo, err error)

GetOpenHistory 获取扭蛋币历史

func (*Dao) GetPoolById

func (d *Dao) GetPoolById(ctx context.Context, poolID int64) (pool *model.Pool, err error)

GetPoolById 通过ID获取奖池信息

func (*Dao) GetPoolMap

func (d *Dao) GetPoolMap(ctx context.Context, coinIds []int64) (poolMap map[int64][]*model.Pool, err error)

GetPoolMap 批量奖池信息

func (*Dao) GetPoolPrize

func (d *Dao) GetPoolPrize(ctx context.Context, poolID int64) (poolPrize []*model.PoolPrize, err error)

GetPoolPrize 获取奖池奖品

func (*Dao) GetPoolPrizeMap

func (d *Dao) GetPoolPrizeMap(ctx context.Context, poolIds []int64) (poolPrizeMap map[int64][]*model.PoolPrize, err error)

GetPoolPrizeMap 批量奖池奖品

func (*Dao) GetPrizeDayLog

func (d *Dao) GetPrizeDayLog(ctx context.Context, prizeId int64, day string) (prizeLog *model.PrizeLog, err error)

GetPrizeDayLog 获取特殊奖品记录

func (*Dao) GetProgress

func (d *Dao) GetProgress(score int64, coinConf *CapsuleCoinConf) (process *v1.Progress)

GetProgress 获取扭蛋币进度

func (*Dao) GetUserCapsuleInfo

func (d *Dao) GetUserCapsuleInfo(c context.Context, uid int64) (coinMap map[int64]int64, err error)

GetUserCapsuleInfo 获取扭蛋币积分

func (*Dao) GetUserInfo

func (d *Dao) GetUserInfo(c context.Context, uid, coinId int64) (coinMap map[int64]int64, err error)

GetUserInfo 获取扭蛋币详情

func (*Dao) GetUserPrizeLog

func (d *Dao) GetUserPrizeLog(ctx context.Context, prizeId int64, uid int64) (prizeLog *model.PrizeLog, err error)

GetUserPrizeLog 获取特殊奖品记录

func (*Dao) GetWhiteUserMap

func (d *Dao) GetWhiteUserMap(ctx context.Context, prizeIds []int64) (userMap map[int64][]int64, err error)

GetWhiteUserMap 获取白名单用户

func (*Dao) HGetAll

func (d *Dao) HGetAll(ctx context.Context, key string) (map[string]string, error)

HGetAll HGetAll

func (*Dao) HMSet

func (d *Dao) HMSet(ctx context.Context, key string, value interface{}) (bool, error)

HMSet HMSet

func (*Dao) Incr

func (d *Dao) Incr(context context.Context, name string) int

Incr incr

func (*Dao) IncrOpenCount

func (d *Dao) IncrOpenCount(ctx context.Context, coinId int64) (cnt int64)

IncrOpenCount 增加开奖次数

func (*Dao) InsertSpecialGift

func (d *Dao) InsertSpecialGift(sg *model.SpecialGift) (int64, error)

InsertSpecialGift 插入SpecialGift

func (*Dao) IsAwardCoupon

func (d *Dao) IsAwardCoupon(awardType int64) bool

IsAwardCoupon 是否是会员券

func (*Dao) IsAwardEntry

func (d *Dao) IsAwardEntry(awardType int64) bool

IsAwardEntry 是否是实物奖励

func (*Dao) IsPoolOpen

func (d *Dao) IsPoolOpen(coinConf *CapsuleCoinConf, coinId int64) bool

IsPoolOpen 判断扭蛋池是否开启

func (*Dao) Lock

func (d *Dao) Lock(ctx context.Context, realKey string, ttl int, retry int, retryDelay int) (gotLock bool, lockValue string, err error)

Lock .

func (*Dao) LogAward

func (d *Dao) LogAward(ctx context.Context, uid int64, coinId int64, awards []*CapsulePoolPrize)

LogAward 记录抽奖奖励

func (*Dao) OpenCapsule

func (d *Dao) OpenCapsule(ctx context.Context, uid int64, coinConf *CapsuleCoinConf, iTime, openCount int64, isGetFixAward bool, entryMap map[int64]bool) (award *CapsulePoolPrize)

OpenCapsule 开启扭蛋

func (*Dao) PayCapsule

func (d *Dao) PayCapsule(ctx context.Context, uid int64, coinConf *CapsuleCoinConf, openCount int64, action, platform string) (status int64, pInfo map[int64]int64, err error)

PayCapsule 支付扭蛋币

func (*Dao) PayCoin

func (d *Dao) PayCoin(ctx context.Context, uid int64, coinConf *CapsuleCoinConf, openCount int64, action, platform string) (status int64, pInfo map[int64]int64, err error)

PayCoin 支付扭蛋币

func (*Dao) Ping

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

Ping dao ping

func (*Dao) RelaodCapsuleConfig

func (d *Dao) RelaodCapsuleConfig(ctx context.Context, changeFlag int64) (conf map[int64]*CapsuleCoinConf, err error)

RelaodCapsuleConfig 重新加载扭蛋配置

func (*Dao) ReportCapsuleChange

func (d *Dao) ReportCapsuleChange(ctx context.Context, coinId, uid, score int64, action, platform string, pInfo, cInfo map[int64]int64, coinConf *CapsuleCoinConf) bool

ReportCapsuleChange 扭蛋流水

func (*Dao) SAdd

func (d *Dao) SAdd(ctx context.Context, key, value string) (int, error)

SAdd SAdd

func (*Dao) SIsMember

func (d *Dao) SIsMember(ctx context.Context, key, value string) (bool, error)

SIsMember SIsMember

func (*Dao) Set

func (d *Dao) Set(ctx context.Context, key string, value interface{}) (bool, error)

Set Set

func (*Dao) SetCapsuleChangeFlag

func (d *Dao) SetCapsuleChangeFlag(ctx context.Context) (status string, err error)

SetCapsuleChangeFlag 设置扭蛋配置变化标记

func (*Dao) SetEx

func (d *Dao) SetEx(ctx context.Context, key string, value interface{}, ex int) (bool, error)

SetEx SetEx

func (*Dao) SetWithNxEx

func (d *Dao) SetWithNxEx(ctx context.Context, key, value string, ex int64) (string, error)

SetWithNxEx SetWithNxEx

func (*Dao) UnLock

func (d *Dao) UnLock(ctx context.Context, realKey string, lockValue string) (err error)

UnLock .

func (*Dao) UpdateCapsule

func (d *Dao) UpdateCapsule(ctx context.Context, uid, coinId, score int64, action, platform string, coinConf *CapsuleCoinConf) (affect int64, err error)

UpdateCapsule 更新扭蛋币积分

func (*Dao) UpdateCoin

func (d *Dao) UpdateCoin(ctx context.Context, data *v1pb.UpdateCoinConfigReq) (status bool, err error)

UpdateCoin 更新扭蛋币

func (*Dao) UpdateCoinConfig

func (d *Dao) UpdateCoinConfig(ctx context.Context, coinId int64, areaIds []*v1pb.UpdateCoinConfigReq_AreaIds, giftIds []int64) (status bool, err error)

UpdateCoinConfig 更新扭蛋币配置

func (*Dao) UpdateCoinStatus

func (d *Dao) UpdateCoinStatus(ctx context.Context, id int64, status int64) (bool, error)

UpdateCoinStatus 更新扭蛋币状态

func (*Dao) UpdateExtraValue

func (d *Dao) UpdateExtraValue(ctx context.Context, uid int64, etype string, itemValue int64) (status bool, err error)

UpdateExtraValue 更新数据

func (*Dao) UpdatePool

func (d *Dao) UpdatePool(ctx context.Context, data *v1pb.UpdatePoolReq) (status bool, err error)

UpdatePool 更新奖池

func (*Dao) UpdatePoolPrize

func (d *Dao) UpdatePoolPrize(ctx context.Context, data *v1pb.UpdatePoolPrizeReq) (status bool, err error)

UpdatePoolPrize 更新奖池奖品

func (*Dao) UpdatePoolStatus

func (d *Dao) UpdatePoolStatus(ctx context.Context, id int64, status int64) (bool, error)

UpdatePoolStatus 更新奖池状态

func (*Dao) UpdateScore

func (d *Dao) UpdateScore(ctx context.Context, uid, coinId, score int64, action, platform string, coinConf *CapsuleCoinConf) (affect int64, err error)

UpdateScore 更新扭蛋币积分

type HistoryOpenInfo

type HistoryOpenInfo struct {
	Uid  int64  `json:"uid"`
	Name string `json:"name"`
	Date string `json:"date"`
	Num  int64  `json:"num"`
}

HistoryOpenInfo 开奖历史

Jump to

Keyboard shortcuts

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