From 0b8e5a0264669871e88e2e4c0fbc0e85807624af Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Fri, 1 Dec 2023 09:24:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=A8=E7=BA=BF=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dto/User.go | 24 ++++++++++++++++-------- api/dto/UserDoctor.go | 13 ++++++++++++- api/model/user.go | 4 +++- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/api/dto/User.go b/api/dto/User.go index f249ed4..f0058b5 100644 --- a/api/dto/User.go +++ b/api/dto/User.go @@ -18,8 +18,10 @@ type UserDto struct { Age uint `json:"age"` // 年龄 Sex int `json:"sex"` // 性别(0:未知 1:男 2:女) Avatar string `json:"avatar"` // 头像 - LoginIP string `json:"login_ip"` // 登陆ip - LastLoginAt model.LocalTime `json:"last_login_at"` // 最后登陆时间 + IsOnline int `json:"is_online"` // 是否在线(0:不在线 1:在线) + LoginAt model.LocalTime `json:"login_at"` // 小程序登陆时间 + ImLoginAt model.LocalTime `json:"im_login_at"` // im登陆时间 + LoginIp string `json:"login_ip"` // 登陆ip CreatedBy string `json:"created_by"` // 创建者id(后台用户表id null:自己注册) CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 @@ -38,8 +40,10 @@ func GetUserDto(m *model.User) *UserDto { Age: m.Age, Sex: m.Sex, Avatar: utils.AddOssDomain(m.Avatar), - LoginIP: m.LoginIp, - LastLoginAt: m.LastLoginAt, + IsOnline: m.IsOnline, + LoginAt: m.LoginAt, + ImLoginAt: m.ImLoginAt, + LoginIp: m.LoginIp, CreatedBy: m.CreatedBy, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, @@ -59,8 +63,10 @@ func GetMaskUserDto(m *model.User) *UserDto { Age: m.Age, Sex: m.Sex, Avatar: utils.AddOssDomain(m.Avatar), - LoginIP: m.LoginIp, - LastLoginAt: m.LastLoginAt, + IsOnline: m.IsOnline, + LoginAt: m.LoginAt, + ImLoginAt: m.ImLoginAt, + LoginIp: m.LoginIp, CreatedBy: m.CreatedBy, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, @@ -85,8 +91,10 @@ func GetUserListDto(m []*model.User) []UserDto { Age: v.Age, Sex: v.Sex, Avatar: utils.AddOssDomain(v.Avatar), - LoginIP: v.LoginIp, - LastLoginAt: v.LastLoginAt, + IsOnline: v.IsOnline, + LoginAt: v.LoginAt, + ImLoginAt: v.ImLoginAt, + LoginIp: v.LoginIp, CreatedBy: v.CreatedBy, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, diff --git a/api/dto/UserDoctor.go b/api/dto/UserDoctor.go index fa7dd30..2c8d05a 100644 --- a/api/dto/UserDoctor.go +++ b/api/dto/UserDoctor.go @@ -165,9 +165,12 @@ func GetUserDoctorListDto(m []*model.UserDoctor) []*UserDoctorDto { response = response.LoadHospitalName(v.Hospital) } - // 加载创建者 if v.User != nil { + // 加载创建者 response = response.LoadUserCreatedBy(v.User) + + // 加载用户在线状态 + response.LoadUserOnline(v.User) } // 加载医生服务类型 @@ -404,3 +407,11 @@ func (r *UserDoctorDto) LoadUserCreatedBy(m *model.User) *UserDoctorDto { } return r } + +// LoadUserOnline 加载用户在线状态 +func (r *UserDoctorDto) LoadUserOnline(m *model.User) *UserDoctorDto { + if m != nil { + r.IsOnline = m.IsOnline + } + return r +} diff --git a/api/model/user.go b/api/model/user.go index 74f7c86..fa56939 100644 --- a/api/model/user.go +++ b/api/model/user.go @@ -21,8 +21,10 @@ type User struct { Age uint `gorm:"column:age;type:int(10) unsigned;comment:年龄" json:"age"` Sex int `gorm:"column:sex;type:tinyint(1);default:0;comment:性别(0:未知 1:男 2:女)" json:"sex"` Avatar string `gorm:"column:avatar;type:varchar(255);comment:头像" json:"avatar"` + IsOnline int `gorm:"column:is_online;type:tinyint(1);default:0;comment:是否在线(0:不在线 1:在线)" json:"is_online"` + LoginAt LocalTime `gorm:"column:login_at;type:datetime;comment:小程序登陆时间" json:"login_at"` + ImLoginAt LocalTime `gorm:"column:im_login_at;type:datetime;comment:im登陆时间" json:"im_login_at"` LoginIp string `gorm:"column:login_ip;type:varchar(255);comment:登陆ip" json:"login_ip"` - LastLoginAt LocalTime `gorm:"column:last_login_at;type:datetime;comment:最后登陆时间" json:"last_login_at"` CreatedBy string `gorm:"column:created_by;type:varchar(100);comment:创建者id(后台用户表id null:自己注册)" json:"created_by"` Model }