You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.4 KiB
Go

package config
import (
"github.com/zeromicro/go-zero/core/logx"
"github.com/zeromicro/go-zero/zrpc"
)
type (
Kafka struct {
Addr []string // 连接地址
Topic string
}
GiftPack struct {
PackType string // 礼包类型
PackName string // 礼包名称
// Condition 领取条件
Condition struct {
UserLimit int32 // 单人可领取数量
UserResetType string `json:",optional"` // 用户礼包重置类型: 不重置(unset)|每天(daily)|每周(weekly)|每月(monthly)
StartTime string // 可领取时间(开始) 两个时间相等则不限期领取
EndTime string // 可领取时间(结束)
}
// Content 礼包内容
Content struct {
Integral int64 `json:",default=0"` // 积分数
Integrals []int64 `json:",optional"` // 积分数(多次领取,每次不同)
// Title 奖励称号列表
Title []struct {
Id int64 // 称号ID
Duration int64 // 持续时长,单位: 秒 -1无限
} `json:",optional"`
}
}
// Config 配置
Config struct {
zrpc.RpcServerConf
Log logx.LogConf
DB struct {
DataSource string
}
// Kafka 消息队列配置
Kafka struct {
UserNotify Kafka // 用户信息通知队列
RankUpdate Kafka // 排行榜更新通知队列
RewardPool Kafka // 奖池通知
}
UserRetriever struct {
Enabled bool // 是否开启
UpdateDuration int64 // 用户信息更新最短间隔 单位 h
NobilityPlatforms []string // 需要获取贵族的平台
Cron struct {
PlatformUser string
Nobility string
}
Bilibili struct {
RoomId int64 // 直播房间号
Mid int64 `json:",optional"` // 主播UID 不输入就通过API获取
RoomShortInfoApi string // 房间简短信息API
TopListApi string
}
}
Rank struct {
Enabled bool // 是否开启
Cron struct {
Update string // 更新榜单
Persistence string // 持久化
}
}
GiftCollector struct {
Enabled bool // 是否开启
Platforms []string // 需搜集的平台
Cron struct {
CollectGift string
}
}
// 弹币
Coin struct {
RMBToCoin float64 // RMB到弹币的转换
GiftToRMB map[string]float64 // 平台礼物到RMB的转换
FreeToCoin map[string]float64 // 平台免费礼物到弹币的转换
}
Integral struct {
// CheckIn 签到
CheckIn struct {
Points []int64 // 签到积分 次数分数
Critical float32 // 暴击率(百分比)
CriticalRadio []float32 // 暴击倍数
}
// 战局积分
BattleReport struct {
GeneralIntegral int64 // 名将积分
WinRadio float64 // 获胜方积分因子 乘法
LostRadio float64 // 失败方积分因子 乘法
}
// 奖池
RewardPool struct {
InitReward int64 // 奖池初始积分
Ratio float64 // 奖池结算比例
GiftRatio float64 // 礼物算入奖池比例
BattleRatio float64 // 战斗消耗积分算入奖池比例
ReturnRatio float64 // 回收积分比例
WelfareRatio float64 // 福利池从奖金扣除比例
}
RMBToIntegral float64 // RMB到弹币的转换
GiftToRMB map[string]float64 // 平台礼物到RMB的转换
FreeToIntegral map[string]float64 // 平台免费礼物到弹币的转换
}
// GiftPack 礼包配置
GiftPackMap []GiftPack
}
)