package admin
import (
"github.com/astaxie/beego"
"github.com/jinzhu/gorm"
"xiaomi/models"
)
type MainController struct {
beego.Controller
}
func (c *MainController) Get() {
userinfo, ok := c.GetSession("userinfo").(models.Manager)
if ok {
//获取用户名
c.Data["username"] = userinfo.Username
//1、获取角色id
roleId := userinfo.RoleId
//2、获取全部的权限 (排序),忘记的话参考:https://gorm.io/zh_CN/docs/preload.html
access := []models.Access{}
models.DB.Preload("AccessItem", func(db *gorm.DB) *gorm.DB {
return db.Order("access.sort DESC")
}).Order("sort desc").Where("module_id=?", 0).Find(&access)
//3、获取当前角色拥有的权限 ,并把权限id放在一个map对象里面
roleAccess := []models.RoleAccess{}
models.DB.Where("role_id=?", roleId).Find(&roleAccess)
roleAccessMap := make(map[int]int)
for _, v := range roleAccess {
roleAccessMap