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 MemberTypeDiscountCard = 1 //会员折扣卡 ) var ( UserTypeName = map[int]string{ UserTypeConsumer: "消费者", UserTypeStoreBoss: "门店老板", UserTypeOperator: "运营", UserTypeBoss: "老板", } ) type DiscountCard struct { ID int `orm:"column(id)" json:"id"` PicePercentage int `json:"pricePercentage"` Price int `json:"price"` } type User struct { ModelIDCULD UserID string `orm:"size(48);column(user_id)" json:"userID" compact:"userID"` // 内部唯一标识 UserID2 string `orm:"size(48);column(user_id2)" json:"userID2" compact:"userID2"` // 外部唯一标识(一般用于登录) Name string `orm:"size(48);index" json:"name" compact:"name"` // 外部显示标识(当前可以重复) Mobile *string `orm:"size(32);null" json:"mobile" compact:"mobile"` Email *string `orm:"size(32);null" 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"` // 用户类型 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"` ParentMobile string `orm:"size(32)" json:"parentMobile"` DividePercentage int `json:"dividePercentage"` Profit int `json:"profit"` ProfitSum int `json:"profitSum"` Arrears int `json:"arrears"` } func (*User) TableUnique() [][]string { return [][]string{ []string{"UserID"}, []string{"UserID2", "DeletedAt"}, []string{"Mobile", "DeletedAt"}, []string{"Email", "DeletedAt"}, // []string{"IDCardNo", "DeletedAt"}, } } func (user *User) GetID() string { return user.UserID } func (user *User) GetID2() string { return user.UserID2 } 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 UserMember struct { ModelIDCULD VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` //和order_pay关联的,不知道有没用,先加上把 UserID string `orm:"size(48);column(user_id)" json:"userID"` //内部唯一标识 MemberType int `json:"memberType"` //会员类型, 1为折扣卡 MemberTypeID int `orm:"column(member_type_id)" json:"memberTypeID"` //会员类型ID,折扣卡的话代表几档 EndAt time.Time `json:"endAt"` //会员过期时间 IsPay int `json:"isPay"` } func (v *UserMember) TableIndex() [][]string { return [][]string{ []string{"UserID"}, []string{"CreatedAt"}, } }