package services import ( "eta_gn/eta_api/global" "eta_gn/eta_api/models/system" "eta_gn/eta_api/utils" ) func GetRoleTypeCode(roleType string) string { var roleTypeCode string switch roleType { case utils.ROLE_TYPE_ADMIN: roleTypeCode = utils.ROLE_TYPE_CODE_ADMIN case utils.ROLE_TYPE_FICC_ADMIN: roleTypeCode = utils.ROLE_TYPE_CODE_FICC_ADMIN case utils.ROLE_TYPE_FICC_SELLER: roleTypeCode = utils.ROLE_TYPE_CODE_FICC_SELLER case utils.ROLE_TYPE_RAI_ADMIN: roleTypeCode = utils.ROLE_TYPE_CODE_RAI_ADMIN case utils.ROLE_TYPE_FICC_GROUP, utils.ROLE_TYPE_FICC_MANAGER: roleTypeCode = utils.ROLE_TYPE_CODE_FICC_GROUP case utils.ROLE_TYPE_RAI_GROUP: roleTypeCode = utils.ROLE_TYPE_CODE_RAI_GROUP case utils.ROLE_TYPE_FICC_DEPARTMENT: roleTypeCode = utils.ROLE_TYPE_CODE_FICC_DEPARTMENT case utils.ROLE_TYPE_RAI_DEPARTMENT: roleTypeCode = utils.ROLE_TYPE_CODE_RAI_DEPARTMENT case utils.ROLE_TYPE_FICC_RESEARCHR: roleTypeCode = utils.ROLE_TYPE_CODE_FICC_RESEARCHR case utils.ROLE_TYPE_RAI_RESEARCHR: roleTypeCode = utils.ROLE_TYPE_CODE_RAI_RESEARCHR default: roleTypeCode = utils.ROLE_TYPE_ADMIN } return roleTypeCode } type GroupNode struct { GroupId int GroupName string Child []*GroupNode } // GetMenuTreeRecursive 递归菜单树 func GetMenuTreeRecursive(list []*system.SysMenuItem, parentId int) []*system.SysMenuItem { res := make([]*system.SysMenuItem, 0) for _, v := range list { if v.ParentId == parentId { v.Children = GetMenuTreeRecursive(list, v.MenuId) res = append(res, v) } } return res } func BuildGroupTree(list []*system.SysGroupList, current, depth int, node *GroupNode) { if current == depth { utils.FileLog.Info("到达组织最深层,停止递归") return } for _, v := range list { if v.ParentId == node.GroupId { subNode := &GroupNode{ GroupId: v.GroupId, GroupName: v.GroupName, Child: make([]*GroupNode, 0), } node.Child = append(node.Child, subNode) BuildGroupTree(list, current+1, depth, subNode) } } } func DeleteSysGroupByIds(ids []int) (err error) { tx := global.DEFAULT_DmSQL.Begin() defer func() { if err != nil { tx.Rollback() } else { tx.Commit() } }() err = system.DeleteSysGroupByIds(tx, ids) if err != nil { return } err = system.ClearSysUserGroupByIds(tx, ids) return }