|
@@ -114,10 +114,10 @@ func DeleteObjectTable(ctx context.Context, svcCtx *svc.ServiceContext, conn tra |
|
@@ -114,10 +114,10 @@ func DeleteObjectTable(ctx context.Context, svcCtx *svc.ServiceContext, conn tra |
|
114
|
return err
|
114
|
return err
|
|
115
|
}
|
115
|
}
|
|
116
|
//是否远程已删除
|
116
|
//是否远程已删除
|
|
117
|
- objectTable, err := svcCtx.ObjectTableRepository.FindOne(ctx, conn, sourceId)
|
117
|
+ objectTable, err := svcCtx.ObjectTableRepository.FindOneByTableId(ctx, conn, sourceId)
|
|
118
|
if err == nil && objectTable.Id > 0 && objectTable.RemoteDeleted == 1 {
|
118
|
if err == nil && objectTable.Id > 0 && objectTable.RemoteDeleted == 1 {
|
|
119
|
//删除表
|
119
|
//删除表
|
|
120
|
- _, err = svcCtx.ObjectTableRepository.Delete(ctx, conn, &domain.ObjectTable{Id: sourceId})
|
120
|
+ _, err = svcCtx.ObjectTableRepository.Delete(ctx, conn, &domain.ObjectTable{Id: sourceId, TableType: objectTable.TableType})
|
|
121
|
if err != nil {
|
121
|
if err != nil {
|
|
122
|
return err
|
122
|
return err
|
|
123
|
}
|
123
|
}
|
|
@@ -126,6 +126,48 @@ func DeleteObjectTable(ctx context.Context, svcCtx *svc.ServiceContext, conn tra |
|
@@ -126,6 +126,48 @@ func DeleteObjectTable(ctx context.Context, svcCtx *svc.ServiceContext, conn tra |
|
126
|
if err != nil {
|
126
|
if err != nil {
|
|
127
|
return err
|
127
|
return err
|
|
128
|
}
|
128
|
}
|
|
|
|
129
|
+ //删除分组
|
|
|
|
130
|
+ err = DeleteObjectGroup(ctx, svcCtx, conn, objectTable.CompanyId, objectTable.ParentId)
|
|
|
|
131
|
+ if err != nil {
|
|
|
|
132
|
+ return err
|
|
|
|
133
|
+ }
|
|
|
|
134
|
+ }
|
|
|
|
135
|
+ }
|
|
|
|
136
|
+ return nil
|
|
|
|
137
|
+}
|
|
|
|
138
|
+
|
|
|
|
139
|
+// DeleteObjectGroup 删除分组
|
|
|
|
140
|
+func DeleteObjectGroup(ctx context.Context, svcCtx *svc.ServiceContext, conn transaction.Conn, companyId int64, parentId int) error {
|
|
|
|
141
|
+ //分组下是否有数据
|
|
|
|
142
|
+ _, list, err := svcCtx.ObjectTableRepository.Find(ctx, conn, domain.NewQueryOptions().WithKV("companyId", companyId).WithKV("parentId", parentId))
|
|
|
|
143
|
+ if err != nil {
|
|
|
|
144
|
+ return err
|
|
|
|
145
|
+ }
|
|
|
|
146
|
+ if len(list) > 0 {
|
|
|
|
147
|
+ return nil
|
|
|
|
148
|
+ }
|
|
|
|
149
|
+ _, items, err := svcCtx.ObjectTableRepository.Find(
|
|
|
|
150
|
+ ctx, conn,
|
|
|
|
151
|
+ domain.NewQueryOptions().
|
|
|
|
152
|
+ WithKV("companyId", companyId).
|
|
|
|
153
|
+ WithKV("id", parentId).
|
|
|
|
154
|
+ WithKV("flag", "Group"),
|
|
|
|
155
|
+ )
|
|
|
|
156
|
+ if err != nil {
|
|
|
|
157
|
+ return err
|
|
|
|
158
|
+ }
|
|
|
|
159
|
+ if len(items) > 0 {
|
|
|
|
160
|
+ for _, item := range items {
|
|
|
|
161
|
+ //删除分组
|
|
|
|
162
|
+ _, err = svcCtx.ObjectTableRepository.Delete(ctx, conn, item)
|
|
|
|
163
|
+ if err != nil {
|
|
|
|
164
|
+ return err
|
|
|
|
165
|
+ }
|
|
|
|
166
|
+ //递归删除上级分组
|
|
|
|
167
|
+ err = DeleteObjectGroup(ctx, svcCtx, conn, companyId, item.ParentId)
|
|
|
|
168
|
+ if err != nil {
|
|
|
|
169
|
+ return err
|
|
|
|
170
|
+ }
|
|
129
|
}
|
171
|
}
|
|
130
|
}
|
172
|
}
|
|
131
|
return nil
|
173
|
return nil
|