|
@@ -414,32 +414,36 @@ func (s *sUser) GetUserByUnionID(unionID string) (*model.AdminUser, error) {
|
|
|
}
|
|
|
|
|
|
func (s *sUser) GetUserRolePermission(c *gin.Context) (bool, error) {
|
|
|
- res, ok := c.Get("user")
|
|
|
- if !ok {
|
|
|
- c.JSON(200, serializer.CheckLogin())
|
|
|
- c.Abort()
|
|
|
- }
|
|
|
- user := res.(*token.UserClaims)
|
|
|
- if user.RoleId == 1 { // 超管拥有权限
|
|
|
- return true, nil
|
|
|
- }
|
|
|
- // 查询玩家是否拥有权限管理页面的入口
|
|
|
- pageQ := query.Use(config.AdminDB).AdminMenu
|
|
|
- pageIds := make([]int32, 0)
|
|
|
- err := pageQ.WithContext(c).Where(pageQ.Path.Eq("/permission")).Pluck(pageQ.ID, &pageIds)
|
|
|
- if err != nil {
|
|
|
- logrus.WithField("from", "AdminMenu Pluck").Error(err)
|
|
|
- return false, err
|
|
|
- }
|
|
|
- rmq := query.Use(config.AdminDB).AdminRoleMenu
|
|
|
- count, err := rmq.WithContext(c).Where(rmq.RoleID.Eq(int32(user.RoleId)), rmq.PageID.In(pageIds...)).Count()
|
|
|
- if err != nil {
|
|
|
- logrus.WithField("from", "AdminRoleMenu Count").Error(err)
|
|
|
- return false, err
|
|
|
- }
|
|
|
- if count > 0 {
|
|
|
- return true, nil
|
|
|
- } else {
|
|
|
- return false, nil
|
|
|
- }
|
|
|
+ // 只有超管拥有角色管理权限
|
|
|
+ roleId, _ := c.Get("admin_role_id")
|
|
|
+ return config.IsSuperRole(roleId.(int64)), nil
|
|
|
+
|
|
|
+ //res, ok := c.Get("user")
|
|
|
+ //if !ok {
|
|
|
+ // c.JSON(200, serializer.CheckLogin())
|
|
|
+ // c.Abort()
|
|
|
+ //}
|
|
|
+ //user := res.(*token.UserClaims)
|
|
|
+ //if user.RoleId == 1 { // 超管拥有权限
|
|
|
+ // return true, nil
|
|
|
+ //}
|
|
|
+ //// 查询玩家是否拥有权限管理页面的入口
|
|
|
+ //pageQ := query.Use(config.AdminDB).AdminMenu
|
|
|
+ //pageIds := make([]int32, 0)
|
|
|
+ //err := pageQ.WithContext(c).Where(pageQ.Path.Eq("/permission")).Pluck(pageQ.ID, &pageIds)
|
|
|
+ //if err != nil {
|
|
|
+ // logrus.WithField("from", "AdminMenu Pluck").Error(err)
|
|
|
+ // return false, err
|
|
|
+ //}
|
|
|
+ //rmq := query.Use(config.AdminDB).AdminRoleMenu
|
|
|
+ //count, err := rmq.WithContext(c).Where(rmq.RoleID.Eq(int32(user.RoleId)), rmq.PageID.In(pageIds...)).Count()
|
|
|
+ //if err != nil {
|
|
|
+ // logrus.WithField("from", "AdminRoleMenu Count").Error(err)
|
|
|
+ // return false, err
|
|
|
+ //}
|
|
|
+ //if count > 0 {
|
|
|
+ // return true, nil
|
|
|
+ //} else {
|
|
|
+ // return false, nil
|
|
|
+ //}
|
|
|
}
|