system.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package services
  2. import (
  3. "eta_gn/eta_api/global"
  4. "eta_gn/eta_api/models/system"
  5. "eta_gn/eta_api/utils"
  6. )
  7. func GetRoleTypeCode(roleType string) string {
  8. var roleTypeCode string
  9. switch roleType {
  10. case utils.ROLE_TYPE_ADMIN:
  11. roleTypeCode = utils.ROLE_TYPE_CODE_ADMIN
  12. case utils.ROLE_TYPE_FICC_ADMIN:
  13. roleTypeCode = utils.ROLE_TYPE_CODE_FICC_ADMIN
  14. case utils.ROLE_TYPE_FICC_SELLER:
  15. roleTypeCode = utils.ROLE_TYPE_CODE_FICC_SELLER
  16. case utils.ROLE_TYPE_RAI_ADMIN:
  17. roleTypeCode = utils.ROLE_TYPE_CODE_RAI_ADMIN
  18. case utils.ROLE_TYPE_FICC_GROUP, utils.ROLE_TYPE_FICC_MANAGER:
  19. roleTypeCode = utils.ROLE_TYPE_CODE_FICC_GROUP
  20. case utils.ROLE_TYPE_RAI_GROUP:
  21. roleTypeCode = utils.ROLE_TYPE_CODE_RAI_GROUP
  22. case utils.ROLE_TYPE_FICC_DEPARTMENT:
  23. roleTypeCode = utils.ROLE_TYPE_CODE_FICC_DEPARTMENT
  24. case utils.ROLE_TYPE_RAI_DEPARTMENT:
  25. roleTypeCode = utils.ROLE_TYPE_CODE_RAI_DEPARTMENT
  26. case utils.ROLE_TYPE_FICC_RESEARCHR:
  27. roleTypeCode = utils.ROLE_TYPE_CODE_FICC_RESEARCHR
  28. case utils.ROLE_TYPE_RAI_RESEARCHR:
  29. roleTypeCode = utils.ROLE_TYPE_CODE_RAI_RESEARCHR
  30. default:
  31. roleTypeCode = utils.ROLE_TYPE_ADMIN
  32. }
  33. return roleTypeCode
  34. }
  35. type GroupNode struct {
  36. GroupId int
  37. GroupName string
  38. Child []*GroupNode
  39. }
  40. // GetMenuTreeRecursive 递归菜单树
  41. func GetMenuTreeRecursive(list []*system.SysMenuItem, parentId int) []*system.SysMenuItem {
  42. res := make([]*system.SysMenuItem, 0)
  43. for _, v := range list {
  44. if v.ParentId == parentId {
  45. v.Children = GetMenuTreeRecursive(list, v.MenuId)
  46. res = append(res, v)
  47. }
  48. }
  49. return res
  50. }
  51. func BuildGroupTree(list []*system.SysGroupList, current, depth int, node *GroupNode) {
  52. if current == depth {
  53. utils.FileLog.Info("到达组织最深层,停止递归")
  54. return
  55. }
  56. for _, v := range list {
  57. if v.ParentId == node.GroupId {
  58. subNode := &GroupNode{
  59. GroupId: v.GroupId,
  60. GroupName: v.GroupName,
  61. Child: make([]*GroupNode, 0),
  62. }
  63. node.Child = append(node.Child, subNode)
  64. BuildGroupTree(list, current+1, depth, subNode)
  65. }
  66. }
  67. }
  68. func DeleteSysGroupByIds(ids []int) (err error) {
  69. tx := global.DEFAULT_DmSQL.Begin()
  70. defer func() {
  71. if err != nil {
  72. tx.Rollback()
  73. } else {
  74. tx.Commit()
  75. }
  76. }()
  77. err = system.DeleteSysGroupByIds(tx, ids)
  78. if err != nil {
  79. return
  80. }
  81. err = system.ClearSysUserGroupByIds(tx, ids)
  82. return
  83. }