|
@@ -7,6 +7,7 @@ import (
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/services/data"
|
|
|
+ "eta/eta_api/services/data/data_manage_permission"
|
|
|
"eta/eta_api/utils"
|
|
|
"sort"
|
|
|
)
|
|
@@ -39,6 +40,19 @@ func (this *EdbClassifyController) ListV2() {
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ classifyMap := make(map[int]*data_manage.EdbClassifyItems)
|
|
|
+ for _, v := range classifyAll {
|
|
|
+ classifyMap[v.ClassifyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ permissionClassifyIdList, err := data_manage_permission.GetUserEdbClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
|
|
|
obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
@@ -59,19 +73,36 @@ func (this *EdbClassifyController) ListV2() {
|
|
|
return
|
|
|
}
|
|
|
edbInfoMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
- for _, v := range allEdbInfo {
|
|
|
-
|
|
|
- if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
- continue
|
|
|
+ if len(allEdbInfo) > 0 {
|
|
|
+
|
|
|
+ permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(this.SysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range allEdbInfo {
|
|
|
+
|
|
|
+ if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ if classifyInfo, ok := classifyMap[v.ClassifyId]; ok {
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(v.IsJoinPermission, classifyInfo.IsJoinPermission, v.EdbInfoId, v.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
+
|
|
|
+ button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE, v.HaveOperaAuth)
|
|
|
+ button.AddButton = false
|
|
|
+ v.Button = button
|
|
|
+ edbInfoMap[v.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
|
|
|
}
|
|
|
- button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE)
|
|
|
- button.AddButton = false
|
|
|
- v.Button = button
|
|
|
- edbInfoMap[v.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
|
|
|
}
|
|
|
rootChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
for _, v := range classifyAll {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
button.AddButton = false
|
|
|
v.Button = button
|
|
|
|
|
@@ -85,7 +116,10 @@ func (this *EdbClassifyController) ListV2() {
|
|
|
}
|
|
|
nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
for _, v := range rootList {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
v.Button = button
|
|
|
|
|
|
if existItems, ok := rootChildMap[v.ClassifyId]; ok {
|
|
@@ -620,6 +654,13 @@ func (this *EdbClassifyController) ItemsV2() {
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ permissionClassifyIdList, err := data_manage_permission.GetUserEdbClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -635,7 +676,10 @@ func (this *EdbClassifyController) ItemsV2() {
|
|
|
|
|
|
rootChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
for _, v := range classifyAll {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
button.AddButton = false
|
|
|
v.Button = button
|
|
|
|
|
@@ -649,7 +693,10 @@ func (this *EdbClassifyController) ItemsV2() {
|
|
|
}
|
|
|
nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
for _, v := range rootList {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
v.Button = button
|
|
|
|
|
|
if existItems, ok := rootChildMap[v.ClassifyId]; ok {
|
|
@@ -711,6 +758,13 @@ func (this *EdbClassifyController) ClassifyEdbInfoList() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ classifyInfo, err := data_manage.GetEdbClassifyById(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
|
confList, err := obj.GetAllListByAdminId(this.SysUser.AdminId)
|
|
@@ -732,16 +786,27 @@ func (this *EdbClassifyController) ClassifyEdbInfoList() {
|
|
|
}
|
|
|
|
|
|
list := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
- for _, v := range allEdbInfo {
|
|
|
-
|
|
|
- if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
- continue
|
|
|
+
|
|
|
+ if len(allEdbInfo) > 0 {
|
|
|
+
|
|
|
+ permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(this.SysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
- button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE)
|
|
|
- button.AddButton = false
|
|
|
- v.Button = button
|
|
|
+ for _, v := range allEdbInfo {
|
|
|
+
|
|
|
+ if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(v.IsJoinPermission, classifyInfo.IsJoinPermission, v.EdbInfoId, v.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE, v.HaveOperaAuth)
|
|
|
+ button.AddButton = false
|
|
|
+ v.Button = button
|
|
|
|
|
|
- list = append(list, v)
|
|
|
+ list = append(list, v)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
resp := new(data_manage.ClassifyEdbInfoListResp)
|
|
@@ -781,16 +846,30 @@ func (this *EdbClassifyController) ItemsV3() {
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ permissionClassifyIdList, err := data_manage_permission.GetUserEdbClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
rootTwoMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
for _, v := range rootTwoList {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
v.Button = button
|
|
|
|
|
|
rootTwoMap[v.ParentId] = append(rootTwoMap[v.ParentId], v)
|
|
|
}
|
|
|
rootTwoChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
for _, v := range classifyAll {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
v.Button = button
|
|
|
if v.Level == 3 {
|
|
|
rootTwoChildMap[v.ParentId] = append(rootTwoChildMap[v.ParentId], v)
|
|
@@ -799,18 +878,27 @@ func (this *EdbClassifyController) ItemsV3() {
|
|
|
|
|
|
nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
for _, v := range rootList {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
v.Button = button
|
|
|
|
|
|
if existItems, ok := rootTwoMap[v.ClassifyId]; ok {
|
|
|
v.Children = existItems
|
|
|
for _, item := range existItems {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, item.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, item.SysUserId, v.HaveOperaAuth)
|
|
|
item.Button = button
|
|
|
|
|
|
if existItems, ok := rootTwoChildMap[item.ClassifyId]; ok {
|
|
|
for _, existItem := range existItems {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
button.AddButton = false
|
|
|
existItem.Button = button
|
|
|
}
|
|
@@ -839,11 +927,10 @@ func (this *EdbClassifyController) ItemsV3() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
|
|
|
|
|
|
canOpClassify := true
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, 0)
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, 0, true)
|
|
|
if !button.AddButton {
|
|
|
canOpClassify = false
|
|
|
}
|
|
@@ -889,21 +976,6 @@ func (this *EdbClassifyController) SimpleList() {
|
|
|
|
|
|
var sortList data_manage.EdbClassifyItemList
|
|
|
if parentId > 0 {
|
|
|
-
|
|
|
- currClassify, err := data_manage.GetEdbClassifyById(parentId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取当前分类信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- permissionEdbIdList, permissionClassifyIdList, err := data.GetUserEdbAndClassifyPermissionList(this.SysUser.AdminId, 0, 0)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
|
|
|
obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
@@ -924,23 +996,51 @@ func (this *EdbClassifyController) SimpleList() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- for _, v := range allEdbInfo {
|
|
|
-
|
|
|
- if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
- continue
|
|
|
+ if len(allEdbInfo) > 0 {
|
|
|
+
|
|
|
+ currClassify, err := data_manage.GetEdbClassifyById(parentId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取当前分类信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(this.SysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range allEdbInfo {
|
|
|
+
|
|
|
+ if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.EdbInfoId, v.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE, v.HaveOperaAuth)
|
|
|
+ button.AddButton = false
|
|
|
+ v.Button = button
|
|
|
+ v.Children = make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ v.ParentId = parentId
|
|
|
+ nodeAll = append(nodeAll, v)
|
|
|
}
|
|
|
- button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE)
|
|
|
- button.AddButton = false
|
|
|
- v.Button = button
|
|
|
- v.Children = make([]*data_manage.EdbClassifyItems, 0)
|
|
|
- v.ParentId = parentId
|
|
|
- v.HaveOperaAuth = data.CheckEdbPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.EdbInfoId, v.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
- nodeAll = append(nodeAll, v)
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
if len(rootList) > 0 {
|
|
|
+
|
|
|
+ permissionClassifyIdList, err := data_manage_permission.GetUserEdbClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
for _, v := range rootList {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
v.Button = button
|
|
|
v.Children = make([]*data_manage.EdbClassifyItems, 0)
|
|
|
nodeAll = append(nodeAll, v)
|
|
@@ -968,7 +1068,7 @@ func (this *EdbClassifyController) SimpleList() {
|
|
|
|
|
|
|
|
|
canOpClassify := true
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, 0)
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, 0, true)
|
|
|
if !button.AddButton {
|
|
|
canOpClassify = false
|
|
|
}
|
|
@@ -1005,8 +1105,19 @@ func (this *EdbClassifyController) ClassifyTree() {
|
|
|
var sortList data_manage.EdbClassifyItemList
|
|
|
|
|
|
if len(allList) > 0 {
|
|
|
+
|
|
|
+ permissionClassifyIdList, err := data_manage_permission.GetUserEdbClassifyPermissionList(this.SysUser.AdminId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
for k, v := range allList {
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbClassifyPermissionByPermissionIdList(v.IsJoinPermission, v.ClassifyId, permissionClassifyIdList)
|
|
|
+
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId, v.HaveOperaAuth)
|
|
|
allList[k].Button = button
|
|
|
}
|
|
|
nodeAll = data.GetClassifyTreeRecursive(allList, 0)
|
|
@@ -1030,7 +1141,7 @@ func (this *EdbClassifyController) ClassifyTree() {
|
|
|
|
|
|
|
|
|
canOpClassify := true
|
|
|
- button := data.GetEdbClassifyOpButton(this.SysUser, 0)
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, 0, true)
|
|
|
if !button.AddButton {
|
|
|
canOpClassify = false
|
|
|
}
|