146 lines
4.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package userResponse
import (
"hospital-admin-api/api/model"
"hospital-admin-api/config"
"strconv"
)
// getUserPage 获取用户列表-分页
type getUserPage struct {
UserID string `json:"user_id"` // 主键id
Access string `json:"access"` // 账号
Status int `json:"status"` // 状态1:正常 2:审核中 3:审核失败)
IsDeleted int `json:"is_deleted"` // 是否被删除0:否 1:是)
IsDisabled int `json:"is_disabled"` // 是否被禁用0:否 1:是)
NickName string `json:"nick_name"` // 昵称
Phone string `json:"phone"` // 手机号
Avatar string `json:"avatar"` // 头像
Sex int `json:"sex"` // 性别1:男 2:女)
Email string `json:"email"` // 邮箱
RoleID string `json:"role_id"` // 角色id
DeptID string `json:"dept_id"` // 部门id
PostID string `json:"post_id"` // 岗位id
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
Role *getUserPageRole `json:"role"` // 角色
Dept *getUserPageDept `json:"dept"` // 部门
Post *getUserPagePost `json:"post"` // 岗位
}
type getUserPageRole struct {
RoleId string `json:"role_id"` // 角色id
RoleName string `json:"role_name"` // 角色名称
}
type getUserPageDept struct {
DeptId string `json:"dept_id"` // 部门id
DeptName string `json:"dept_name"` // 部门名称
}
type getUserPagePost struct {
PostId string `json:"post_id"` // 岗位id
PostName string `json:"post_name"` // 岗位名称
}
// getUser 用户详情
type getUser struct {
UserID string `json:"user_id"`
Access string `json:"access"`
Status int `json:"status"`
IsDeleted int `json:"is_deleted"`
IsDisabled int `json:"is_disabled"`
NickName string `json:"nick_name"`
Phone string `json:"phone"`
Avatar string `json:"avatar"`
Sex int `json:"sex"`
Email string `json:"email"`
RoleID string `json:"role_id"`
DeptID string `json:"dept_id"`
PostID string `json:"post_id"`
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// GetUserPageResponse 获取用户列表-分页
func GetUserPageResponse(adminUser []*model.AdminUser) []getUserPage {
// 处理返回值
getUserPageResponses := make([]getUserPage, len(adminUser))
if len(adminUser) > 0 {
for i, v := range adminUser {
var role *getUserPageRole
if v.Role != nil {
role = &getUserPageRole{
RoleId: strconv.FormatInt(v.Role.RoleId, 10),
RoleName: v.Role.RoleName,
}
}
var dept *getUserPageDept
if v.Dept != nil {
dept = &getUserPageDept{
DeptId: strconv.FormatInt(v.Dept.DeptId, 10),
DeptName: v.Dept.DeptName,
}
}
var post *getUserPagePost
if v.Post != nil {
post = &getUserPagePost{
PostId: strconv.FormatInt(v.Post.PostId, 10),
PostName: v.Post.PostName,
}
}
// 将原始结构体转换为新结构体
getUserPageResponse := 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: config.C.Oss.OssCustomDomainName + "/" + 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
}
}
return getUserPageResponses
}
// GetUserResponse 用户详情
func GetUserResponse(adminUser *model.AdminUser) *getUser {
return &getUser{
UserID: strconv.FormatInt(adminUser.UserID, 10),
Access: adminUser.Access,
Status: adminUser.Status,
IsDeleted: adminUser.IsDeleted,
IsDisabled: adminUser.IsDisabled,
NickName: adminUser.NickName,
Phone: adminUser.Phone,
Avatar: config.C.Oss.OssCustomDomainName + "/" + adminUser.Avatar,
Sex: adminUser.Sex,
Email: adminUser.Email,
RoleID: strconv.FormatInt(adminUser.RoleID, 10),
DeptID: strconv.FormatInt(adminUser.DeptID, 10),
PostID: strconv.FormatInt(adminUser.PostID, 10),
CreatedAt: adminUser.CreatedAt,
UpdatedAt: adminUser.UpdatedAt,
}
}