2025-07-17 17:52:26 +08:00

44 lines
857 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 {
newReviewCList := make([]string, 0)
for _, c := range cPo.WriteOpCheckCharacters {
if c != "" {
newReviewCList = append(newReviewCList, c)
}
}
cPo.WriteOpCheckCharacters = newReviewCList
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,
}
}