123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package services
- import "eta/eta_mini_crm/models"
- // 获得全部的权限结构列表
- func GetChartPermissionList() (publicMap, privateMap map[string]*models.ChartPermissionList, err error) {
- items, err := models.GetChildChartPermissionListById(0)
- if err != nil {
- return
- }
- publicMap = make(map[string]*models.ChartPermissionList)
- privateMap = make(map[string]*models.ChartPermissionList)
- for _, cpl := range items {
- childPermissionList, e := models.GetChildChartPermissionListById(cpl.ChartPermissionId)
- if e != nil {
- return nil, nil, e
- }
- publicTmp := copyChartPermissionList(cpl)
- privateTmp := copyChartPermissionList(cpl)
- for _, childCpl := range childPermissionList {
- if childCpl.IsPublic == 1 {
- // 公有权限
- publicTmp.Child = append(publicTmp.Child, childCpl)
- } else {
- // 私有权限
- privateTmp.Child = append(privateTmp.Child, childCpl)
- }
- }
- if len(publicTmp.Child) > 0 {
- publicMap[cpl.ChartPermissionName] = publicTmp
- }
- if len(privateTmp.Child) > 0 {
- privateMap[cpl.ChartPermissionName] = privateTmp
- }
- }
- return
- }
- // 获得全部的权限结构列表树形结构
- func GetChartPermissionListTree(list []*models.ChartPermissionListTree, parentId int) []*models.ChartPermissionListTree {
- res := make([]*models.ChartPermissionListTree, 0)
- for _, v := range list {
- if v.ParentId == parentId {
- t := new(models.ChartPermissionListTree)
- t.ChartPermissionId = v.ChartPermissionId
- t.PermissionName = v.PermissionName
- t.ParentId = v.ParentId
- for _, j := range list {
- if j.ParentId == v.ChartPermissionId {
- c := new(models.ChartPermissionListTree)
- c.ChartPermissionId = j.ChartPermissionId
- c.PermissionName = j.PermissionName
- c.ParentId = j.ParentId
- if j.IsPublic == 1 {
- t.PublicChild = append(t.PublicChild, c)
- } else {
- t.PrivateChild = append(t.PrivateChild, c)
- }
- }
- }
- res = append(res, t)
- }
- }
- return res
- }
- func copyChartPermissionList(src *models.ChartPermissionList) *models.ChartPermissionList {
- tmp := &models.ChartPermissionList{
- ChartPermissionId: src.ChartPermissionId,
- ChartPermissionName: src.ChartPermissionName,
- PermissionName: src.PermissionName,
- Sort: src.Sort,
- Enabled: src.Enabled,
- CreatedTime: src.CreatedTime,
- LastUpdatedTime: src.LastUpdatedTime,
- TeleconferenceSort: src.TeleconferenceSort,
- Remark: src.Remark,
- ClassifyName: src.ClassifyName,
- ProductName: src.ProductName,
- ImageURL: src.ImageURL,
- ShowType: src.ShowType,
- IsOther: src.IsOther,
- IsReport: src.IsReport,
- CygxAuth: src.CygxAuth,
- PermissionType: src.PermissionType,
- YbImgUrl: src.YbImgUrl,
- ProductPermissionName: src.ProductPermissionName,
- PriceDrivenState: src.PriceDrivenState,
- ImageUrlM: src.ImageUrlM,
- ParentId: src.ParentId,
- IsPublic: src.IsPublic,
- Child: src.Child,
- }
- return tmp
- }
|