94 lines
3.7 KiB
Go
94 lines
3.7 KiB
Go
package wxuser
|
||
|
||
import (
|
||
"common/connection"
|
||
)
|
||
|
||
func init() {
|
||
//注册数据库
|
||
connection.RegisterDBModel(&WxUserInfo{})
|
||
connection.RegisterDBModel(&RecordLoginOfWxUser{})
|
||
connection.RegisterDBModel(&RecordWatchADOfWxUser{})
|
||
connection.RegisterDBModel(&WxUserSeverInfo{})
|
||
connection.RegisterDBModel(&WxUserSeverList{})
|
||
}
|
||
|
||
type WechatTokens struct {
|
||
Errcode int32 `json:"errcode"`
|
||
Errmsg string `json:"errmsg"`
|
||
AccessToken string `json:"access_token"`
|
||
RefreshToken string `json:"refresh_token"`
|
||
ExpiresIn int64 `json:"expires_in"`
|
||
OpenId string `json:"openid"`
|
||
UnionId string `json:"unionid"`
|
||
}
|
||
|
||
type WxUserInfo struct {
|
||
Nickname string `gorm:"column:nickname;comment:昵称" json:"nickname"`
|
||
Sex string `gorm:"column:sex;comment:性别" json:"sex"`
|
||
Language int64 `gorm:"column:language;comment:语言" json:"language"`
|
||
city string `gorm:"column:city;comment:城市" json:"city"`
|
||
province string `gorm:"column:province;comment:省份" json:"province"`
|
||
country string `gorm:"column:country;comment:国籍" json:"country"`
|
||
headimgurl string `gorm:"column:headimgurl;comment:头像" json:"headimgurl"`
|
||
OpenId string `gorm:"column:openId;comment:openId;primaryKey" json:"openid"`
|
||
UnionId string `gorm:"column:unionId;comment:unionId" json:"unionid"`
|
||
}
|
||
|
||
// 同一个玩家在不同的区服Uid是不同的
|
||
type WxUserSeverInfo struct {
|
||
ID int64 `gorm:"column:id;primary_key;comment:自增索引;autoIncrementIncrement" json:"id"`
|
||
OpenId string `gorm:"column:openId;comment:openId" json:"openId"`
|
||
SeverId int32 `gorm:"column:severId;comment:区服Id" json:"severId"`
|
||
Uid int64 `gorm:"column:uid;comment:用户唯一Id" json:"uid"`
|
||
}
|
||
|
||
// 记录当前为止的开服数
|
||
type WxUserSeverList struct {
|
||
ID int64 `gorm:"column:id;primary_key;comment:自增索引;autoIncrementIncrement" json:"id"`
|
||
SeverId int32 `gorm:"column:severId;comment:区服Id" json:"severId"`
|
||
}
|
||
|
||
// 登录相关的记录
|
||
type RecordLoginOfWxUser struct {
|
||
ID int64 `gorm:"column:id;primary_key;comment:自增索引;autoIncrementIncrement" json:"id"`
|
||
Uid int64 `gorm:"column:uid;comment:用户唯一Id" json:"uid"`
|
||
SeverId int32 `gorm:"column:severId;comment:区服Id" json:"severId"`
|
||
RecordDate int64 `gorm:"column:recorddate;comment:记录日期" json:"recorddate"` //只记录当天0点的时间戳,方便查询某一日的数据
|
||
LoginInTime int64 `gorm:"column:loginintime;comment:登录时间" json:"loginintime"`
|
||
LoginOutTime int64 `gorm:"column:loginouttime;comment:登出时间" json:"loginouttime"`
|
||
PlayTimes int64 `gorm:"column:playtimes;comment:游玩时长" json:"playtimes"`
|
||
//用于统计当日的总上线人数 0=否,1=是
|
||
IsFirstLogin int32 `gorm:"column:isfirstlogin;comment:是否首次登录" json:"isfirstlogin"`
|
||
}
|
||
|
||
// 看广告相关记录
|
||
// 记录日期便于按天统计
|
||
type RecordWatchADOfWxUser struct {
|
||
ID int64 `gorm:"column:id;primary_key;comment:自增索引;autoIncrementIncrement" json:"id"`
|
||
RecordDate int64 `gorm:"column:recorddate;comment:记录日期" json:"recorddate"` //只记录当天0点的时间戳,方便查询某一日的数据
|
||
Uid int64 `gorm:"column:uid;comment:用户唯一Id" json:"uid"`
|
||
SeverId int32 `gorm:"column:severId;comment:区服Id" json:"severId"`
|
||
WatchADNum int32 `gorm:"column:watchadnum;comment:看广告次数" json:"watchadnum"`
|
||
}
|
||
|
||
func (WxUserInfo) TableName() string {
|
||
return "wxuserinfo"
|
||
}
|
||
|
||
func (RecordLoginOfWxUser) TableName() string {
|
||
return "recordloginofwxuser"
|
||
}
|
||
|
||
func (RecordWatchADOfWxUser) TableName() string {
|
||
return "recordwatchadofwxuser"
|
||
}
|
||
|
||
func (WxUserSeverInfo) TableName() string {
|
||
return "wxuserseverinfo"
|
||
}
|
||
|
||
func (WxUserSeverList) TableName() string {
|
||
return "wxuserseverlist"
|
||
}
|