caipin 4 роки тому
батько
коміт
012a187d86
3 змінених файлів з 42 додано та 0 видалено
  1. 19 0
      services/manager_service.go
  2. 17 0
      web/backstage/manager_bs.go
  3. 6 0
      web/viewmodels/manager.go

+ 19 - 0
services/manager_service.go

@@ -7,6 +7,7 @@
 package services
 
 import (
+	"encoding/json"
 	"errors"
 	"fmt"
 	"strconv"
@@ -24,6 +25,7 @@ type ManagerService interface {
 	GetAll() (dataList []viewmodels.Manager, total int64)
 	CountAll() int64
 	Get(id int) *viewmodels.Manager
+	GetCurrentManager(staffName string) *viewmodels.CurrentManager
 	Update(data viewmodels.Manager, id int, groupId int) error
 	Create(data *models.CmManager) error
 	Enable(id int, canLogin int) error
@@ -59,6 +61,23 @@ func (s *managerService) CountAll() int64 {
 	return s.dao.CountAll()
 }
 
+func (s *managerService) GetCurrentManager(staffName string) *viewmodels.CurrentManager {
+	managerData := s.dao.GetUserName(staffName)
+	groupDao := dao.NewGroupDao(datasource.InstanceDbMaster())
+
+	groupData := groupDao.Get(managerData.GroupId)
+
+	cmData := viewmodels.CurrentManager{}
+	id, _ := comm.AesEncrypt(strconv.Itoa(managerData.Id), conf.SignSecret)
+	permission := []string{}
+	json.Unmarshal([]byte(groupData.Permission), &permission)
+
+	cmData.Id = id
+	cmData.Permission = permission
+	cmData.IsAdmin = managerData.IsAdmin
+	return &cmData
+}
+
 // 获得管理员详情
 func (s *managerService) Get(id int) *viewmodels.Manager {
 	result := s.dao.Get(id)

+ 17 - 0
web/backstage/manager_bs.go

@@ -84,6 +84,23 @@ func (c *ManagerBs) Get() {
 	})
 }
 
+// 获得管理员信息
+func (c *ManagerBs) GetCurrentuser() {
+
+	staffName, err := utils.GetBackstageKey(c.Ctx, "StaffName")
+	if err != nil {
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
+		return
+	}
+
+	result := c.ServiceManager.GetCurrentManager(staffName)
+	c.Ctx.JSON(iris.Map{
+		"code": 0,
+		"data": result,
+		"msg":  "",
+	})
+}
+
 // 更新后台成员信息
 func (c *ManagerBs) PostUpdate() {
 	// 1.获得数据

+ 6 - 0
web/viewmodels/manager.go

@@ -31,6 +31,12 @@ type Manager struct {
 
 }
 
+type CurrentManager struct {
+	Id         string   `form:"id" json:"id" `
+	Permission []string `form:"roles" json:"roles" `
+	IsAdmin    int      `form:"isAdmin" json:"isAdmin" `
+}
+
 // 验证方法
 func (l Manager) ValidateGet() error {
 	return validation.ValidateStruct(&l,