package controller import ( "github.com/gin-gonic/gin" "hepa-calc-api/api/dao" "hepa-calc-api/api/dto" "hepa-calc-api/api/requests" "hepa-calc-api/api/responses" "hepa-calc-api/api/service" "hepa-calc-api/global" "hepa-calc-api/utils" ) type User struct{} // GetUser 获取用户数据-基本信息 func (r *User) GetUser(c *gin.Context) { userId := c.GetInt64("UserId") // 获取用户数据 userDao := dao.UserDao{} user, err := userDao.GetUserById(userId) if err != nil || user == nil { responses.FailWithMessage("用户数据错误", c) return } if user.UserStatus == 2 { responses.FailWithMessage("用户已禁用", c) return } g := dto.GetUserDto(user) // 加载数据-生日 g.LoadBirthday(user.Birthday) responses.OkWithData(g, c) } // GetUserInfo 获取用户数据-详情信息 func (r *User) GetUserInfo(c *gin.Context) { userId := c.GetInt64("UserId") // 获取用户数据 userInfoDao := dao.UserInfoDao{} userInfo, err := userInfoDao.GetUserInfoByUserId(userId) if err != nil || userInfo == nil { responses.FailWithMessage("用户数据错误", c) return } g := dto.GetUserInfoDto(userInfo) // 加载数据-预产期 g.LoadExpectedDate(userInfo.ExpectedDate) responses.OkWithData(g, c) } // PutUser 修改用户数据-基本信息 func (r *User) PutUser(c *gin.Context) { userRequest := requests.UserRequest{} req := userRequest.PutUser 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") // 业务处理 userService := service.UserService{} res, err := userService.PutUser(userId, req) if err != nil || res != true { responses.FailWithMessage(err.Error(), c) return } responses.Ok(c) }