150 lines
7.9 KiB
Go

package model
import "time"
type InviteCodeMapping struct {
UserID int64 `gorm:"column:user_id;primaryKey"`
InviteCode string `gorm:"column:invite_code;size:32;uniqueIndex:uk_invite_code"`
Account string `gorm:"column:account;size:64"`
}
func (InviteCodeMapping) TableName() string { return "invite_code_mapping" }
type UserBaseInfo struct {
ID int64 `gorm:"column:id;primaryKey"`
Account string `gorm:"column:account;size:64"`
UserAvatar string `gorm:"column:user_avatar;size:255"`
UserNickname string `gorm:"column:user_nickname;size:255"`
OriginSys string `gorm:"column:origin_sys;size:32"`
CreateTime time.Time `gorm:"column:create_time"`
}
func (UserBaseInfo) TableName() string { return "user_base_info" }
type InviteCampaignConfig struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_invite_campaign_sys_origin"`
Enabled bool `gorm:"column:enabled"`
DownloadURL string `gorm:"column:download_url;size:512"`
ShareTitle string `gorm:"column:share_title;size:255"`
ShareDesc string `gorm:"column:share_desc;size:255"`
ServiceContact string `gorm:"column:service_contact;size:255"`
Timezone string `gorm:"column:timezone;size:64"`
AntiCheatSameIPOnce bool `gorm:"column:anti_cheat_same_ip_once"`
AntiCheatSameDeviceOnce bool `gorm:"column:anti_cheat_same_device_once"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignConfig) TableName() string { return "invite_campaign_config" }
type InviteCampaignRewardRule struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32;index:idx_invite_rule_sys_type_sort,priority:1"`
RuleType string `gorm:"column:rule_type;size:32;index:idx_invite_rule_sys_type_sort,priority:2"`
ThresholdValue int64 `gorm:"column:threshold_value"`
GoldAmount int64 `gorm:"column:gold_amount"`
RewardGroupID *int64 `gorm:"column:reward_group_id"`
Enabled bool `gorm:"column:enabled"`
Sort int `gorm:"column:sort;index:idx_invite_rule_sys_type_sort,priority:3"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignRewardRule) TableName() string { return "invite_campaign_reward_rule" }
type InviteCampaignRelation struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32;index:idx_invite_relation_sys_inviter,priority:1;index:uk_invite_relation_invitee,priority:1,unique"`
InviterUserID int64 `gorm:"column:inviter_user_id;index:idx_invite_relation_sys_inviter,priority:2"`
InviteeUserID int64 `gorm:"column:invitee_user_id;index:uk_invite_relation_invitee,priority:2,unique"`
InviteCode string `gorm:"column:invite_code;size:32"`
BindIP string `gorm:"column:bind_ip;size:128;index:idx_invite_relation_ip"`
DeviceFingerprint string `gorm:"column:device_fingerprint;size:255;index:idx_invite_relation_device"`
EligibleStatus string `gorm:"column:eligible_status;size:32"`
BlockReason string `gorm:"column:block_reason;size:255"`
BindTime time.Time `gorm:"column:bind_time"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignRelation) TableName() string { return "invite_campaign_relation" }
type InviteCampaignInviteeProgress struct {
ID int64 `gorm:"column:id;primaryKey"`
RelationID int64 `gorm:"column:relation_id;uniqueIndex:uk_invitee_progress_relation"`
SysOrigin string `gorm:"column:sys_origin;size:32"`
InviterUserID int64 `gorm:"column:inviter_user_id;index:idx_invitee_progress_inviter"`
InviteeUserID int64 `gorm:"column:invitee_user_id;uniqueIndex:uk_invitee_progress_invitee"`
TotalRecharge int64 `gorm:"column:total_recharge_coins"`
ValidUser bool `gorm:"column:valid_user"`
ValidTime *time.Time `gorm:"column:valid_time"`
RewardedRuleIDs string `gorm:"column:rewarded_rule_ids;size:255"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignInviteeProgress) TableName() string { return "invite_campaign_invitee_progress" }
type InviteCampaignMonthlyProgress struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_invite_monthly_progress,priority:1"`
InviterUserID int64 `gorm:"column:inviter_user_id;uniqueIndex:uk_invite_monthly_progress,priority:2"`
MonthKey string `gorm:"column:month_key;size:6;uniqueIndex:uk_invite_monthly_progress,priority:3"`
InviteCount int64 `gorm:"column:invite_count"`
ValidUserCount int64 `gorm:"column:valid_user_count"`
TotalRecharge int64 `gorm:"column:total_recharge_coins"`
RewardGoldCoins int64 `gorm:"column:reward_gold_coins"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignMonthlyProgress) TableName() string { return "invite_campaign_monthly_progress" }
type InviteCampaignTaskClaim struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_invite_task_claim,priority:1"`
InviterUserID int64 `gorm:"column:inviter_user_id;uniqueIndex:uk_invite_task_claim,priority:2"`
MonthKey string `gorm:"column:month_key;size:6;uniqueIndex:uk_invite_task_claim,priority:3"`
RuleID int64 `gorm:"column:rule_id;uniqueIndex:uk_invite_task_claim,priority:4"`
ClaimTime time.Time `gorm:"column:claim_time"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignTaskClaim) TableName() string { return "invite_campaign_task_claim" }
type InviteCampaignRewardLog struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32;index:idx_invite_reward_target"`
RelationID *int64 `gorm:"column:relation_id"`
InviterUserID *int64 `gorm:"column:inviter_user_id"`
InviteeUserID *int64 `gorm:"column:invitee_user_id"`
TargetUserID int64 `gorm:"column:target_user_id;index:idx_invite_reward_target"`
RuleID *int64 `gorm:"column:rule_id"`
RewardScene string `gorm:"column:reward_scene;size:32"`
BusinessKey string `gorm:"column:business_key;size:128;uniqueIndex:uk_invite_reward_business"`
GoldAmount int64 `gorm:"column:gold_amount"`
RewardGroupID *int64 `gorm:"column:reward_group_id"`
Status string `gorm:"column:status;size:32"`
ErrorMessage string `gorm:"column:error_message;size:255"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignRewardLog) TableName() string { return "invite_campaign_reward_log" }
type InviteCampaignRechargeEvent struct {
ID int64 `gorm:"column:id;primaryKey"`
SysOrigin string `gorm:"column:sys_origin;size:32"`
OrderID string `gorm:"column:order_id;size:128;uniqueIndex:uk_invite_recharge_order"`
InviterUserID *int64 `gorm:"column:inviter_user_id"`
InviteeUserID int64 `gorm:"column:invitee_user_id"`
RechargeCoins int64 `gorm:"column:recharge_coins"`
PayTime time.Time `gorm:"column:pay_time"`
CreateTime time.Time `gorm:"column:create_time"`
UpdateTime time.Time `gorm:"column:update_time"`
}
func (InviteCampaignRechargeEvent) TableName() string { return "invite_campaign_recharge_event" }