37 lines
659 B
Go
37 lines
659 B
Go
package entity
|
|
|
|
import (
|
|
"admin/apps/user/model"
|
|
"admin/internal/model/dto"
|
|
)
|
|
|
|
type User struct {
|
|
Po *model.User
|
|
Character *model.Character
|
|
}
|
|
|
|
func FromUserPo(po *model.User, cPo *model.Character) *User {
|
|
return &User{Po: po, Character: cPo}
|
|
}
|
|
|
|
func (et *User) GetUserId() int {
|
|
return et.Po.ID
|
|
}
|
|
|
|
func (et *User) IsAdmin() bool {
|
|
return et.Character.Name == "admin"
|
|
}
|
|
|
|
// GetPermissions 返回权限列表
|
|
func (et *User) GetPermissions() []string {
|
|
return et.Character.Permissions
|
|
}
|
|
|
|
func (et *User) ToDtoInfo() *dto.UserInfo {
|
|
return &dto.UserInfo{
|
|
UserId: et.Po.ID,
|
|
NickName: et.Po.NickName,
|
|
Character: et.Po.CharacterName,
|
|
}
|
|
}
|