30 lines
1.6 KiB
Go
30 lines
1.6 KiB
Go
package service
|
|
|
|
import (
|
|
"kra/internal/biz"
|
|
"kra/internal/service/dto"
|
|
)
|
|
|
|
func convertAuthority(value biz.Authority) *dto.AuthorityResponse {
|
|
return &dto.AuthorityResponse{AuthorityID: value.AuthorityID, AuthorityName: value.AuthorityName, ParentID: value.ParentID, Children: []*dto.AuthorityResponse{}, Menus: []any{}, DataScope: value.DataScope, DefaultRouter: value.DefaultRouter}
|
|
}
|
|
func convertUser(user *biz.User) *dto.UserResponse {
|
|
authorities := make([]*dto.AuthorityResponse, 0, len(user.Authorities))
|
|
for _, value := range user.Authorities {
|
|
authorities = append(authorities, convertAuthority(value))
|
|
}
|
|
departments := make([]*dto.DepartmentResponse, 0, len(user.Departments))
|
|
for i := range user.Departments {
|
|
departments = append(departments, departmentResponse(&user.Departments[i]))
|
|
}
|
|
positions := make([]*dto.PositionResponse, 0, len(user.Positions))
|
|
for i := range user.Positions {
|
|
positions = append(positions, positionResponse(&user.Positions[i]))
|
|
}
|
|
var department any = map[string]any{}
|
|
if user.Department != nil {
|
|
department = departmentResponse(user.Department)
|
|
}
|
|
return &dto.UserResponse{ID: user.ID, CreatedAt: user.CreatedAt, UpdatedAt: user.UpdatedAt, DeletedAt: nil, UUID: user.UUID, Username: user.Username, NickName: user.NickName, HeaderImg: user.HeaderImg, AuthorityID: user.AuthorityID, Authority: convertAuthority(user.Authority), Authorities: authorities, DeptID: user.DeptID, Department: department, Departments: departments, Positions: positions, Phone: user.Phone, Email: user.Email, Enable: user.Enable, OriginSetting: user.OriginSetting}
|
|
}
|