From d40aafe627c2d0849c6f3d31d52436fe7758eb3c Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 23 Aug 2024 13:24:28 +0800 Subject: [PATCH] 4444 --- api/controller/User.go | 9 ++++++++- api/dto/User.go | 1 + api/service/User.go | 15 +++++++++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/api/controller/User.go b/api/controller/User.go index 0058901..e80eb70 100644 --- a/api/controller/User.go +++ b/api/controller/User.go @@ -32,17 +32,24 @@ func (r *User) GetUser(c *gin.Context) { // 获取用户详情 userInfoDao := dao.UserInfoDao{} - _, err = userInfoDao.GetUserInfoByUserId(userId) + userInfo, err := userInfoDao.GetUserInfoByUserId(userId) if err != nil || user == nil { responses.FailWithMessage("用户数据错误", c) return } + // 检测用户信息是否补全 + userService := service.UserService{} + IsCompleteInfo := userService.CheckUserInfo(userInfo) + g := dto.GetUserDto(user) // 加载数据-生日 g.LoadBirthday(user.Birthday) + // 加载用户信息是否补全 + g.IsCompleteInfo = IsCompleteInfo + responses.OkWithData(g, c) } diff --git a/api/dto/User.go b/api/dto/User.go index e72f7c3..b21f4ee 100644 --- a/api/dto/User.go +++ b/api/dto/User.go @@ -26,6 +26,7 @@ type UserDto struct { LoginIp string `json:"login_ip"` // 登陆ip CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间 + IsCompleteInfo bool `json:"Is_complete_info"` // 信息是否完整(0:否 1:是) } // UserCheckDto 检测用户 diff --git a/api/service/User.go b/api/service/User.go index d1143ed..99a0740 100644 --- a/api/service/User.go +++ b/api/service/User.go @@ -682,7 +682,11 @@ func (r *UserService) PutUser(userId int64, req requests.PutUser) (bool, error) appData.Sex = &sex } - if req.Sex != *user.Sex { + if user.Sex != nil { + if req.Sex != *user.Sex { + userData["sex"] = req.Sex + } + } else { userData["sex"] = req.Sex } @@ -928,6 +932,13 @@ func (r *UserService) PutUser(userId int64, req requests.PutUser) (bool, error) } // CheckUserInfo 检测用户信息是否补全 -func (r *UserService) CheckUserInfo(userId int64) bool { +func (r *UserService) CheckUserInfo(userInfo *model.UserInfo) bool { + if userInfo == nil { + return false + } + + if userInfo.Height == "" { + return false + } return false }