Files
2021-10-12 16:53:49 +08:00

121 lines
3.1 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 (
"SciencesServer/utils"
)
type Gender struct {
Gender GenderKind `gorm:"column:gender;type:tinyint(1);default:1;comment:性别12" json:"gender"` // 性别12
}
type GenderKind int
const (
// GenderKindForMale 男性
GenderKindForMale GenderKind = iota + 1
// GenderKindForFemale 女性
GenderKindForFemale
)
func (m *Gender) GenderTitle() string {
if m.Gender == GenderKindForMale {
return "男"
} else if m.Gender == GenderKindForFemale {
return "女"
}
return ""
}
// Image 单一图片信息
type Image struct {
Image string `gorm:"column:image;type:varchar(255);default:null;comment:图片" json:"image"`
}
func (m *Image) Analysis(domain string) string {
return domain + m.Image
}
// Images 多个图片信息
type Images struct {
Images string `gorm:"column:images;type:text;default:null;comment:图片" json:"images"`
}
// AnalysisSlice Slice解析
func (m *Images) AnalysisSlice(domain string) []string {
images := make([]string, 0)
utils.FromJSON(m.Images, &images)
for k, v := range images {
images[k] = domain + v
}
return images
}
type Local struct {
Local uint64 `gorm:"column:local;type:int(11);default:0;comment:数据位置来源" json:"-"`
}
// AccountStatus 账号状态
type AccountStatus struct {
Status AccountStatusKind `gorm:"column:status;type:tinyint(1);default:1;comment:状态(1启用2禁用)" json:"-"`
}
// AccountStatusKind 状态
type AccountStatusKind int
const (
// AccountStatusForEnable 启用
AccountStatusForEnable AccountStatusKind = iota + 1
// AccountStatusForDisable 禁用
AccountStatusForDisable
)
// ShelfStatus 上下架状态
type ShelfStatus struct {
ShelfStatus ShelfStatusKind `gorm:"column:shelf_status;type:tinyint(1);default:0;comment:上下架状态1上架2下架" json:"shelf_status"`
}
type ShelfStatusKind int
const (
// ShelfStatusForUp 上架
ShelfStatusForUp ShelfStatusKind = iota
// ShelfStatusForDown 下架
ShelfStatusForDown
)
// ExamineStatus 审核状态
type ExamineStatus struct {
Status ExamineStatusKind `gorm:"column:status;type:tinyint(1);default:0;comment:审核状态0审核中1审核通过2审核拒绝" json:"status"`
}
// ExamineStatusKind 审核状态
type ExamineStatusKind int
const (
// ExamineStatusForOngoing 审核中
ExamineStatusForOngoing ExamineStatusKind = iota
// ExamineStatusForAgree 审核通过
ExamineStatusForAgree
// ExamineStatusForRefuse 审核拒绝
ExamineStatusForRefuse
)
type Area struct {
Province uint64 `gorm:"column:province;type:int;default:0;comment:所在省" json:"province"`
City uint64 `gorm:"column:city;type:int;default:0;comment:所在市" json:"city"`
District uint64 `gorm:"column:district;type:int;default:0;comment:所在区/县" json:"district"`
Address string `gorm:"column:address;type:varchar(255);default:null;comment:详细地址" json:"address"`
}
// Position 坐标信息
type Position struct {
Longitude float64 `json:"longitude"` // 经度
Latitude float64 `json:"latitude"` // 纬度
}
// Format 格式化
func (m *Position) Format() string {
return utils.AnyToJSON(m)
}