Files
jx-callback/business/model/user.go
邹宗楠 9dafa1729d 1
2022-08-25 16:43:34 +08:00

137 lines
4.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import (
"time"
"git.rosy.net.cn/baseapi/utils"
)
const (
UserStatusNormal = 1
UserStatusDisabled = 2
)
const (
UserTypeConsumer = 1
UserTypeStoreBoss = 2
UserTypeOperator = 4
UserTypeBoss = 8
UserTypeNonConsumer = ^1
MemberTypeNormal = 1 //普通会员
)
var (
UserTypeName = map[int]string{
UserTypeConsumer: "消费者",
UserTypeStoreBoss: "门店老板",
UserTypeOperator: "运营",
UserTypeBoss: "老板",
}
)
type MemberCard struct {
ID int `orm:"column(id)" json:"id"`
Price int `json:"price"`
ActPrice int `json:"actPrice"`
}
type User struct {
ModelIDCULD
UserID string `orm:"size(48);column(user_id)" json:"userID" compact:"userID"` // 内部唯一标识
Name string `orm:"size(48);index" json:"name" compact:"name"` // 外部显示标识(当前可以重复)
Password string `orm:"size(48)" json:"password" compact:"password"` // 外部显示标识(当前可以重复)
Mobile *string `orm:"size(32)" json:"mobile" compact:"mobile"`
Email *string `orm:"size(32)" json:"email" compact:"email"`
Avatar string `orm:"size(255)" json:"avatar" compact:"avatar"` // 头像
Status int8 `json:"status" compact:"status"`
Type int8 `json:"type" compact:"type"` // 用户类型
Company string `json:"company"` //公司名称
CityCode int `orm:"default(0)" json:"cityCode"`
DistrictCode int `orm:"default(0);index" json:"districtCode"`
Address string `orm:"size(255)" json:"address"`
IDCardNo string `orm:"size(18);column(id_card_no)" json:"idCardNo" compact:"idCardNo"` // 身份证号
Remark string `orm:"size(255)" json:"remark"`
LastLoginAt *time.Time `orm:"null" json:"lastLoginAt"`
LastLoginIP string `orm:"size(64);column(last_login_ip)" json:"lastLoginIP"`
LastLoginType string `orm:"size(16)" json:"lastLoginType"`
OpenId string `orm:"size(255);column(open_id)" json:"open_id" db:"open_id"` // 微信用户openId
UnionId string `orm:"size(255);column(union_id)" json:"union_id" db:"union_id"` // 微信用户Id
}
func (user *User) TableUnique() [][]string {
return [][]string{
[]string{"Mobile"},
[]string{"OpenId"},
}
}
func (user *User) TableIndex() [][]string {
return [][]string{
[]string{"Mobile"},
[]string{"OpenId"},
[]string{"UserID"},
}
}
func (user *User) GetID() string {
return user.UserID
}
func (user *User) GetMobile() string {
return utils.Pointer2String(user.Mobile)
}
func (user *User) GetEmail() string {
return utils.Pointer2String(user.Email)
}
func (user *User) GetName() string {
return user.Name
}
func (user *User) GetAvatar() string {
return user.Avatar
}
type Menu struct {
ModelIDCULD
Name string `json:"name"` //功能名
URL string `orm:"column(url)" json:"url"` //路径
ImgURL string `orm:"column(img_url)" json:"imgURL"` //图标
Level int `json:"level"` //级别
ParentID int `orm:"column(parent_id)" json:"parentID"` //父功能ID
Color string `json:"color"` //颜色
MenuType string `json:"menuType"` //如果值为api则是api接口菜单
}
func (*Menu) TableUnique() [][]string {
return [][]string{
[]string{"Name", "DeletedAt"},
}
}
type MenuDetail struct {
ModelIDCULD
MenuID int `orm:"column(menu_id)" json:"menuID"` //菜单ID
Name string `json:"name"` //接口名
Content string `orm:"type(text)" json:"content"` //接口描述
URL string `orm:"column(url)" json:"url"` //请求路径
Method string `json:"method"` //请求方式get post
PublicParam string `json:"publicParam"` //公共参数
PrivateParam string `json:"privateParam"` //私有参数
CallParam string `json:"callParam"` //调用示例
ReturnParam string `json:"returnParam"` //返回参数
ReturnEx string `json:"returnEX"` //返回实例
}
func (*MenuDetail) TableUnique() [][]string {
return [][]string{
[]string{"MenuID"},
}
}