package common import ( "database/sql/driver" "encoding/json" "errors" "time" ) const ( ActivityID = iota + 10000 ActivityIDRecharge // 首充活动 ActivityIDAppSpin // 下载转盘活动 ActivityIDPDD // pdd活动 ActivityIDFreeSpin // 每日免费转盘 ActivityIDFirstRechargeBack // 首日充值返还 ActivityIDLuckyCode // 幸运码活动 ActivityIDSign // 签到活动 ActivityIDBreakGift // 破产礼包 ActivityIDWeekCard // 周卡 ActivityIDSlots // slots奖池活动 ActivityIDLuckyShop // 幸运商店活动 ActivityIDSevenDayBox // 7日签到宝箱 ActivityIDSuper // 超级1+2 ActivityIDBetDraw // 下注抽奖活动 ActivityIDInviteRank // 邀请排行榜 ActivityIDShare // 分享裂变 ) const ( ActivityDataZero = iota ActivityDataClick ActivityDataJoin ActivityDataAll ) // ConfigBanner banner配置 type ConfigBanner struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID" web:"id"` ActivityID int `gorm:"column:activity_id;type:int(11);default:0" json:"ActivityID" web:"activity_id"` Sort int `gorm:"column:sort;type:int(11);default:1" json:"Sort" web:"sort"` Start int64 `gorm:"column:start;type:bigint(20);default:0" json:"Start" web:"start"` End int64 `gorm:"column:end;type:bigint(20);default:0" json:"End" web:"end"` IsRelease int `gorm:"column:is_release;type:int(11);default:1;comment:是否开启 1关闭 2开启" json:"IsRelease" web:"is_release"` Push int `gorm:"column:push;type:int(11);default:1;comment:是否推送 1不推送 2推送" json:"Push" web:"push"` PushFrequency int `gorm:"column:push_frequency;type:int(11);default:1;comment:推送频率" json:"PushFrequency" web:"push_frequency"` Type int `gorm:"column:type;type:int(11);default:1;comment:类型(1:游戏分类,2:web跳转,3:活动,4:支付)" json:"Type" web:"type"` JumpUrl string `gorm:"column:jump_url;type:varchar(255);comment:跳转链接" json:"JumpUrl" web:"jump_url"` Pic string `gorm:"column:pic;type:varchar(255);comment:活动图片" json:"Pic" web:"pic"` Data string `gorm:"column:data;type:varchar(255);comment:跳转数据" json:"Data" web:"data"` TagId int `gorm:"column:tag_id;type:int(11);default:0;comment:标签id(0表示首页展示)" json:"TagId" web:"tag_id"` Scene int `gorm:"column:scene;type:int(11);default:0;comment:场景(1:游戏,2:)" json:"Scene" web:"scene"` } func (c *ConfigBanner) TableName() string { return "config_banner" } func (s *ConfigBanner) IsValid() bool { now := time.Now().Unix() if s.IsRelease != 2 || s.Start > now || (s.End < now && s.End > 0) { return false } return true } // ConfigActivity type ConfigActivity struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID" web:"id"` ActivityID int `gorm:"column:activity_id;uniqueIndex:activity_id" json:"ActivityID" web:"activity_id"` Sort int `gorm:"column:sort;type:int(11);" json:"Sort" web:"sort"` Start int64 `gorm:"column:start;type:bigint(20);" json:"Start" web:"start"` End int64 `gorm:"column:end;type:bigint(20);" json:"End" web:"end"` IsRelease int `gorm:"column:is_release;type:int(11);default:1;comment:是否开启 1关闭 2开启" json:"IsRelease" web:"is_release"` Push int `gorm:"column:push;type:int(11);default:1;comment:是否推送 1推送 2不推送" json:"Push" web:"push"` PushFrequency int `gorm:"column:push_frequency;type:int(11);default:1;comment:推送频率" json:"PushFrequency" web:"push_frequency"` Type int `gorm:"column:type;type:int(11);default:1;comment:类型" json:"Type" web:"type"` Pic string `gorm:"column:pic;type:varchar(255);comment:活动图片" json:"Pic" web:"pic"` Data string `gorm:"column:data;type:varchar(255);comment:跳转数据" json:"Data" web:"data"` Content string `gorm:"column:content;type:varchar(255);comment:文案内容" json:"Content" web:"content"` Text string `gorm:"column:text;type:varchar(255);comment:按钮内容" json:"Text" web:"text"` IsOpen bool `gorm:"-"` } func (a *ConfigActivity) TableName() string { return "config_activity" } // Expire 判断活动是否可用 func (s *ConfigActivity) IsValid() bool { now := time.Now().Unix() if s.IsRelease != 2 || s.Start > now || (s.End < now && s.End > 0) { return false } return true } type PddData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` Time int64 `gorm:"column:time;type:bigint(20);comment:创建时间"` Amount int64 `gorm:"column:amount;type:bigint(20);comment:当前金额"` Spin int `gorm:"column:spin;type:int(11);comment:剩余旋转次数"` FreeSpinTime int64 `gorm:"column:free_spin_time;type:bigint(20);comment:免费旋转时间"` NewRecordTime int64 `gorm:"column:new_record_time;type:bigint(20);comment:判断新邀请用户标记时间"` } func (a *PddData) TableName() string { return "pdd_data" } // 拼多多活动转盘物品类型 const ( ActivityPddItemType = iota ActivityPddItemTypeFinish // 直接补齐差额 ActivityPddItemTypeCash // 固定金额 ActivityPddItemTypeRandomCash // 随机金额 ActivityPddItemTypeAll ) // ConfigActivityPddSpin 拼多多分享活动转盘配置 type ConfigActivityPddSpin struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID"` AmountDown int64 `gorm:"column:amount_down;type:bigint(20);default:0;uniqueIndex:amount_sort;comment:区间金额下限" web:"amount_down"` AmountUp int64 `gorm:"column:amount_up;type:bigint(20);default:0;comment:区间金额上限" web:"amount_up"` Type int `gorm:"column:type;type:int(11);default:3;comment:物品类型" web:"type"` Amount int64 `gorm:"column:amount;type:bigint(20);default:0;comment:物品数量" web:"amount"` Weight int `gorm:"column:weight;type:int(11);default:0;comment:权重" web:"weight"` Sort int `gorm:"column:sort;type:int(11);default:0;uniqueIndex:amount_sort;comment:排序" web:"sort"` CashDown int64 `gorm:"column:cash_down;type:bigint(20);default:0;comment:当type是随机金额的时候,表示随机金额的下限" web:"cash_down"` CashUp int64 `gorm:"column:cash_up;type:bigint(20);default:0;comment:当type是随机金额的时候,表示随机金额的上限" web:"cash_up"` } func (c *ConfigActivityPddSpin) TableName() string { return "config_activity_pdd_spin" } // ConfigActivityPdd 拼多多分享活动配置 type ConfigActivityPdd struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id"` WithdrawAmount int64 `gorm:"column:withdraw_amount;type:bigint(20);default:0;comment:可退出门槛" web:"withdraw_amount"` AmountDown int64 `gorm:"column:amount_down;type:bigint(20);default:0;comment:随机金额下限" web:"amount_down"` AmountUp int64 `gorm:"column:amount_up;type:bigint(20);default:0;comment:随机金额上限" web:"amount_up"` Expire int64 `gorm:"column:expire;type:bigint(20);default:0;comment:过期时间,单位分钟" web:"expire"` } func (c *ConfigActivityPdd) TableName() string { return "config_activity_pdd" } // ConfigActivityFreeSpin 每日免费转盘配置 type ConfigActivityFreeSpin struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID"` Type int `gorm:"column:type;type:int(11);default:3;comment:物品类型,对应枚举" web:"type"` Amount int64 `gorm:"column:amount;type:bigint(20);default:0;comment:物品数量" web:"amount"` Weight int `gorm:"column:weight;type:int(11);default:0;comment:权重" web:"weight"` Sort int `gorm:"column:sort;type:int(11);default:0;uniqueIndex:amount_sort;comment:排序" web:"sort"` CashDown int64 `gorm:"column:cash_down;type:bigint(20);default:0;comment:当type是随机金额的时候,表示随机金额的下限" web:"cash_down"` CashUp int64 `gorm:"column:cash_up;type:bigint(20);default:0;comment:当type是随机金额的时候,表示随机金额的上限" web:"cash_up"` } func (c *ConfigActivityFreeSpin) TableName() string { return "config_activity_free_spin" } // 拼多多活动转盘物品类型 const ( ActivityFreeSpinItem = iota ActivityFreeSpinItemNone // 转到无奖励 ActivityFreeSpinItemCash // 固定金额 ActivityFreeSpinItemRandomCash // 随机金额 ActivityFreeSpinItemDoubleCash // 双倍奖励 ActivityFreeSpinItemAll ) // ActivityFreeSpinData type ActivityFreeSpinData struct { UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` SpinNum int `gorm:"column:spin_num;type:int(11);default:1;comment:旋转次数"` LastSpin int64 `gorm:"column:last_spin;default:0;type:bigint(20);comment:上次旋转时间"` } func (c *ActivityFreeSpinData) TableName() string { return "activity_free_spin_data" } // 首次充值后判断间隔 const ( ActivityFirstRechargeBackTime = 86400 // 一天 ) // ConfigActivityFirstRechargeBack 首日充值返还 type ConfigActivityFirstRechargeBack struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID"` MinRecharge int64 `gorm:"column:min_recharge;type:bigint(20);default:10000000000;comment:最低充值额度" web:"min_recharge"` MaxBack int64 `gorm:"column:max_back;type:bigint(20);default:0;comment:最大返还额度比例" web:"max_back"` CD int64 `gorm:"column:cd;type:bigint(20);default:0;comment:持续时间" web:"cd"` } func (c *ConfigActivityFirstRechargeBack) TableName() string { return "config_activity_first_recharge_back" } type ActivityFirstRechargeBackData struct { UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` RechargeTime int64 `gorm:"column:recharge_time;type:bigint(20);default:0;comment:首次充值时间"` Amount int64 `gorm:"column:amount;type:bigint(20);default:0;comment:总充值金额"` Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:给定金额"` RewardTime int64 `gorm:"column:reward_time;type:bigint(20);default:0;comment:领取时间"` } func (c *ActivityFirstRechargeBackData) TableName() string { return "activity_first_recharge_back_data" } const ( LuckyCodeTypeZero = iota LuckyCodeTypeNormal LuckyCodeTypeVip LuckyCodeTypeAll ) type ConfigActivityLuckyCode struct { ID int `gorm:"primarykey"` Type int `gorm:"column:type;type:int(11);default:1;comment:类型" web:"type"` Reward int64 `gorm:"column:reward;not null;type:bigint(20);comment:奖励的物品" web:"reward"` Per int64 `gorm:"column:per;type:int(11);default:60;comment:奖品的权重" web:"per"` } func (c *ConfigActivityLuckyCode) TableName() string { return "config_activity_lucky_code" } type ActivityLuckyCodeData struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id"` Type int `gorm:"column:type;default:1;type:int(11);"` UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` LastDraw int64 `gorm:"column:last_draw;default:0;type:bigint(20)"` LastVipDraw int64 `gorm:"column:last_vip_draw;default:0;type:bigint(20)"` } func (c *ActivityLuckyCodeData) TableName() string { return "activity_lucky_code_data" } // 存放每天的兑换码记录 type ActivityLuckyCode struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id"` Type int `gorm:"column:type;default:1;type:int(11);"` Code int `gorm:"column:code;default:0;type:int(11)"` Date string `gorm:"column:date;default:'';type:varchar(64);comment:日期"` } func (c *ActivityLuckyCode) TableName() string { return "activity_lucky_code" } type ConfigActivitySign struct { ID int `gorm:"primarykey"` Day int `gorm:"column:day;type:int(11);default:1;comment:签到天数" web:"day"` WheelStart int `gorm:"column:wheel_start;type:int(11);default:1;comment:开始期数" web:"wheel_start"` WheelEnd int `gorm:"column:wheel_end;type:int(11);default:1;comment:结束期数" web:"wheel_end"` Reward int64 `gorm:"column:reward;not null;type:bigint(20);comment:奖励" web:"reward"` Recharge int64 `gorm:"column:recharge;type:bigint(20);default:0;comment:所需充值金额" web:"recharge"` Bet int64 `gorm:"column:bet;type:bigint(20);default:0;comment:打码量" web:"bet"` } func (c *ConfigActivitySign) TableName() string { return "config_activity_sign" } type ActivitySignData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;type:int(11);uniqueIndex:uid"` Sign int `gorm:"column:sign;type:int(11);comment:签到天数,二进制"` Wheel int `gorm:"column:wheel;type:int(11);default:1;comment:第几轮签到"` Time int64 `gorm:"column:time;type:bigint(20);comment:首次参与时间"` Finish bool `gorm:"column:finish;type:tinyint;default:0;comment:当前签到状态"` Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:累计领取奖励"` SignTime int64 `gorm:"column:sign_time;type:bigint(20);comment:签到时间"` } func (c *ActivitySignData) TableName() string { return "activity_sign_data" } type ConfigActivityBreakGift struct { ID int `gorm:"primarykey"` Level int `gorm:"column:level;type:int(11);default:1;comment:等级" web:"level"` RechargeDown int64 `gorm:"column:recharge_down;type:bigint(11);default:1000000000;comment:充值金额下限" web:"recharge_down"` RechargeUp int64 `gorm:"column:recharge_up;type:bigint(20);default:2000000000;comment:充值金额上限" web:"recharge_up"` CountDown int `gorm:"column:count_down;type:int(11);default:30;comment:倒计时" web:"count_down"` ProductID int `gorm:"column:product_id;type:int(11);default:0;comment:商品id" web:"product_id"` } func (c *ConfigActivityBreakGift) TableName() string { return "config_activity_break_gift" } type ConfigActivityWeekCard struct { ID int `gorm:"primarykey"` DayOneReward int64 `gorm:"column:day_one_reward;type:bigint(20);default:0;comment:第一天奖励" web:"day_one_reward"` // 下限 MiniLimit int64 `gorm:"column:mini_limit;type:bigint(20);default:0;comment:下限" web:"mini_limit"` // 下限 RewardAmount int64 `gorm:"column:reward_amount;type:bigint(20);default:0;comment:第二到第6天奖励金额" web:"reward_amount"` // 第二到第6天奖励金额 Discount int64 `gorm:"column:discount;type:bigint(20);default:0;comment:第二到第6天奖励金额" web:"discount"` // 满减券折扣 } func (c *ConfigActivityWeekCard) TableName() string { return "config_activity_week_card" } const ( ActivityWeekCardTicketExpireTime = 48 * 3600 // 两个小时 ) type ActivityWeekCardData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;type:int(11);uniqueIndex:ul"` Rewards string `gorm:"column:rewards;type:varchar(256);comment:前5天领取奖励"` Day int `gorm:"column:day;type:int(11);default:0;comment:已经领取天数"` LastDraw int64 `gorm:"column:last_draw;type:bigint(20);default:0;comment:上次领取时间"` RechargeTime int64 `gorm:"column:recharge_time;type:bigint(20);default:0;comment:充值时间"` RechargeAmount int64 `gorm:"column:recharge_amount;type:bigint(20);default:0;comment:充值金额"` } func (c *ActivityWeekCardData) TableName() string { return "activity_week_card_data" } // 支付时带有一些信息,如折扣券,赋值在recharge_order的extra字段 type ActivityRechargeData struct { ID int `json:"ID,omitempty"` // 活动id I1 int `json:"I1,omitempty"` // 携带的信息1,不同活动可能含义不同,折扣券活动代表折扣券等级 I2 int64 `json:"I2,omitempty"` // 携带信息2,不同活动可能含义不同,折扣券活动代表实际发放金额 } type ConfigActivitySlots struct { ID int `gorm:"primarykey"` RankDown int `gorm:"column:rank_down;type:int(11);default:1;comment:排名下限" web:"rank_down"` RankUp int `gorm:"column:rank_up;type:int(11);default:1;comment:排名上限" web:"rank_up"` Reward int64 `gorm:"column:reward;type:bigint(11);default:99900000000;comment:奖励" web:"reward"` } func (c *ConfigActivitySlots) TableName() string { return "config_activity_slots" } // 1,2通过对当天日期取余决定 type ActivitySlotsData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;type:int(11);uniqueIndex:uid"` Avatar string `gorm:"column:avatar;default:'';type:varchar(255);comment:头像"` Nick string `gorm:"column:nick;default:'';type:varchar(255);comment:昵称"` Spin int `gorm:"column:spin;type:int(11);default:0;comment:抽奖次数"` BestNumber1 int `gorm:"column:best_number1;type:int(11);default:0;comment:抽到的最大的数字1"` Time1 int64 `gorm:"column:time1;type:bigint(20);comment:参与时间1"` BestNumber2 int `gorm:"column:best_number2;type:int(11);default:0;comment:抽到的最大的数字2"` Time2 int64 `gorm:"column:time2;type:bigint(20);comment:参与时间2"` Role int `gorm:"column:role;type:int(11);default:0;comment:角色,1代表机器人,2初始默认的机器人"` } func (c *ActivitySlotsData) TableName() string { return "activity_slots_data" } // 结算记录 type ActivitySlotsRecord struct { ID int `gorm:"primarykey"` Date string `gorm:"column:date;default:'';type:varchar(255);uniqueIndex:du;comment:日期"` UID int `gorm:"column:uid;type:int(11);uniqueIndex:du"` Settle int `gorm:"column:settle;type:int(11);default:0;comment:是否结算,1代表已结算"` BestNumber int `gorm:"column:best_number;type:int(11);default:0;comment:当日的最大的数字"` Reward int64 `gorm:"column:reward;type:bigint(20);default:0;comment:奖励" web:"reward"` MyNumber int `gorm:"column:my_number;type:int(11);default:0;comment:玩家的数字"` Rank int `gorm:"column:rank;type:int(11);default:0;comment:排名"` } func (c *ActivitySlotsRecord) TableName() string { return "activity_slots_Record" } const ( ActivityLuckyShopType = iota ActivityLuckyShopTypeRechargeLess ActivityLuckyShopTypeRechargeMore ActivityLuckyShopTypeLogin ActivityLuckyShopTypeAll ) type ConfigActivityLuckyShop struct { ID int `gorm:"primarykey"` Type int `gorm:"column:type;type:int(11);default:1;comment:类型,1是首充小于弹出,2是首充大于弹出,3是付费玩家登录弹出" web:"type"` Recharge int64 `gorm:"column:recharge;type:bigint(20);default:2000000000;comment:首充玩家弹出的充值额度" web:"recharge"` ProductID int `gorm:"column:product_id;type:int(11);default:0;comment:商品id" web:"product_id"` } func (c *ConfigActivityLuckyShop) TableName() string { return "config_activity_lucky_shop" } const ( ActivityLuckyShopExpire = 2 * 3600 // 2小时过期 ) type ActivityLuckyShopData 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:1;uniqueIndex:ut;comment:类型,1是首充小于弹出,2是首充大于弹出,3是付费玩家登录弹出"` Push int64 `gorm:"column:push;type:bigint(20);default:0;comment:弹窗弹出时间"` Buy int `gorm:"column:buy;type:tinyint(4);default:0;comment:前面是否已经完成购买"` ProductID int `gorm:"column:product_id;type:int(11);default:0;comment:商品id"` } func (c *ActivityLuckyShopData) TableName() string { return "activity_lucky_shop_data" } func (c *ActivityLuckyShopData) IsValid() bool { if c.Buy == 1 { return false } return time.Now().Unix()-c.Push < ActivityLuckyShopExpire } const ( ActivitySevenDayBoxType = iota ActivitySevenDayBoxTypeCash ActivitySevenDayBoxTypeDiscountTicket ActivitySevenDayBoxTypeAll ) type ConfigActivitySevenDayBox struct { ID int `gorm:"primarykey"` Recharge int64 `gorm:"column:recharge;type:bigint(20);default:10000000000;comment:充值额度" web:"recharge"` Type int `gorm:"column:type;type:int(11);default:1;comment:奖励类型 1金币 2折扣券" web:"type"` CashRange string `gorm:"column:cash_range;type:varchar(255);default:[1000000000,2000000000];comment:随机金币范围,当type为1时有用" web:"cash_range"` Discount int `gorm:"column:discount;type:int(11);default:70;comment:折扣,type为2时有用" web:"discount"` Per int `gorm:"column:per;type:int(11);default:60;comment:概率" web:"per"` SubCashRange []int64 `gorm:"-" json:"-"` ProductID int `gorm:"column:product_id;type:int(11);default:0;comment:商品id" web:"product_id"` } func (c *ConfigActivitySevenDayBox) TableName() string { return "config_activity_seven_day_box" } type ActivitySevenDayBoxData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` Count int `gorm:"column:count;type:int(11);default:0;comment:剩余开宝箱次数" web:"count"` Time int64 `gorm:"column:time;type:bigint(20);comment:购买时间"` } func (c *ActivitySevenDayBoxData) TableName() string { return "activity_seven_day_box_data" } type ConfigActivitySuper struct { ID int `gorm:"primarykey"` Type int `gorm:"column:type;type:int(11);default:1;comment:类型 1新用户 2老用户" web:"type"` Recharge int64 `gorm:"column:recharge;type:bigint(20);default:20000000000;comment:充值额度" web:"recharge"` Index int `gorm:"column:index;type:int(11);default:1;comment:奖池编号" web:"index"` RewardType int `gorm:"column:reward_type;type:bigint(20);default:1;comment:奖励的类型 1金币 2折扣券" web:"reward_type"` Reward int64 `gorm:"column:reward;default:0;type:bigint(20);comment:奖励的物品数量(折扣券时为折扣数额)" web:"reward"` Sort int `gorm:"column:sort;type:int(11);default:0;comment:排序" web:"sort"` Per int `gorm:"column:per;type:int(11);default:60;comment:概率" web:"per"` ProductID int `gorm:"column:product_id;type:int(11);default:0;comment:商品id" web:"product_id"` } func (c *ConfigActivitySuper) TableName() string { return "config_activity_super" } type ActivitySuperData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` Open int `gorm:"column:open;default:0;type:int(11);comment:箱子开启情况,二进制"` Time int64 `gorm:"column:time;type:bigint(20);comment:购买时间"` Type int `gorm:"-"` CanBuy bool `gorm:"-"` } func (c *ActivitySuperData) TableName() string { return "activity_super_data" } type LuckyData struct { LastSpinTime int64 SpinNum int NextSpinTIme int64 SpinCount int // 总次数 } func (m LuckyData) Value() (driver.Value, error) { return json.Marshal(m) } func (m *LuckyData) Scan(value interface{}) error { if value == nil { *m = LuckyData{} return nil } // 将数据库中的 JSON 字符串解析为 map bytes, ok := value.([]byte) if !ok { return errors.New("type assertion to []byte failed") } if len(bytes) == 0 { *m = LuckyData{} return nil } return json.Unmarshal(bytes, &m) } type ActivityBetDrawData struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` Lucky int64 `gorm:"column:lucky;;not null;type:bigint(20);comment:幸运值" web:"lucky"` SpinInfo LuckyData `gorm:"column:spin_info;;not null;type:varchar(256);comment:转盘信息" web:"spinInfo"` } func (c *ActivityBetDrawData) TableName() string { return "config_betdraw_data" } // ConfigActivityPopup 活动弹窗 type ConfigActivityPopup struct { ID int `gorm:"primarykey"` ActivityId int `gorm:"column:activity_id;type:int(11);comment:活动唯一标识" web:"activity_id"` ActivityName string `gorm:"column:activity_name;type:varchar(255);comment:活动名称;NOT NULL" web:"activity_name"` BannerImage string `gorm:"column:banner_image;type:varchar(255);comment:banner图路径或URL;NOT NULL" web:"banner_image"` Description string `gorm:"column:description;type:text;comment:活动描述" web:"description"` JumpType int `gorm:"column:jump_type;type:int(11);comment:跳转类型;NOT NULL" web:"jump_type"` ButtonText string `gorm:"column:button_text;type:varchar(255);comment:按钮文字" web:"button_text"` IsEnabled int `gorm:"column:is_enabled;type:tinyint(1);default:1;comment:是否开启活动;NOT NULL" web:"is_enabled"` StartDate int64 `gorm:"column:start_date;type:bigint(20);comment:活动开始时间(Unix时间戳)" web:"start_date"` EndDate int64 `gorm:"column:end_date;type:bigint(20);comment:活动结束时间(Unix时间戳)" web:"end_date"` AdditionalInfo string `gorm:"column:additional_info;type:text;comment:附加信息" web:"additional_info"` } func (m *ConfigActivityPopup) TableName() string { return "config_activity_popup" } type ConfigDiscountTicket struct { ID int `gorm:"column:id;type:int(11) AUTO_INCREMENT;primary_key" json:"id"` RechargeAmount int64 `gorm:"column:recharge_amount;type:bigint(20)" web:"recharge_amount"` DiscountAmount int64 `gorm:"column:discount_amount;type:bigint(20)" web:"discount_amount"` CurProb int `gorm:"column:cur_prob;type:int(11)" web:"cur_prob"` NextProb int `gorm:"column:next_prob;type:int(11)" web:"next_prob"` } func (m *ConfigDiscountTicket) TableName() string { return "config_discount_ticket" } type ConfigRtp struct { ID int `gorm:"column:id;type:int(11) AUTO_INCREMENT;primary_key"` MinRecharge int64 `gorm:"column:min_recharge;type:bigint(20);comment:最小充值" web:"min_recharge"` MaxRecharge int64 `gorm:"column:max_recharge;type:bigint(20);comment:最小充值" web:"max_recharge"` Rtp int `gorm:"column:rtp;type:int(11);comment:rtp" web:"rtp"` EnterPer int `gorm:"column:enter_per;type:int(11);comment:进入提存比" web:"enter_per"` ExitPer int `gorm:"column:exit_per;type:int(11);comment:退出提存比" web:"exit_per"` } func (m *ConfigRtp) TableName() string { return "config_rtp" } // ConfigFirstPay 首充奖励配置 type ConfigFirstPay struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id"` Level int `gorm:"column:level;type:int(11);default:0;comment:等级" web:"level"` Amount int64 `gorm:"column:amount;type:bigint(20);default:0;comment:充值额度" web:"amount"` FirstPer int64 `gorm:"column:first_per;type:bigint(20);default:0;comment:首次充值赠送比例,百分位" web:"first_per"` SecondPer int64 `gorm:"column:second_per;type:bigint(20);default:0;comment:第二充值赠送比例,百分位" web:"second_per"` ThirdPer int64 `gorm:"column:third_per;type:bigint(20);default:0;comment:第三充值赠送比例,百分位" web:"third_per"` Per int64 `gorm:"column:per;type:bigint(20);default:0;comment:后续充值赠送比例,百分位" web:"per"` } func (c *ConfigFirstPay) TableName() string { return "config_first_pay" } type LuckyAward struct { AwardType int `json:"awardType"` // 奖励类型(1:金币奖励,2:摇奖次数) // 金币奖励结构 Currency CurrencyPair `json:"currencyPair"` // 货币结构 // 摇奖奖励结构 WheelType int `json:"wheelType"` // 转盘 WheelCount int `json:"wheelCount"` // 摇奖次数 WheelLessCount int `json:"wheelLessCount"` // 当前转盘剩余次数 // 权重 Weights int `json:"weights"` // 权重 } type LuckyWheel struct { LuckyType int `json:"luckyType"` // 转盘类型(1:黄铜,2:白银,3:黄金, 4:特殊) RechargeAmount []int `json:"rechargeAmount"` // 累计充值金额 LuckyAwards []LuckyAward `json:"luckyAwards"` // 转盘奖励 WeightsSum int `json:"-"` // 转盘总权重 } type ConfigLuckyWheel struct { ID int `gorm:"column:id;type:int(11) AUTO_INCREMENT;primary_key"` Switch int `gorm:"column:switch;type:int(11);default:0;comment:开关(1开2关)" json:"Switch" web:"switch"` RechargeCount int `gorm:"column:recharge_count;type:int(11);comment:充值次数" web:"recharge_count"` BetMultiples int `gorm:"column:bet_multiples;type:int(11);comment:打码倍数" web:"bet_multiples"` WheelCfg string `gorm:"column:wheel_cfg;type:text;comment:配置详情" web:"wheel_cfg"` WheelCfgStr []LuckyWheel `gorm:"-"` UpdatedBase } func (m *ConfigLuckyWheel) TableName() string { return "config_lucky_wheel" } type PddCurrency struct { CurrencyPair MinValue int `json:"minValue"` } type PddAward struct { AwardType int `json:"awardType"` // 奖励类型(1:金币发放,2:随机金币发放) Currency PddCurrency `json:"currencyPair"` // 货币结构 Weights int `json:"weights"` // 权重 } type PddCfg struct { PddAwards []PddAward `json:"pddAwards"` // 奖励列表 WeightsSum int `json:"-"` // 转盘总权重 } type ConfigPdd struct { ID int `gorm:"column:id;type:int(11) AUTO_INCREMENT;primary_key"` Switch int `gorm:"column:switch;type:int(11);default:0;comment:开关(1开2关)" json:"Switch" web:"switch"` WithdrawalAmount int `gorm:"column:withdrawal_amount;type:int(11);comment:提现金额" web:"withdrawal_amount"` BetMultiples int `gorm:"column:bet_multiples;type:int(11);comment:打码倍数" web:"bet_multiples"` FreeCount int `gorm:"column:free_count;type:int(11);default:1;comment:免费次数" web:"free_count"` Cycle int `gorm:"column:cycle;type:int(11);default:3;comment:周期(天)" web:"cycle"` PddCfg string `gorm:"column:pdd_cfg;type:text;comment:配置详情" web:"pdd_cfg"` PddCfgStr PddCfg `gorm:"-"` UpdatedBase } func (m *ConfigPdd) TableName() string { return "config_pdd" } type PddDataNew struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;not null;type:int(11);uniqueIndex:uid"` Time int64 `gorm:"column:time;type:bigint(20);comment:创建时间"` Amount string `gorm:"column:amount;type:varchar(255);default:'';comment:当前金额"` Spin int `gorm:"column:spin;type:int(11);comment:剩余旋转次数"` ExpiredAt int64 `gorm:"column:expired_at;type:bigint(20);comment:过期时间"` InviterAmount int64 `gorm:"column:inviter_amount;type:bigint(20);comment:下属充值数值"` FreeSpinAt int64 `gorm:"column:free_spin_at;type:bigint(20);comment:免费旋转时间"` } func (m *PddDataNew) TableName() string { return "pdd_data_new" } type PddLotteryHistory struct { ID int `gorm:"primarykey"` UID int `gorm:"column:uid;not null;type:int(11)" json:"uid"` ExpiredAt int64 `gorm:"column:expired_at;type:bigint(20);comment:过期时间" json:"expiredAt"` AddAmount string `gorm:"column:add_amount;type:varchar(255);default:'';comment:增加余额" json:"addAmount"` Amount string `gorm:"column:amount;type:varchar(255);default:'';comment:余额" json:"amount"` CreatedAt int64 `gorm:"column:created_at;type:bigint(20);comment:创建时间" json:"createdAt"` } func (m *PddLotteryHistory) TableName() string { return "pdd_lottery_history" }