package common // type Mail struct { // ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"id" redis:"id"` // Sender int `gorm:"column:sender;type:int(11);default:0;comment:发件人uid,系统为0" json:"sender" redis:"sender"` // Receiver int `gorm:"column:receiver;type:int(11);default:0;comment:收件人uid,系统为0" json:"receiver" redis:"receiver"` // } const ( MailExpireTime = 30 * 24 * 60 * 60 // 30天 MailMaxCount = 100 ) const ( MailTypeNormal = iota + 1 MailTypeUrgent ) const ( MailSendMethodImmediately = iota + 1 MailSendMethodTiming ) const ( MailStatusDelete = iota MailStatusNew MailStatusRead MailStatusDraw ) // Mail 邮件 // DraftID 发送邮件的模板id // sender 发件人 // Receiver 收件人uid 0是系统邮件 // Type 邮件类型 1正常 2紧急 // Enclosure 附件 // SendMethod 发送方式 1立刻 2定时 // Status 邮件状态 0删除 1未读 2已读未领取 3已领取 // Time 收到邮件的时间 type Mail struct { ID int `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"ID"` DraftID string `gorm:"column:draft_id;type:varchar(256);comment:发送邮件的模板id" json:"DraftID"` Sender string `gorm:"column:sender;type:varchar(64);default:0;comment:发件人名称" json:"Sender"` Receiver int `gorm:"column:receiver;type:int(11);default:0;comment:收件人uid,系统为0" json:"Receiver"` Type int `gorm:"column:type;type:int(11);default:1;comment:邮件类型 1正常 2紧急" json:"Type"` Title string `gorm:"column:title;type:varchar(256);default:0;comment:标题" json:"Title"` Content string `gorm:"column:content;type:varchar(512);default:0;comment:正文" json:"Content"` // 附件给单个 Enc string `gorm:"column:enclosure;type:varchar(512);comment:附件" json:"-"` Enclosure *CurrencyPair `gorm:"-" json:"Enclosure"` SendMethod int `gorm:"column:send_method;type:tinyint(4);default:1;comment:发送方式 1立刻 2定时" json:"SendMethod"` Status int `gorm:"column:status;type:tinyint(4);default:1;comment:邮件状态 0删除 1未读 2已读未领取 3已领取" json:"Status"` Time int64 `gorm:"column:time;type:bigint(20);default:0;comment:收到邮件时间" json:"Time"` // 0:全部用户, 1:xx时间前注册用户, 2:有充值用户, 3:新用户(当天注册用户), 4:老用户(非当天注册用户), 5:累计充值达到多少的用户, 6:某渠道用户 UserTag int `gorm:"column:user_tag;type:int(11);default:0;comment:用户tag" json:"UserTag"` Tag int `gorm:"column:tag;type:int(11);default:0;comment:邮箱tag" json:"Tag"` MaxBirthAt int64 `gorm:"column:max_birth_at;type:bigint(20);default:0;comment:最大出生玩家" json:"MaxBirthAt"` RechargeAmount int64 `gorm:"column:recharge_amount;type:int(11);default:0;comment:充值额度限制" json:"RechargeAmount"` ChannelId string `gorm:"column:channel_id;type:varchar(512);default:'';comment:渠道列表" json:"ChannelId"` URL string `gorm:"column:url;type:varchar(512);default:'';comment:跳转链接" json:"URL"` } func (u *Mail) TableName() string { return "mail" } const ( MailDraftStatusDelete = iota MailDraftStatusNew MailDraftStatusSent MailDraftStatusBack // 撤销 ) // MailDraft 邮件草稿 // ID 草稿ID // sender 发件人 // Receiver 收件人uid(可以是数组),空数组代表所有人 // Type 邮件类型 1正常 2紧急 // Enclosure 附件 // SendMethod 发送方式 1立刻 2定时 // SendTime 发送时间 // Status 邮件状态 0删除 1未发送 2已发送 3已撤销 // Operator 操作人 // Time 创建或修改的时间戳 type MailDraft struct { ID string Sender string Receiver []int Type int Title string Content string Enclosure *CurrencyPair SendMethod int SendTime int64 Status int Operator string Time int64 // 0:全部用户,1:xx时间前注册的用户,2:有充值用户,3:新用户(当天注册),4:老用户(非当天注册),5:累计充值达到x的用户,6:x渠道用户 UserTag int MaxBirthAt int64 RechargeAmount int64 ChannelId string URL string Tag int }