136 lines
3.7 KiB
Go
136 lines
3.7 KiB
Go
package dto
|
|
|
|
import (
|
|
"fmt"
|
|
"hospital-admin-api/api/model"
|
|
"hospital-admin-api/utils"
|
|
"strconv"
|
|
)
|
|
|
|
type AdminUserDto 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"` // 修改时间
|
|
AdminRole *AdminRoleDto `json:"role"` // 角色
|
|
AdminDept *AdminDeptDto `json:"dept"` // 部门
|
|
AdminPost *AdminPostDto `json:"post"` // 岗位
|
|
}
|
|
|
|
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,
|
|
RoleID: fmt.Sprintf("%d", m.RoleID),
|
|
DeptID: fmt.Sprintf("%d", m.DeptID),
|
|
PostID: fmt.Sprintf("%d", m.PostID),
|
|
CreatedAt: m.CreatedAt,
|
|
UpdatedAt: m.UpdatedAt,
|
|
}
|
|
}
|
|
|
|
func GetAdminUserListDto(m []*model.AdminUser) []*AdminUserDto {
|
|
// 处理返回值
|
|
responses := make([]*AdminUserDto, len(m))
|
|
|
|
if len(m) > 0 {
|
|
for i, v := range m {
|
|
response := &AdminUserDto{
|
|
UserID: fmt.Sprintf("%d", v.UserID),
|
|
Access: v.Access,
|
|
Status: v.Status,
|
|
IsDeleted: v.IsDeleted,
|
|
IsDisabled: v.IsDisabled,
|
|
NickName: v.NickName,
|
|
Phone: v.Phone,
|
|
Avatar: utils.AddOssDomain(v.Avatar),
|
|
Sex: v.Sex,
|
|
Email: v.Email,
|
|
RoleID: fmt.Sprintf("%d", v.RoleID),
|
|
DeptID: fmt.Sprintf("%d", v.DeptID),
|
|
PostID: fmt.Sprintf("%d", v.PostID),
|
|
CreatedAt: v.CreatedAt,
|
|
UpdatedAt: v.UpdatedAt,
|
|
}
|
|
|
|
// 角色
|
|
if v.Role != nil {
|
|
response = response.LoadAdminRole(v.Role)
|
|
}
|
|
|
|
// 部门
|
|
if v.Dept != nil {
|
|
response = response.LoadAdminDept(v.Dept)
|
|
}
|
|
|
|
// 岗位
|
|
if v.Post != nil {
|
|
response = response.LoadAdminPost(v.Post)
|
|
}
|
|
|
|
// 将转换后的结构体添加到新切片中
|
|
responses[i] = response
|
|
}
|
|
}
|
|
|
|
return responses
|
|
}
|
|
|
|
// LoadAdminRole 角色
|
|
func (r *AdminUserDto) LoadAdminRole(m *model.AdminRole) *AdminUserDto {
|
|
if m != nil {
|
|
adminRoleDto := &AdminRoleDto{
|
|
RoleId: strconv.FormatInt(m.RoleId, 10),
|
|
RoleName: m.RoleName,
|
|
}
|
|
|
|
r.AdminRole = adminRoleDto
|
|
}
|
|
return r
|
|
}
|
|
|
|
// LoadAdminDept 部门
|
|
func (r *AdminUserDto) LoadAdminDept(m *model.AdminDept) *AdminUserDto {
|
|
if m != nil {
|
|
adminDeptDto := &AdminDeptDto{
|
|
DeptId: fmt.Sprintf("%d", m.DeptId), // 部门id
|
|
DeptName: m.DeptName, // 部门名称
|
|
}
|
|
|
|
r.AdminDept = adminDeptDto
|
|
}
|
|
return r
|
|
}
|
|
|
|
// LoadAdminPost 岗位
|
|
func (r *AdminUserDto) LoadAdminPost(m *model.AdminPost) *AdminUserDto {
|
|
if m != nil {
|
|
adminPostDto := &AdminPostDto{
|
|
PostId: fmt.Sprintf("%d", m.PostId),
|
|
PostName: m.PostName,
|
|
}
|
|
|
|
r.AdminPost = adminPostDto
|
|
}
|
|
return r
|
|
}
|