From f66d50d142d4f9f6deab3cb6fc48ab03e2e63005 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 30 Aug 2024 14:00:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=98=B5=E7=A7=B0=E8=A1=A5?= =?UTF-8?q?=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/User.go | 64 ++++++++++++++++++++++++++++++++++++++---- api/dto/User.go | 1 - 2 files changed, 59 insertions(+), 6 deletions(-) diff --git a/api/controller/User.go b/api/controller/User.go index e80eb70..1d980eb 100644 --- a/api/controller/User.go +++ b/api/controller/User.go @@ -7,6 +7,7 @@ import ( "hepa-calc-api/api/requests" "hepa-calc-api/api/responses" "hepa-calc-api/api/service" + "hepa-calc-api/extend/app" "hepa-calc-api/global" "hepa-calc-api/utils" ) @@ -112,6 +113,64 @@ func (r *User) PutUser(c *gin.Context) { responses.Ok(c) } +// PutBindUserName 绑定用户数据-昵称 +func (r *User) PutBindUserName(c *gin.Context) { + userRequest := requests.UserRequest{} + req := userRequest.PutBindUserName + if err := c.ShouldBind(&req); err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 参数验证 + if err := global.Validate.Struct(req); err != nil { + responses.FailWithMessage(utils.Translate(err), c) + return + } + + userId := c.GetInt64("UserId") + + // 获取用户数据 + userDao := dao.UserDao{} + user, err := userDao.GetUserById(userId) + if err != nil { + responses.FailWithMessage("用户数据错误", c) + return + } + + if user.Mobile == "" { + responses.FailWithMessage("用户数据错误", c) + return + } + + if req.Nickname == user.UserName { + responses.Ok(c) + return + } + + // 获取app用户数据 + appUserInfo, err := app.GetInfoByMobile(user.Mobile) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + userData := make(map[string]interface{}) + + // 姓名 + if appUserInfo.Data.Name != "" { + if user.UserName != "" { + if appUserInfo.Data.Name != user.UserName { + userData["user_name"] = appUserInfo.Data.Name + } + } else { + userData["user_name"] = appUserInfo.Data.Name + } + } + + responses.Ok(c) +} + // GetUserCheck 检测用户数据绑定状态 func (r *User) GetUserCheck(c *gin.Context) { userRequest := requests.UserRequest{} @@ -149,7 +208,6 @@ func (r *User) GetUserCheck(c *gin.Context) { if err != nil || user == nil { g.WxStatus = 0 g.MobileStatus = 0 - g.NameStatus = 0 responses.OkWithData(g, c) return } @@ -159,10 +217,6 @@ func (r *User) GetUserCheck(c *gin.Context) { return } - if user.UserName != "" { - g.NameStatus = 1 - } - if user.Mobile != "" { g.MobileStatus = 1 } diff --git a/api/dto/User.go b/api/dto/User.go index 285d1c0..2f6a282 100644 --- a/api/dto/User.go +++ b/api/dto/User.go @@ -33,7 +33,6 @@ type UserDto struct { type UserCheckDto struct { WxStatus int `json:"wx_status"` // 微信绑定状态(0:否 1:是) MobileStatus int `json:"mobile_status"` // 手机号绑定状态(0:否 1:是) - NameStatus int `json:"name_status"` // 昵称填写状态(0:否 1:是) } // GetUserDto 详情