新增用户相关接口
This commit is contained in:
+66
-56
@@ -6,6 +6,7 @@ import (
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses"
|
||||
"hospital-admin-api/api/responses/userResponse"
|
||||
"hospital-admin-api/api/service"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
"strconv"
|
||||
@@ -46,60 +47,7 @@ func (r *User) GetUserPage(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
getUserPageResponses := make([]userResponse.GetUserPage, len(adminUser))
|
||||
|
||||
if len(adminUser) > 0 {
|
||||
for i, v := range adminUser {
|
||||
var Role *userResponse.GetUserPageRole
|
||||
if v.Role != nil {
|
||||
Role = &userResponse.GetUserPageRole{
|
||||
RoleId: strconv.FormatInt(v.Role.RoleId, 10),
|
||||
RoleName: v.Role.RoleName,
|
||||
}
|
||||
}
|
||||
|
||||
var Dept *userResponse.GetUserPageDept
|
||||
if v.Dept != nil {
|
||||
Dept = &userResponse.GetUserPageDept{
|
||||
DeptId: strconv.FormatInt(v.Dept.DeptId, 10),
|
||||
DeptName: v.Dept.DeptName,
|
||||
}
|
||||
}
|
||||
|
||||
var Post *userResponse.GetUserPagePost
|
||||
if v.Post != nil {
|
||||
Post = &userResponse.GetUserPagePost{
|
||||
PostId: strconv.FormatInt(v.Post.PostId, 10),
|
||||
PostName: v.Post.PostName,
|
||||
}
|
||||
}
|
||||
|
||||
// 将原始结构体转换为新结构体
|
||||
getUserPageResponse := userResponse.GetUserPage{
|
||||
UserID: strconv.Itoa(int(v.UserID)),
|
||||
Access: v.Access,
|
||||
Status: v.Status,
|
||||
IsDeleted: v.IsDeleted,
|
||||
IsDisabled: v.IsDisabled,
|
||||
NickName: v.NickName,
|
||||
Phone: v.Phone,
|
||||
Avatar: v.Avatar,
|
||||
Sex: v.Sex,
|
||||
Email: v.Email,
|
||||
RoleID: strconv.Itoa(int(v.RoleID)),
|
||||
DeptID: strconv.Itoa(int(v.DeptID)),
|
||||
PostID: strconv.Itoa(int(v.PostID)),
|
||||
CreatedAt: v.CreatedAt,
|
||||
UpdatedAt: v.UpdatedAt,
|
||||
Role: Role,
|
||||
Dept: Dept,
|
||||
Post: Post,
|
||||
}
|
||||
|
||||
// 将转换后的结构体添加到新切片中
|
||||
getUserPageResponses[i] = getUserPageResponse
|
||||
}
|
||||
}
|
||||
getUserPageResponses := userResponse.GetUserPageResponse(adminUser)
|
||||
|
||||
result := make(map[string]interface{})
|
||||
result["page"] = UserRequest.GetUserPage.Page
|
||||
@@ -112,14 +60,76 @@ func (r *User) GetUserPage(c *gin.Context) {
|
||||
// AddUser 新增用户
|
||||
func (r *User) AddUser(c *gin.Context) {
|
||||
UserRequest := requests.UserRequest{}
|
||||
if err := c.ShouldBind(&UserRequest.GetUserPage); err != nil {
|
||||
if err := c.ShouldBind(&UserRequest.AddUser); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(UserRequest.GetUserPage); err != nil {
|
||||
if err := global.Validate.Struct(UserRequest.AddUser); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
UserService := service.UserService{}
|
||||
_, err := UserService.AddUser(c, UserRequest.AddUser)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
// GetUser 用户详情
|
||||
func (r *User) GetUser(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
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
getUserResponses := userResponse.GetUserResponse(adminUser)
|
||||
|
||||
responses.OkWithData(getUserResponses, c)
|
||||
}
|
||||
|
||||
// DeleteUser 删除用户-批量
|
||||
func (r *User) DeleteUser(c *gin.Context) {
|
||||
userRequest := requests.UserRequest{}
|
||||
if err := c.ShouldBindJSON(&userRequest.DeleteUser); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(userRequest.DeleteUser); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
userService := service.UserService{}
|
||||
_, err := userService.DeleteUser(c, userRequest.DeleteUser)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user