You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.3 KiB
Go

11 months ago
package response
import (
"miniapp/model/app"
8 months ago
"miniapp/model/common"
11 months ago
"miniapp/model/common/constant"
"miniapp/utils"
"strconv"
8 months ago
"time"
11 months ago
)
type UserItem struct {
Id string `json:"id"`
Phone string `json:"phone"` // 手机号
Nickname string `json:"nickname"` // 用户名
CreateAt string `json:"createAt"` // 创建时间
Avatar string `json:"avatar"` // 头像
LastLoginAt string `json:"lastLoginAt"` // 最后登录时间
Status constant.UserStatus `json:"status"` // 状态1-正常2-禁用
}
type UserVO struct {
Id string `json:"id"`
Nickname string `json:"nickname"`
Email string `json:"email"`
Username string `json:"username"`
Phone string `json:"phone"`
Status constant.UserStatus `json:"status"`
Avatar string `json:"avatar"`
8 months ago
LastLoginAt *time.Time `json:"lastLoginAt"`
11 months ago
LastLoginIp *string `json:"lastLoginIp"`
8 months ago
CreatedAt time.Time `json:"createdAt"`
11 months ago
TimeNote string `json:"timeNote"`
IsSurgery int `json:"isSurgery" gorm:"default:0;comment:是否已经手术 0未手术 1已手术"`
IsInfo int `json:"isInfo" gorm:"default:0;comment:是否已经填写信息 0未填写 1已填写"`
HospitalId int `json:"hospital_id" gorm:"comment:手术医院"`
8 months ago
SurgeryTime time.Time `json:"surgery_time" gorm:"comment:手术时间"`
Todos []common.UserTodo `json:"todos" gorm:"comment:用户待办事项"`
Notes []common.Notes `json:"notes" gorm:"comment:用户须知"`
11 months ago
}
func (auv *UserVO) ParseOrdinary(u app.User) {
auv.Id = strconv.Itoa(int(u.ID))
auv.Phone = utils.Desensitization().Phone(u.Phone)
auv.Nickname = u.Nickname
auv.Status = u.Status
auv.LastLoginAt = u.LastLoginAt
auv.Avatar = u.Avatar
8 months ago
auv.CreatedAt = u.CreatedAt
auv.IsSurgery = u.IsSurgery
auv.IsInfo = u.IsInfo
auv.HospitalId = u.HospitalId
auv.SurgeryTime = u.SurgeryTime
11 months ago
if u.IsSurgery == 1 {
auv.TimeNote = "距离下次复查时间还剩:"
} else {
auv.TimeNote = "距离手术时间还剩:"
}
}