package model type SystemUserRole struct { UserRoleId int64 `xorm:"not null pk autoincr INT(11)" json:"userRoleId"` //用户编号 UserId int64 `xorm:"INT(11)" json:"userId"` //用户ID RoleId int64 `xorm:"INT(11)" json:"roleId"` //角色ID Status int `xorm:"SMALLINT default 0" json:"status"` //状态 0禁用 1启用 CreateAt int64 `xorm:"created" json:"createAt"` //创建时间 UpdateAt int64 `xorm:"updated" json:"updateAt"` //更新时间 } func GetRolesByUserId(userId int64) []SystemRole { us := new(SystemUser) h, err := DB.ID(userId).Get(us) if err != nil || !h { return nil } roleList := make([]SystemUserRole, 0) err = DB.Where("user_id = ? and status = 1", us.UserId).Find(&roleList) if err != nil { return nil } roleIdList := make([]int64, len(roleList)) for k, v := range roleList { roleIdList[k] = v.RoleId } list := make([]SystemRole, 0) err = DB.In("role_id", roleIdList).Find(&list) if err != nil { return nil } return list }