diff --git a/api/controller/adminUser.go b/api/controller/adminUser.go index f18bc64..0ef4245 100644 --- a/api/controller/adminUser.go +++ b/api/controller/adminUser.go @@ -99,6 +99,35 @@ func (r *AdminUser) GetAdminUserPage(c *gin.Context) { responses.OkWithData(result, c) } +// GetAdminUser 用户详情 +func (r *AdminUser) GetAdminUser(c *gin.Context) { + id := c.Param("user_id") + if id == "" { + responses.FailWithMessage("缺少参数", c) + return + } + + // 将 id 转换为 int64 类型 + userId, err := strconv.ParseInt(id, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + // 获取用户详情 + AdminUserDao := dao.AdminUserDao{} + adminUser, err := AdminUserDao.GetAdminUserFirstById(userId) + if err != nil || adminUser == nil { + responses.FailWithMessage("用户数据错误", c) + return + } + + // 处理返回值 + result := dto.GetAdminUserDto(adminUser) + + responses.OkWithData(result, c) +} + // AddAdminUser 新增 func (r *AdminUser) AddAdminUser(c *gin.Context) { adminUserRequest := requests.AdminUserRequest{} @@ -145,8 +174,8 @@ func (r *AdminUser) AddAdminUser(c *gin.Context) { maps := make(map[string]interface{}) maps["access"] = req.Access maps["is_deleted"] = 0 - adminUser, _ := adminUserDao.GetAdminUser(maps) - if adminUser != nil { + res, _ := adminUserDao.GetAdminUser(maps) + if res != nil { tx.Rollback() responses.FailWithMessage("账号名重复", c) return @@ -156,8 +185,8 @@ func (r *AdminUser) AddAdminUser(c *gin.Context) { maps = make(map[string]interface{}) maps["phone"] = req.Phone maps["is_deleted"] = 0 - adminUser, _ = adminUserDao.GetAdminUser(maps) - if adminUser != nil { + res, _ = adminUserDao.GetAdminUser(maps) + if res != nil { tx.Rollback() responses.FailWithMessage("手机号重复", c) return @@ -185,7 +214,7 @@ func (r *AdminUser) AddAdminUser(c *gin.Context) { Email: req.Email, } - adminUser, err = adminUserDao.AddAdminUser(tx, AdminUserModel) + _, err = adminUserDao.AddAdminUser(tx, AdminUserModel) if err != nil { tx.Rollback() responses.FailWithMessage("新增失败", c) @@ -265,8 +294,8 @@ func (r *AdminUser) PutAdminUser(c *gin.Context) { maps := make(map[string]interface{}) maps["access"] = req.Access maps["is_deleted"] = 0 - adminUser, _ = adminUserDao.GetAdminUser(maps) - if adminUser != nil { + res, _ := adminUserDao.GetAdminUser(maps) + if res != nil { responses.FailWithMessage("账号名重复", c) return } @@ -278,8 +307,8 @@ func (r *AdminUser) PutAdminUser(c *gin.Context) { maps := make(map[string]interface{}) maps["phone"] = req.Phone maps["is_deleted"] = 0 - adminUser, _ = adminUserDao.GetAdminUser(maps) - if adminUser != nil { + res, _ := adminUserDao.GetAdminUser(maps) + if res != nil { responses.FailWithMessage("手机号重复", c) return } diff --git a/api/dto/AdminUser.go b/api/dto/AdminUser.go index 36045f3..16b5d27 100644 --- a/api/dto/AdminUser.go +++ b/api/dto/AdminUser.go @@ -80,3 +80,20 @@ func (r *AdminUserDto) LoadUserDoctor(t string) *AdminUserDto { } return r } + +func GetAdminUserDto(m *model.AdminUser) *AdminUserDto { + return &AdminUserDto{ + UserId: fmt.Sprintf("%d", m.UserId), + Access: m.Access, + Status: m.Status, + IsDeleted: m.IsDeleted, + IsDisabled: m.IsDisabled, + NickName: m.NickName, + Phone: m.Phone, + Avatar: utils.AddOssDomain(m.Avatar), + Sex: m.Sex, + Email: m.Email, + CreatedAt: m.CreatedAt, + UpdatedAt: m.UpdatedAt, + } +} diff --git a/api/router/router.go b/api/router/router.go index fecab10..9d4a24b 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -253,6 +253,9 @@ func privateRouter(r *gin.Engine, api controller.Api) { // 获取列表-分页 userAdminGroup.GET("/page", api.AdminUser.GetAdminUserPage) + // 用户详情 + userAdminGroup.GET("/:user_id", api.AdminUser.GetAdminUser) + // 新增 userAdminGroup.POST("", api.AdminUser.AddAdminUser)