@@ -25,7 +25,7 @@ func (d *OpenLdapLogic) SyncOpenLdapDepts(c *gin.Context, req interface{}) (data
25
25
var firstDepts []* openldap.Dept // 父ID为根的部门
26
26
var otherDepts []* openldap.Dept // 父ID不为根的部门
27
27
for _ , dept := range depts {
28
- if dept .ParentId == "1 " {
28
+ if dept .ParentId == "openldap_0 " {
29
29
firstDepts = append (firstDepts , dept )
30
30
} else {
31
31
otherDepts = append (otherDepts , dept )
@@ -41,6 +41,7 @@ func (d *OpenLdapLogic) SyncOpenLdapDepts(c *gin.Context, req interface{}) (data
41
41
SourceDeptId : dept .Id ,
42
42
Source : "openldap" ,
43
43
SourceDeptParentId : dept .ParentId ,
44
+ ParentId : 0 ,
44
45
GroupDN : dept .DN ,
45
46
})
46
47
if err != nil {
@@ -49,7 +50,13 @@ func (d *OpenLdapLogic) SyncOpenLdapDepts(c *gin.Context, req interface{}) (data
49
50
}
50
51
51
52
for _ , dept := range otherDepts {
52
- err := d .AddDepts (& model.Group {
53
+ // 判断部门名称是否存在
54
+ parentGroup := new (model.Group )
55
+ err := isql .Group .Find (tools.H {"source_dept_id" : dept .ParentId }, parentGroup )
56
+ if err != nil {
57
+ return nil , tools .NewMySqlError (fmt .Errorf ("查询父级部门失败:%s" , err .Error ()))
58
+ }
59
+ err = d .AddDepts (& model.Group {
53
60
GroupName : dept .Name ,
54
61
Remark : dept .Remark ,
55
62
Creator : "system" ,
@@ -58,6 +65,7 @@ func (d *OpenLdapLogic) SyncOpenLdapDepts(c *gin.Context, req interface{}) (data
58
65
Source : "openldap" ,
59
66
SourceDeptParentId : dept .ParentId ,
60
67
GroupDN : dept .DN ,
68
+ ParentId : parentGroup .ID ,
61
69
})
62
70
if err != nil {
63
71
return nil , tools .NewOperationError (fmt .Errorf ("SyncOpenLdapDepts添加其他部门失败:%s" , err .Error ()))
@@ -68,16 +76,9 @@ func (d *OpenLdapLogic) SyncOpenLdapDepts(c *gin.Context, req interface{}) (data
68
76
69
77
// AddGroup 添加部门数据
70
78
func (d OpenLdapLogic ) AddDepts (group * model.Group ) error {
71
- // 判断部门名称是否存在
72
- parentGroup := new (model.Group )
73
- err := isql .Group .Find (tools.H {"source_dept_id" : group .SourceDeptParentId }, parentGroup )
74
- if err != nil {
75
- return tools .NewMySqlError (fmt .Errorf ("查询父级部门失败:%s" , err .Error ()))
76
- }
79
+ // 在数据库中创建组
77
80
if ! isql .Group .Exist (tools.H {"source_dept_id" : group .SourceDeptId }) {
78
- group .ParentId = parentGroup .ID
79
- // 在数据库中创建组
80
- err = isql .Group .Add (group )
81
+ err := isql .Group .Add (group )
81
82
if err != nil {
82
83
return err
83
84
}
0 commit comments