This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
||||
)
|
||||
|
||||
// MpUser 微信公众号粉丝表 (增加用户关联字段)
|
||||
type MpUser struct {
|
||||
global.GVA_MODEL
|
||||
OpenID string `json:"openid" gorm:"type:varchar(100);not null;uniqueIndex;comment:用户openid"`
|
||||
UnionID *string `json:"unionid" gorm:"type:varchar(64);index;comment:微信开放平台统一标识"`
|
||||
UserID *uint `json:"userId" gorm:"index;comment:关联系统用户ID"`
|
||||
Nickname *string `json:"nickname" gorm:"type:varchar(50);comment:用户昵称"`
|
||||
HeadImageURL *string `json:"headImageUrl" gorm:"type:varchar(1024);comment:用户头像"`
|
||||
SubscribeStatus int `json:"subscribeStatus" gorm:"not null;index;comment:关注状态 0未关注 1已关注"`
|
||||
SubscribeTime *time.Time `json:"subscribeTime" gorm:"index;comment:关注时间"`
|
||||
UnsubscribeTime *time.Time `json:"unsubscribeTime" gorm:"comment:取消关注时间"`
|
||||
Language *string `json:"language" gorm:"type:varchar(30);comment:用户语言"`
|
||||
Country *string `json:"country" gorm:"type:varchar(30);comment:用户国家"`
|
||||
Province *string `json:"province" gorm:"type:varchar(30);comment:用户省份"`
|
||||
City *string `json:"city" gorm:"type:varchar(30);comment:用户城市"`
|
||||
Remark *string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
TagIDs *string `json:"tagIds" gorm:"type:varchar(255);comment:标签编号数组"`
|
||||
}
|
||||
|
||||
// TableName 指定表名
|
||||
func (MpUser) TableName() string {
|
||||
return "mp_user"
|
||||
}
|
||||
|
||||
// IsSubscribed 检查是否已关注
|
||||
func (m *MpUser) IsSubscribed() bool {
|
||||
return m.SubscribeStatus == 1
|
||||
}
|
||||
|
||||
// Subscribe 关注操作
|
||||
func (m *MpUser) Subscribe() {
|
||||
m.SubscribeStatus = 1
|
||||
now := time.Now()
|
||||
m.SubscribeTime = &now
|
||||
m.UnsubscribeTime = nil
|
||||
}
|
||||
|
||||
// Unsubscribe 取消关注操作
|
||||
func (m *MpUser) Unsubscribe() {
|
||||
m.SubscribeStatus = 0
|
||||
now := time.Now()
|
||||
m.UnsubscribeTime = &now
|
||||
}
|
||||
|
||||
// IsLinkedToSystemUser 检查是否已关联系统用户
|
||||
func (m *MpUser) IsLinkedToSystemUser() bool {
|
||||
return m.UserID != nil && *m.UserID > 0
|
||||
}
|
||||
|
||||
// HasUnionID 检查是否有 UnionID
|
||||
func (m *MpUser) HasUnionID() bool {
|
||||
return m.UnionID != nil && *m.UnionID != ""
|
||||
}
|
||||
Reference in New Issue
Block a user