137 lines
4.2 KiB
Go
137 lines
4.2 KiB
Go
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"},
|
||
}
|
||
}
|