This commit is contained in:
Havoc412 2024-10-21 16:31:53 +08:00
parent 5eed0d2bae
commit 17477a846b
4 changed files with 27 additions and 18 deletions

View File

@ -17,9 +17,9 @@ func CreateEncounterFactory(sqlType string) *Encounter {
type Encounter struct { // Encounter 或者称为 post指的就是 Human 单次的记录。 type Encounter struct { // Encounter 或者称为 post指的就是 Human 单次的记录。
BaseModel BaseModel
// TAG 外键关联 // TAG 外键关联
UsersModelId int64 `gorm:"column:user_id" json:"user_id"` UsersModelId int64 `gorm:"column:user_id" json:"user_id"`
UsersModel UsersModel UsersModel *UsersModel `json:"users_model,omitempty"` // INFO 由于 Detail 返回空子段有些麻烦,先尝试采用指针。
AnimalsId string `gorm:"size:20" json:"animals_id"` // TODO 关联对象存在上限 AnimalsId string `gorm:"size:20" json:"animals_id"` // TODO 关联对象存在上限
Title string `gorm:"size:20;column:title" json:"title"` Title string `gorm:"size:20;column:title" json:"title"`
Content string `json:"content"` Content string `json:"content"`

View File

@ -16,3 +16,9 @@ type EncounterList struct {
UserName string `form:"user_name" json:"userName"` UserName string `form:"user_name" json:"userName"`
UserAvatar string `form:"user_avatar" json:"userAvatar"` UserAvatar string `form:"user_avatar" json:"userAvatar"`
} }
type EncounterDetail struct {
Encounter Encounter
UsersModel UsersModel `json:"user"`
Animals []Animal `json:"animals"`
}

View File

@ -24,21 +24,21 @@ func CreateUserFactory(sqlType string) *UsersModel {
type UsersModel struct { type UsersModel struct {
BaseModel BaseModel
UserName string `gorm:"column:user_name;size:20" json:"user_name"` UserName string `gorm:"column:user_name;size:20" json:"user_name,omitempty"`
Pass string `json:"-"` // INFO 暂时用不到,但先保留。 Pass string `json:"pass,omitempty"` // INFO 暂时用不到,但先保留。
Phone string `json:"phone"` Phone string `json:"phone,omitempty"`
RealName string `gorm:"column:real_name" json:"real_name"` RealName string `gorm:"column:real_name" json:"real_name,omitempty"`
// TAG 状态管理 // TAG 状态管理
Status uint8 `json:"status"` // QUESTION Status uint8 `json:"status,omitempty"` // QUESTION
Token string `json:"token"` Token string `json:"token,omitempty"`
LoginTimes uint64 `json:"login_times"` LoginTimes uint64 `json:"login_times,omitempty"`
LastLoginIp string `gorm:"column:last_login_ip" json:"last_login_ip"` LastLoginIp string `gorm:"column:last_login_ip" json:"last_login_ip,omitempty"`
// TAG MySELF // TAG MySELF
UserAvatar string `gorm:"column:user_avatar;size:255" json:"user_avatar"` // TODO 暂时存储 url之后考虑需要把文件上传到 Nginx UserAvatar string `gorm:"column:user_avatar;size:255" json:"user_avatar,omitempty"` // TODO 暂时存储 url之后考虑需要把文件上传到 Nginx
Permission uint8 `json:"permission" gorm:"default:9"` Permission uint8 `json:"permission,omitempty" gorm:"default:9"`
// TAG 微信登录相关 // TAG 微信登录相关
OpenId string `gorm:"column:open_id;size:35;index" json:"open_id"` OpenId string `gorm:"column:open_id;size:35;index" json:"open_id,omitempty"`
SessionKey string `gorm:"column:session_key;size:35" json:"session_key"` SessionKey string `gorm:"column:session_key;size:35" json:"session_key,omitempty"`
} }
// 表名 // 表名

View File

@ -21,7 +21,7 @@ func (e *EncounterCurd) List(num, skip, user_id int) []model.EncounterList {
return model.CreateEncounterFactory("").Show(num, skip, user_id) return model.CreateEncounterFactory("").Show(num, skip, user_id)
} }
func (e *EncounterCurd) Detail(id string) *model.Encounter { func (e *EncounterCurd) Detail(id string) *model.EncounterDetail {
// 0. check id // 0. check id
idInt, err := strconv.Atoi(id) idInt, err := strconv.Atoi(id)
if err != nil { if err != nil {
@ -47,6 +47,9 @@ func (e *EncounterCurd) Detail(id string) *model.Encounter {
_ = animals _ = animals
// 4. 合并 // 4. 合并
return &model.EncounterDetail{
return nil Encounter: *encounter,
UsersModel: *user,
Animals: animals,
}
} }