data_manage_persmission.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package data
  2. import (
  3. "eta/eta_api/models/data_manage"
  4. )
  5. // SetPermissionEdbChart
  6. // @Description: 单独给资产(指标、图表、ETA表格)设置权限
  7. // @author: Roc
  8. // @datetime 2024-03-27 10:52:32
  9. // @param source int
  10. // @param subSource int
  11. // @param userId int
  12. // @param userList []int
  13. // @param isSelectAll bool
  14. // @param dataId []string
  15. // @param noDataId []string
  16. // @param keyword string
  17. // @param classify string
  18. // @return err error
  19. // @return errMsg string
  20. func SetPermissionEdbChart(source, subSource, userId int, userList []int, isSelectAll bool, dataId, noDataId []string, keyword, classify string) (err error, errMsg string) {
  21. // TODO 消息通知
  22. // 如果勾选全部数据,那么
  23. if isSelectAll {
  24. // 找出不要的指标ID列表
  25. noDataIdMap := make(map[string]string, 0)
  26. for _, v := range noDataId {
  27. noDataIdMap[v] = v
  28. }
  29. // 需要转义的指标/图表ID列表
  30. dataId = make([]string, 0)
  31. // 获取所有指标/图表
  32. list, _, tmpErr := GetMoveEdbChartList(source, subSource, userId, keyword, classify, 0, 100000)
  33. if tmpErr != nil {
  34. err = tmpErr
  35. return
  36. }
  37. for _, v := range list {
  38. if _, ok := noDataIdMap[v.DataId]; !ok {
  39. dataId = append(dataId, v.DataId)
  40. }
  41. }
  42. }
  43. if len(userList) <= 0 {
  44. // 说明是取消权限管控
  45. }
  46. switch source {
  47. case 3, 4: //ETA指标库、ETA预测指标
  48. tmpList, tmpErr := data_manage.GetEdbInfoListGroupByUserId(dataId)
  49. if tmpErr != nil {
  50. err = tmpErr
  51. return
  52. }
  53. if len(tmpList) > 0 {
  54. // 修改创建人
  55. err = data_manage.SetPermissionEdbChartByEdbIdList(dataId, userList)
  56. }
  57. //case 5: //图库
  58. // tmpList, tmpErr := data_manage.GetChartInfoListGroupByUserId(dataId)
  59. // if tmpErr != nil {
  60. // err = tmpErr
  61. // return
  62. // }
  63. // if len(tmpList) > 0 {
  64. // for _, v := range tmpList {
  65. // if v.SysUserId == newUserId {
  66. // errMsg = "新创建人不可和原创建人一致"
  67. // err = errors.New(errMsg)
  68. // return
  69. // }
  70. // }
  71. // // 修改创建人
  72. // err = data_manage.ModifyChartInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
  73. // }
  74. //case 6: // ETA表格
  75. // tmpList, tmpErr := excel.GetNoContentExcelListGroupByUserId(dataId)
  76. // if tmpErr != nil {
  77. // err = tmpErr
  78. // return
  79. // }
  80. // if len(tmpList) > 0 {
  81. // for _, v := range tmpList {
  82. // if v.SysUserId == newUserId {
  83. // errMsg = "新创建人不可和原创建人一致"
  84. // err = errors.New(errMsg)
  85. // return
  86. // }
  87. // }
  88. // // 修改创建人
  89. // err = excel.ModifyExcelInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
  90. // }
  91. default:
  92. return
  93. }
  94. return
  95. }