正在显示
3 个修改的文件
包含
59 行增加
和
6 行删除
@@ -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 |
@@ -132,9 +132,20 @@ func (l *SyncTableLogic) getFields(list []*domain.ObjectTable) []*domain.ObjectF | @@ -132,9 +132,20 @@ func (l *SyncTableLogic) getFields(list []*domain.ObjectTable) []*domain.ObjectF | ||
132 | for _, item := range list { | 132 | for _, item := range list { |
133 | accessToken, _ := types.TableAccessToken{CompanyId: item.CompanyId}.GenerateToken() | 133 | accessToken, _ := types.TableAccessToken{CompanyId: item.CompanyId}.GenerateToken() |
134 | if item.TableId > 0 { | 134 | if item.TableId > 0 { |
135 | - response, err := l.svcCtx.ByteMetadataService.TableInfo(l.ctx, &bytelib.TableInfoRequest{ | 135 | + //response, err := l.svcCtx.ByteMetadataService.TableInfo(l.ctx, &bytelib.TableInfoRequest{ |
136 | + // Token: accessToken, | ||
137 | + // TableId: item.TableId, | ||
138 | + //}) | ||
139 | + response, err := l.svcCtx.ByteMetadataService.TableDataPreview(l.ctx, &bytelib.TableDataPreviewRequest{ | ||
136 | Token: accessToken, | 140 | Token: accessToken, |
137 | - TableId: item.TableId, | 141 | + ObjectId: int64(item.TableId), |
142 | + ObjectType: bytelib.ObjectMetaTable, | ||
143 | + Where: &bytelib.TableQueryWhere{ | ||
144 | + PageNumber: 1, | ||
145 | + PageSize: 1, | ||
146 | + }, | ||
147 | + UseCache: false, | ||
148 | + HiddenData: false, | ||
138 | }) | 149 | }) |
139 | if err == nil { | 150 | if err == nil { |
140 | fields = append(fields, &domain.ObjectField{ | 151 | fields = append(fields, &domain.ObjectField{ |
@@ -9,10 +9,10 @@ import ( | @@ -9,10 +9,10 @@ import ( | ||
9 | ) | 9 | ) |
10 | 10 | ||
11 | type ObjectTable struct { | 11 | type ObjectTable struct { |
12 | - Id int `json:"id" gorm:"primaryKey"` // ID | 12 | + Id int `json:"id" gorm:"primaryKey;autoIncrement:false"` // ID |
13 | TableId int `json:"tableId" gorm:"index:idx_object_table_id"` //表ID | 13 | TableId int `json:"tableId" gorm:"index:idx_object_table_id"` //表ID |
14 | Name string `json:"name"` //表名 | 14 | Name string `json:"name"` //表名 |
15 | - TableType string `json:"tableType" gorm:"index:idx_object_table_type"` //模块 | 15 | + TableType string `json:"tableType" gorm:"primaryKey;autoIncrement:false;index:idx_object_table_type"` //模块 |
16 | CompanyId int64 `json:"companyId" gorm:"index:idx_object_table_company"` //公司id | 16 | CompanyId int64 `json:"companyId" gorm:"index:idx_object_table_company"` //公司id |
17 | ParentId int `json:"parentId" gorm:"default:0"` //父id | 17 | ParentId int `json:"parentId" gorm:"default:0"` //父id |
18 | Flag string `json:"flag"` //分组:Group 集合:Set | 18 | Flag string `json:"flag"` //分组:Group 集合:Set |
-
请 注册 或 登录 后发表评论