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 单次的记录。
BaseModel
// TAG 外键关联
UsersModelId int64 `gorm:"column:user_id" json:"user_id"`
UsersModel UsersModel
AnimalsId string `gorm:"size:20" json:"animals_id"` // TODO 关联对象存在上限
UsersModelId int64 `gorm:"column:user_id" json:"user_id"`
UsersModel *UsersModel `json:"users_model,omitempty"` // INFO 由于 Detail 返回空子段有些麻烦,先尝试采用指针。
AnimalsId string `gorm:"size:20" json:"animals_id"` // TODO 关联对象存在上限
Title string `gorm:"size:20;column:title" json:"title"`
Content string `json:"content"`

View File

@ -16,3 +16,9 @@ type EncounterList struct {
UserName string `form:"user_name" json:"userName"`
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 {
BaseModel
UserName string `gorm:"column:user_name;size:20" json:"user_name"`
Pass string `json:"-"` // INFO 暂时用不到,但先保留。
Phone string `json:"phone"`
RealName string `gorm:"column:real_name" json:"real_name"`
UserName string `gorm:"column:user_name;size:20" json:"user_name,omitempty"`
Pass string `json:"pass,omitempty"` // INFO 暂时用不到,但先保留。
Phone string `json:"phone,omitempty"`
RealName string `gorm:"column:real_name" json:"real_name,omitempty"`
// TAG 状态管理
Status uint8 `json:"status"` // QUESTION
Token string `json:"token"`
LoginTimes uint64 `json:"login_times"`
LastLoginIp string `gorm:"column:last_login_ip" json:"last_login_ip"`
Status uint8 `json:"status,omitempty"` // QUESTION
Token string `json:"token,omitempty"`
LoginTimes uint64 `json:"login_times,omitempty"`
LastLoginIp string `gorm:"column:last_login_ip" json:"last_login_ip,omitempty"`
// TAG MySELF
UserAvatar string `gorm:"column:user_avatar;size:255" json:"user_avatar"` // TODO 暂时存储 url之后考虑需要把文件上传到 Nginx
Permission uint8 `json:"permission" gorm:"default:9"`
UserAvatar string `gorm:"column:user_avatar;size:255" json:"user_avatar,omitempty"` // TODO 暂时存储 url之后考虑需要把文件上传到 Nginx
Permission uint8 `json:"permission,omitempty" gorm:"default:9"`
// TAG 微信登录相关
OpenId string `gorm:"column:open_id;size:35;index" json:"open_id"`
SessionKey string `gorm:"column:session_key;size:35" json:"session_key"`
OpenId string `gorm:"column:open_id;size:35;index" json:"open_id,omitempty"`
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)
}
func (e *EncounterCurd) Detail(id string) *model.Encounter {
func (e *EncounterCurd) Detail(id string) *model.EncounterDetail {
// 0. check id
idInt, err := strconv.Atoi(id)
if err != nil {
@ -47,6 +47,9 @@ func (e *EncounterCurd) Detail(id string) *model.Encounter {
_ = animals
// 4. 合并
return nil
return &model.EncounterDetail{
Encounter: *encounter,
UsersModel: *user,
Animals: animals,
}
}