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

553 lines
26 KiB

package common
import (
"fmt"
"time"
)
// 分享配置
type ConfigShareSys struct {
ID int `gorm:"primarykey"`
WithdrawLimit int64 `gorm:"column:withdraw_limit;type:bigint(20);default:100;comment:最低领取数额" web:"withdraw_limit"`
ShareRecharge int64 `gorm:"column:share_recharge;type:bigint(20);default:2000;comment:有效玩家充值需求" web:"share_recharge"`
ShareReward int64 `gorm:"column:share_reward;type:bigint(20);default:1000;comment:分享有效玩家奖励" web:"share_reward"`
FakeInviteReward int64 `gorm:"column:fake_invite_reward;type:bigint(20);default:1250000000;comment:虚拟邀请奖励" web:"fake_invite_reward"`
FakeBetReward int64 `gorm:"column:fake_bet_reward;type:bigint(20);default:980000000;comment:虚拟投注奖励" web:"fake_bet_reward"`
}
func (c *ConfigShareSys) TableName() string {
return "config_share_sys"
}
// 绑定关系
type ShareInfo struct {
ID int `gorm:"primarykey"`
UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"`
CreateTime int64 `gorm:"column:create_time;type:bigint(20);index:ct;default:0;comment:创建时间"`
Exp int64 `gorm:"column:exp;default:0;type:int(11);comment:当前经验值"`
Level int `gorm:"column:level;default:1;type:int(11);comment:等级"`
LastLevel int `gorm:"column:last_level;default:1;type:int(11);comment:上次查看时的等级"`
Share string `gorm:"column:share;not null;type:varchar(64);uniqueIndex:share;comment:分享码"`
UP1 int `gorm:"column:up1;type:int(11);default:0;comment:上1级"`
UP2 int `gorm:"column:up2;type:int(11);default:0;comment:上2级"`
UP3 int `gorm:"column:up3;type:int(11);default:0;comment:上3级"`
UP4 int `gorm:"column:up4;default:0;type:int(11);comment:上4级"`
UP5 int `gorm:"column:up5;default:0;type:int(11);comment:上5级"`
UpInviteReward int64 `gorm:"column:up_invite_reward;default:0;type:int(11);comment:为上级创造的邀请奖励"`
UpInviteUnlock int64 `gorm:"column:up_invite_Unlock;default:0;type:int(11);comment:为上级已解锁的邀请奖励"`
Down1 int64 `gorm:"column:down1;default:0;type:int(11);comment:下1级数量"`
Down2 int64 `gorm:"column:down2;default:0;type:int(11);comment:下2级数量"`
Down3 int64 `gorm:"column:down3;default:0;type:int(11);comment:下3级数量"`
Down4 int64 `gorm:"column:down4;default:0;type:int(11);comment:下4级数量"`
Down5 int64 `gorm:"column:down5;default:0;type:int(11);comment:下5级数量"`
CalLoseValue int64 `gorm:"column:cal_lose_value;default:0;type:bigint(20);comment:用于计算客损的额度"`
PopWithdraw int `gorm:"pop_withdraw;default:0;type:tinyint(4);comment:是否弹出过退出"`
ChannelID int `gorm:"column:channel_id;type:int(11);default:0;comment:渠道id"`
RechargeAmount int64 `gorm:"column:recharge_amount;type:bigint(20);default:0;comment:充值金额"`
UpList []int `gorm:"-"`
Reward int64 `gorm:"column:reward;default:0;type:bigint(20);comment:总奖励"`
Withdrawable int64 `gorm:"column:withdrawable;default:0;type:bigint(20);comment:可退出奖励"`
BetAmount int64 `gorm:"column:bet_amount;type:bigint(20);default:0;comment:下注金额"`
BetAmountTeam int64 `gorm:"column:bet_amount_team;type:bigint(20);default:0;comment:团队下注金额"`
}
func (a *ShareInfo) TableName() string {
return "share_info"
}
type ShareDetail struct {
ID int `gorm:"primarykey"`
Type int `gorm:"column:type;not null;default:0;type:int(11);"`
UID int `gorm:"column:uid;not null;type:int(11);"`
Up int `gorm:"column:up;type:int(11);default:0;comment:上级"`
Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:获取奖励"`
RechargeAmount int64 `gorm:"column:recharge_amount;type:bigint(20);default:0;comment:充值金额"`
Time int64 `gorm:"column:time;type:bigint(20);default:0;comment:时间"`
}
func (m *ShareDetail) TableName() string {
return "share_detail"
}
// 绑定关系
// type ShareInfo struct {
// ID int `gorm:"primarykey"`
// UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"`
// Share string `gorm:"column:share;not null;type:varchar(64);uniqueIndex:share;comment:分享码"`
// UP int `gorm:"column:up;not null;type:int(11);comment:上级"`
// Level int `gorm:"column:level;default:1;type:int(11);comment:等级"`
// ChannelID int `gorm:"column:channel_id;type:bigint(20);comment:渠道id"`
// Bet int64 `gorm:"column:bet;type:bigint(20);default:0;comment:待结算下注额,结算后会清零"`
// TodayBet int64 `gorm:"column:today_bet;type:bigint(20);default:0;comment:今日总下注"`
// TotalBet int64 `gorm:"column:total_bet;type:bigint(20);default:0;comment:总下注"`
// TodayAgentsBet int64 `gorm:"column:today_agents_bet;type:decimal(38);default:0;comment:团队今日下注"`
// TotalAgentsBet int64 `gorm:"column:total_agents_bet;type:decimal(38);default:0;comment:团队总下注"`
// TodayAgents int64 `gorm:"column:today_agents;type:bigint(20);default:0;comment:今日下级数量"`
// TotalAgents int64 `gorm:"column:total_agents;type:bigint(20);default:0;comment:总下级数量"`
// TodayRealAgents int64 `gorm:"column:today_real_agents;type:bigint(20);default:0;comment:今日有效下级数量"`
// TotalRealAgents int64 `gorm:"column:total_real_agents;type:bigint(20);default:0;comment:总有效下级数量"`
// TodayReward int64 `gorm:"column:today_reward;type:bigint(20);default:0;comment:今日佣金"`
// TotalReward int64 `gorm:"column:total_reward;type:bigint(20);default:0;comment:总佣金"`
// TodayUpReward int64 `gorm:"column:today_up_reward;type:bigint(20);default:0;comment:今日给上级创造的佣金"`
// AvailableReward int64 `gorm:"column:available_reward;type:bigint(20);default:0;comment:可支配佣金"`
// Time int64 `gorm:"column:time;type:bigint(20);default:0;comment:加入的时间"`
// }
type ShareActivityCode struct {
Id int `gorm:"column:id;type:int(11) AUTO_INCREMENT;primary_key;" json:"id"`
UID int `gorm:"column:uid;type:int(11);index:idx_share;comment:玩家ID" json:"uid"`
ShareCode string `gorm:"column:share_code;type:varchar(255);index:idx_share;comment:分享码" json:"share_code"`
ActivityId int `gorm:"column:activity_id;type:int(11);index:idx_share;comment:关联活动ID" json:"activity_id"`
Reward string `gorm:"column:reward;type:varchar(255);index:idx_share;comment:分享码" json:"reward"`
ValidNum int `gorm:"column:valid_num;type:int(11);index:idx_share;comment:有效次数" json:"valid_num"`
CreateAt int64 `gorm:"column:create_at;type:bigint(20);comment:创建时间" json:"create_at"`
ExpireAt int64 `gorm:"column:expire_at;type:bigint(20);comment:过期时间" json:"expire_at"`
}
func (m *ShareActivityCode) TableName() string {
return "share_act_code"
}
type ShareOrder struct {
ID int `gorm:"primarykey"`
UID int `gorm:"column:uid;not null;type:int(11)"`
CreateTime int64 `gorm:"column:create_time;type:bigint(20);comment:创建时间"`
ExamineTime int64 `gorm:"column:examine_time;type:bigint(20);default:0;comment:审核时间"`
OrderID string `gorm:"column:orderid;not null;type:varchar(255);uniqueIndex:orderid;comment:本地ID"`
Amount int64 `gorm:"column:amount;not null;type:bigint(20);comment:单位8位小数"`
ChannelID int `gorm:"column:channel_id;type:bigint(20);comment:渠道id"`
Status int `gorm:"column:status;not null;type:tinyint(4);comment:1新建,2支付完成,3发货完成,4支付失败,5取消"`
}
func (a *ShareOrder) TableName() string {
return "share_order"
}
// 机器人
type ConfigShareRobot struct {
ID int `gorm:"primarykey"`
RobotID int `gorm:"column:robot_id;type:int(11);default:0" web:"robot_id"`
Avatar string `gorm:"column:avatar;type:varchar(255);default:''" web:"avatar"`
Nick string `gorm:"column:nick;type:varchar(255);default:''" web:"nick"`
InitCash int64 `gorm:"column:init_cash;type:bigint(20);default:0;comment:初始金币" web:"init_cash"`
DayCashDown int64 `gorm:"column:day_cash_down;type:bigint(20);default:0;comment:每日增加金币数下限" web:"day_cash_down"`
DayCashUp int64 `gorm:"column:day_cash_up;type:bigint(20);default:0;comment:每日增加金币数上限" web:"day_cash_up"`
}
func (c *ConfigShareRobot) TableName() string {
return "config_share_robot"
}
type ConfigShareRankReward struct {
ID int `gorm:"primarykey"`
StartLevel int `gorm:"column:start_level;type:int(11);default:0;comment:开始等级" web:"start_level"`
EndLevel int `gorm:"column:end_level;type:int(11);default:0;comment:结束等级" web:"end_level"`
Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:奖励金额" web:"reward"`
isOpen int `gorm:"column:is_open;type:int(11);default:0;comment:是否外放" web:"is_open"`
}
func (c *ConfigShareRankReward) TableName() string {
return "config_share_rank_reward"
}
type ConfigShareRankRule struct {
ID int `gorm:"primarykey"`
Day int `gorm:"column:day;type:int(11);default:0;comment:天数" web:"day"`
StartInterval int64 `gorm:"column:start_interval;type:bigint(20);default:0;comment:开始间隔" web:"start_interval"`
EndInterval int64 `gorm:"column:end_interval;type:bigint(20);default:0;comment:结束间隔" web:"end_interval"`
IncrNum int64 `gorm:"column:incr_num;type:bigint(20);default:0;comment:增长人数" web:"incr_num"`
StartIncrTimes int64 `gorm:"column:start_incr_times;type:bigint(20);default:0;comment:增长次数" web:"start_incr_times"`
EndIncrTimes int64 `gorm:"column:end_incr_times;type:bigint(20);default:0;comment:增长次数" web:"end_incr_times"`
}
func (c *ConfigShareRankRule) TableName() string {
return "config_share_rank_rule"
}
const (
ShareEvent = iota
// ShareEventDaily // 每日活动
ShareEventInvitation // 邀请奖励
ShareEventRecharge // 充值返利
ShareEventAffiliate // 客损返利
ShareEventOther // 活动、签到等归此类
// ShareEventBet // 下注返回
)
// ConfigShareTaskNew 分享新手任务
type ConfigShareTaskNew struct {
ID int `gorm:"primarykey"`
TaskID int `gorm:"column:task_id;type:int(11);default:1;uniqueIndex:task_id;comment:任务编号" web:"task_id"`
Type int `gorm:"column:type;type:int(11);default:2;comment:任务类型" web:"type"`
Condition int `gorm:"column:condition;type:int(11);default:0;comment:任务条件,玩牌对应游戏id" web:"condition"`
Target int64 `gorm:"column:target;type:int(11);default:1;comment:任务目标" web:"target"`
Reward int64 `gorm:"column:reward;type:int(11);default:0;comment:任务奖励" web:"reward"`
}
func (c *ConfigShareTaskNew) TableName() string {
return "config_share_task_new"
}
const (
ShareTaskNewTypeZero = iota
ShareTaskNewTypeFirst // 首次任务
ShareTaskNewTypeInvite // 邀请注册任务
ShareTaskNewTypeRecharge // 邀请下级用户充值任务
ShareTaskNewTypeAll
)
type ShareTaskNewData struct {
ID int `gorm:"primarykey"`
UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:ut"`
TaskID int `gorm:"column:task_id;type:int(11);default:1;uniqueIndex:ut;comment:当前任务id"`
Type int `gorm:"column:type;type:int(11);default:1;comment:任务类型"`
Condition int `gorm:"column:condition;type:int(11);default:0;comment:任务条件,玩牌对应游戏id"`
Progress int64 `gorm:"column:progress;type:int(11);default:0;comment:任务进度"`
Target int64 `gorm:"column:target;type:int(11);default:1;comment:任务目标"`
Reward int64 `gorm:"column:reward;type:int(11);default:0;comment:任务奖励"`
Status int `gorm:"column:status;type:int(11);default:0;comment:状态 0未领取 1已领取"`
}
func (c *ShareTaskNewData) TableName() string {
return "share_task_new_data"
}
func (c *ShareTaskNewData) GetDesc() string {
switch c.Type {
case ShareTaskNewTypeFirst:
return "First Check in"
case ShareTaskNewTypeInvite:
str := fmt.Sprintf("Successfully invited %d player", c.Target)
if c.Target > 1 {
str += "s"
}
return str
case ShareTaskNewTypeRecharge:
str := fmt.Sprintf("Recharge for %d invited player", c.Target)
if c.Target > 1 {
str += "s"
}
return str
default:
return ""
}
}
type ConfigShareTiers struct {
Tier int // 层级
Per int64 // 分成比例
}
// 分享配置
type ConfigShare struct {
ID int `gorm:"primarykey"`
Level int `gorm:"column:level;type:int(11);default:0;comment:代理等级" web:"level"`
InviteExp int `gorm:"column:invite_exp;type:int(11);default:0;comment:邀请人数" web:"invite_exp"`
BetExp int `gorm:"column:bet_exp;type:int(11);default:0;comment:下注数" web:"bet_exp"`
BetRebate int64 `gorm:"column:bet_rebate;type:int(11);default:0;comment:客损返利(*1万)" web:"bet_rebate"`
RechargeRebate int64 `gorm:"column:recharge_rebate;type:int(11);default:0;comment:充值返利(*1万)" web:"recharge_rebate"`
InviteRebate int64 `gorm:"column:invite_rebate;type:int(11);default:0;comment:拉人奖励" web:"invite_rebate"`
RewardTiers string `gorm:"column:reward_tiers;type:varchar(256);default:'[]';comment:返利层级配置" web:"reward_tiers"`
SubRewardTiers []ConfigShareTiers `gorm:"-"`
SubRewardTiersMap map[int]ConfigShareTiers `gorm:"-"`
DayWithdrawCount int `gorm:"column:day_withdraw_count;type:int(11);default:3;comment:日退出次数" web:"day_withdraw_count"`
WithdrawAudit int64 `gorm:"column:withdraw_audit;type:int(11);default:50000;comment:退出审核金额" web:"withdraw_audit"`
}
func (c *ConfigShare) TableName() string {
return "config_share"
}
func (c *ConfigShare) CalReward(event int, amount int64) int64 {
switch event {
case ShareEventInvitation:
return c.InviteRebate
case ShareEventRecharge:
return amount * c.RechargeRebate / 10000
case ShareEventAffiliate:
return amount * c.BetRebate / 10000
default:
return 0
}
}
func (c *ConfigShare) GetLevelUpInfo() LevelUpInfo {
info := LevelUpInfo{}
info.Level = c.Level
info.Invitation = fmt.Sprintf("%drs/person", c.InviteRebate)
// todo
//info.RechargeCommission = fmt.Sprintf("%d", c.RechargeReward+c.AffiliateReward) + "%"
tmp := ""
for i, v := range c.SubRewardTiers {
this := ""
switch v.Tier {
case 1:
this = "A"
case 2:
this = "B"
case 3:
this = "C"
case 4:
this = "D"
case 5:
this = "E"
}
tmp += this
if i != len(c.SubRewardTiers)-1 {
tmp += "+"
}
}
info.CommissionFromAffiliate = fmt.Sprintf("Lv%d(%s)", info.Level, tmp)
return info
}
type LevelUpInfo struct {
Level int
Invitation string
RechargeCommission string
CommissionFromAffiliate string
}
const (
ShareAffiliatePer = 80 // 客损计算比例
ShareRankMaxNum = 100 // 排行榜最大个数
)
const (
ShareRankTypeDaily = iota
ShareRankTypeWeekly
ShareRankTypeMonthly
)
// 分享排行榜
type ShareRank struct {
ID int `gorm:"primarykey"`
UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:ut"`
Type int `gorm:"column:type;type:int(11);default:0;uniqueIndex:ut;comment:类型 0日榜 1周榜 2月榜"`
Time int64 `gorm:"column:time;type:bigint(20);default:0;uniqueIndex:ut;comment:创建时间"`
Avatar string `gorm:"column:avatar;type:varchar(256);default:''"`
Nick string `gorm:"column:nick;type:varchar(256);default:''"`
Level int `gorm:"column:level;type:int(11);default:0;comment:等级"`
Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:奖励"`
Rank int `gorm:"-"`
}
func (c *ShareRank) TableName() string {
return "share_rank"
}
type ConfigShareLimitTask struct {
ID int `gorm:"primarykey"`
PN int `gorm:"column:pn;type:int(11);default:0;comment:包类别" web:"pn"`
Channel int `gorm:"column:channel;type:int(11);default:0;comment:渠道" web:"channel"`
Level int `gorm:"column:level;type:int(11);default:0;comment:等级" web:"level"`
Time int64 `gorm:"column:time;type:int(11);default:4320;comment:完成时限,单位分钟" web:"time"`
Reward int64 `gorm:"column:reward;type:int(11);default:0;comment:任务奖励" web:"reward"`
}
func (c *ConfigShareLimitTask) TableName() string {
return "config_share_limit_task"
}
type ShareLimitTaskData struct {
ID int `gorm:"primarykey"`
UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:ul"`
Level int `gorm:"column:level;type:int(11);default:1;uniqueIndex:ul;comment:当前任务等级"`
CreateTime int64 `gorm:"column:create_time;type:bigint(20);default:0;comment:创建时间"`
Time int64 `gorm:"column:time;type:int(11);default:4320;comment:完成时限,单位分钟"`
Reward int64 `gorm:"column:reward;type:int(11);default:0;comment:任务奖励"`
Status int `gorm:"column:status;type:int(11);default:0;comment:状态 0未领取 1已领取"`
}
func (c *ShareLimitTaskData) TableName() string {
return "share_limit_task_data"
}
func (c *ShareLimitTaskData) IsValid() bool {
if c.ID == 0 {
return false
}
return c.Status == 0 && c.CreateTime+c.Time*60-time.Now().Unix() > 0
}
type ShareWithdrawInfo struct {
ID int `gorm:"primarykey;autoIncrement:true"`
UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"`
DayCount int `gorm:"column:day_count;type:int(11);default:0;comment:日退出次数"`
DayTime int64 `gorm:"column:day_time;type:bigint(20);default:0;comment:日退出时间标记"`
Record string `gorm:"column:record;type:varchar(256);default:'';comment:已退出金额标记"`
TotalWithdraw int64 `gorm:"column:total_withdraw;type:int(11);default:0;comment:已退出总数"`
SubRecord map[int64]int `gorm:"-"`
}
func (c *ShareWithdrawInfo) TableName() string {
return "share_withdraw_info"
}
// 退出商品配置
type ConfigShareWithdrawProducts struct {
ID int `gorm:"primarykey;autoIncrement:true"`
PN int `gorm:"column:pn;type:int(11);default:0;comment:包类别" web:"pn"`
Channel int `gorm:"column:channel;type:int(11);default:0;comment:渠道" web:"channel"`
ProductID int `gorm:"column:product_id;type:int(11);default:0;comment:商品id" web:"product_id"`
Amount int64 `gorm:"column:amount;type:int(11);default:0;comment:金额" web:"amount"`
Count int `gorm:"column:count;type:int(11);default:0;comment:可使用次数,-1为不限制" web:"count"`
}
func (c *ConfigShareWithdrawProducts) TableName() string {
return "config_share_withdraw_products"
}
type ConfigShareBanner struct {
ID int `gorm:"primarykey;autoIncrement:true"`
Sort int `gorm:"column:sort;type:int(11);default:1;comment:排序" web:"sort"`
URL string `gorm:"column:url;type:varchar(256);default:'';comment:图片地址" web:"url"`
Desc string `gorm:"column:desc;type:varchar(256);default:'';comment:分享文案" web:"desc"`
SearchWord string `gorm:"column:search_word;type:varchar(512);default:'';comment:google search word" web:"search_word"`
}
func (c *ConfigShareBanner) TableName() string {
return "config_share_banner"
}
type ShareRewardData struct {
ID int `gorm:"primarykey;autoIncrement:true"`
UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:ut"`
Time int64 `gorm:"column:time;type:bigint(20);default:0;uniqueIndex:ut;comment:创建时间"`
Date string `gorm:"column:date;type:varchar(256);default:''"`
PopTime int64 `gorm:"column:pop_time;type:bigint(20);default:0;comment:弹出时间"`
TotalReward int64 `gorm:"column:total_reward;type:int(11);default:0;comment:总奖励"`
InviteReward int64 `gorm:"column:invite_reward;type:int(11);default:0;comment:邀请奖励"`
RechargeReward int64 `gorm:"column:recharge_reward;type:int(11);default:0;comment:充值返利"`
AffiliateReward int64 `gorm:"column:affiliate_reward;type:int(11);default:0;comment:下级返利"`
OtherReward int64 `gorm:"column:other_reward;type:int(11);default:0;comment:活动、签到等"`
}
func (c *ShareRewardData) TableName() string {
return "share_reward_data"
}
func (c *ShareRewardData) SetReward(shareEvent int, reward int64) {
switch shareEvent {
case ShareEventInvitation:
c.InviteReward += reward
case ShareEventRecharge:
c.RechargeReward += reward
case ShareEventAffiliate:
c.AffiliateReward += reward
case ShareEventOther:
c.OtherReward += reward
}
c.TotalReward += reward
}
func (c *ShareRewardData) GetRewardName(shareEvent int) string {
switch shareEvent {
case ShareEventInvitation:
return "invite_reward"
case ShareEventRecharge:
return "recharge_reward"
case ShareEventAffiliate:
return "affiliate_reward"
case ShareEventOther:
return "other_reward"
default:
return ""
}
}
// ESShareBalance 分享流水
// Time 时间戳
// Event 事件
// FriendUID 奖励来源玩家uid
// FriendNick 奖励来源玩家nick
// Phone 奖励来源玩家手机号
// AmountType 奖励类型
// Amount 数量
// RefererUID 分享者UID
// RefererNick 分享者昵称
// Level 分享等级
type ESShareBalance struct {
Date string
Time int64
Event int
FriendUID int
FriendNick string
Phone string
AmountType int
Amount int64
RefererUID int
RefererNick string
Level int
Balance int64
}
type ShareReward struct {
ID int `gorm:"primarykey;autoIncrement:true"`
UID int `gorm:"column:uid;not null;type:int(11)"`
UpLevel int `gorm:"column:up_level;type:int(11);default:0"`
RewardType int `gorm:"column:reward_type;type:int(11);default:0;comment:奖励类型(1:下注,2:充值,3:任务,4:邀请人,5:提现)"`
RewardCount int64 `gorm:"column:reward_count;type:int(11);default:0;comment:奖励数量"`
RewardDesc string `gorm:"column:reward_desc;type:varchar(256);default:'奖励描述'"`
RewardAt int64 `gorm:"column:reward_at;type:int(11);default:0;comment:奖励时间"`
}
func (c *ShareReward) TableName() string {
return "share_reward"
}
type ConfigShareRankAward struct {
ID int `gorm:"primarykey;autoIncrement:true"`
ShareRankType int `gorm:"column:share_rank_type;type:int(11);default:2;comment:分享排行榜类型(1:日,2:周,3:月)" web:"share_rank_type"`
RankAwards string `gorm:"column:rank_awards;type:text;comment:排行榜奖励信息(复用打码排行榜奖励格式)" web:"rank_awards"`
}
func (c *ConfigShareRankAward) TableName() string {
return "config_share_rank_award"
}
type ShareRankData struct {
ID int64 `gorm:"column:id;type:bigint(20);primaryKey;autoIncrement:true" json:"id"`
UID int `gorm:"column:uid;type:bigint(11);not null;uniqueIndex:rank_idx,priority:3;comment:玩家id" json:"uid"` // 玩家id
RankCycle int `gorm:"column:rank_cycle;type:int(11);default:0;uniqueIndex:rank_idx,priority:1;comment:排行榜周期(1:日,2:周,3:月)" json:"rank_cycle"` // 排行榜周期(1:日,2:周,3:月)
RankAt int64 `gorm:"column:rank_at;type:bigint(20);not null;uniqueIndex:rank_idx,priority:2;comment:排行榜开始日期" json:"rank_at"` // 排行榜开始日期
RankValue int64 `gorm:"column:rank_value;type:bigint(20);not null;comment:玩家数值" json:"rank_value"` // 玩家数值
IsRobot int `gorm:"column:is_robot;type:int(11);not null;comment:是不是机器人(0:不是,1:是)" json:"is_robot"` // 是不是机器人(0:不是,1:是)
UserAward int `gorm:"column:user_award;type:int(11);not null;comment:玩家奖励比例(*10000)" json:"user_award"` // 玩家奖励比例(*10000)
UserAwardCount int64 `gorm:"column:user_award_count;type:bigint(20);not null;comment:玩家奖励数量" json:"user_award_count"` // 玩家奖励数量
Rank int `gorm:"column:rank;type:int(11);default:0;comment:排名" json:"rank"` // 玩家奖励比例(*10000)
UpdatedAt int64 `gorm:"column:updated_at;type:bigint(20);not null;comment:更新时间" json:"updated_at"` // 更新时间
}
type ShareRankDataWithUser struct {
ShareRankData `gorm:"embedded"` // RankData的所有字段会展开到表中
UserInfo PlayerDBInfo `gorm:"embedded"` // UserInfo的所有字段也会展开到同一张表中
}
func (c *ShareRankData) TableName() string {
return "share_rank_data"
}
type LuckyWheelReward struct {
ID int `gorm:"primarykey;autoIncrement:true"`
UID int `gorm:"column:uid;not null;type:int(11)"`
Nick string `gorm:"column:nick;type:varchar(256);default:''"`
LuckyType int `gorm:"column:lucky_type;type:int(11);default:0"`
AwardType int `gorm:"column:award_type;type:int(11);default:1"`
AwardCount int `gorm:"column:award_count;type:int(11);default:0"`
SpeAwardType int `gorm:"column:spe_award_type;type:int(11);default:0"`
SpeAwardCount int `gorm:"column:spe_award_count;type:int(11);default:0"`
UpdatedAt int64 `gorm:"column:updated_at;type:int(11);default:0;comment:奖励时间"`
}
func (c *LuckyWheelReward) TableName() string {
return "lucky_wheel_reward"
}