正在显示
4 个修改的文件
包含
18 行增加
和
10 行删除
| @@ -154,6 +154,11 @@ type ( | @@ -154,6 +154,11 @@ type ( | ||
| 154 | MainTable *Table | 154 | MainTable *Table |
| 155 | Table *Table | 155 | Table *Table |
| 156 | CopyToTable *Table | 156 | CopyToTable *Table |
| 157 | + | ||
| 158 | + // 数据列 | ||
| 159 | + //DataFields []*Field `json:"dataFields"` | ||
| 160 | + // 手动添加的列 | ||
| 161 | + //ManualFields []*Field `json:"manualFields"` | ||
| 157 | } | 162 | } |
| 158 | 163 | ||
| 159 | DataCopyTable struct { | 164 | DataCopyTable struct { |
| @@ -15,8 +15,8 @@ type ApiByteLib struct { | @@ -15,8 +15,8 @@ type ApiByteLib struct { | ||
| 15 | 15 | ||
| 16 | func NewApiByteLib(host string) *ApiByteLib { | 16 | func NewApiByteLib(host string) *ApiByteLib { |
| 17 | gt := api.NewBaseServiceGateway(host) | 17 | gt := api.NewBaseServiceGateway(host) |
| 18 | - gt.ConnectTimeout = 10 * time.Second | ||
| 19 | - gt.ReadWriteTimeout = 10 * time.Second | 18 | + gt.ConnectTimeout = 360 * time.Second |
| 19 | + gt.ReadWriteTimeout = 360 * time.Second | ||
| 20 | gt.Interceptor = func(msg string) { | 20 | gt.Interceptor = func(msg string) { |
| 21 | //log.Logger.Info(msg) | 21 | //log.Logger.Info(msg) |
| 22 | logs.Debug(msg) | 22 | logs.Debug(msg) |
| @@ -255,6 +255,7 @@ type ( | @@ -255,6 +255,7 @@ type ( | ||
| 255 | ReplicationTableName string `json:"replicationTableName"` | 255 | ReplicationTableName string `json:"replicationTableName"` |
| 256 | FieldSchemas []FieldSchema `json:"fieldSchemas"` | 256 | FieldSchemas []FieldSchema `json:"fieldSchemas"` |
| 257 | KeyFieldEnNames []string `json:"keyFieldEnNames"` | 257 | KeyFieldEnNames []string `json:"keyFieldEnNames"` |
| 258 | + ManuallyFieldSchemas []FieldSchema `json:"manuallyFieldSchemas"` | ||
| 258 | } | 259 | } |
| 259 | 260 | ||
| 260 | CopyTableResponse struct{} | 261 | CopyTableResponse struct{} |
| @@ -272,11 +273,13 @@ type ( | @@ -272,11 +273,13 @@ type ( | ||
| 272 | 273 | ||
| 273 | func NewCopyTableRequest(param domain.ReqCopyTable) CopyTableRequest { | 274 | func NewCopyTableRequest(param domain.ReqCopyTable) CopyTableRequest { |
| 274 | var tableType string | 275 | var tableType string |
| 276 | + var manuallyFieldSchemas = make([]FieldSchema, 0) | ||
| 275 | switch param.Table.TableType { | 277 | switch param.Table.TableType { |
| 276 | case domain.MainTable.ToString(): | 278 | case domain.MainTable.ToString(): |
| 277 | tableType = "master" | 279 | tableType = "master" |
| 278 | case domain.SubTable.ToString(): | 280 | case domain.SubTable.ToString(): |
| 279 | tableType = "split" | 281 | tableType = "split" |
| 282 | + manuallyFieldSchemas = ToFieldSchemas(param.Table.ManualFields) | ||
| 280 | case domain.SideTable.ToString(): | 283 | case domain.SideTable.ToString(): |
| 281 | tableType = "replication" | 284 | tableType = "replication" |
| 282 | } | 285 | } |
| @@ -284,8 +287,9 @@ func NewCopyTableRequest(param domain.ReqCopyTable) CopyTableRequest { | @@ -284,8 +287,9 @@ func NewCopyTableRequest(param domain.ReqCopyTable) CopyTableRequest { | ||
| 284 | DatabaseTableName: param.Table.SQLName, | 287 | DatabaseTableName: param.Table.SQLName, |
| 285 | DatabaseTableType: tableType, | 288 | DatabaseTableType: tableType, |
| 286 | ReplicationTableName: param.CopyToTable.SQLName, | 289 | ReplicationTableName: param.CopyToTable.SQLName, |
| 287 | - FieldSchemas: ToFieldSchemas(param.CopyToTable.DataFields), | 290 | + FieldSchemas: ToFieldSchemas(param.Table.DataFields), |
| 288 | KeyFieldEnNames: []string{param.Table.PK.SQLName}, | 291 | KeyFieldEnNames: []string{param.Table.PK.SQLName}, |
| 292 | + ManuallyFieldSchemas: manuallyFieldSchemas, | ||
| 289 | } | 293 | } |
| 290 | } | 294 | } |
| 291 | 295 |
| @@ -38,20 +38,19 @@ func (ptr *CopyDataTableService) CopyTable(ctx *domain.Context, tableId int, tab | @@ -38,20 +38,19 @@ func (ptr *CopyDataTableService) CopyTable(ctx *domain.Context, tableId int, tab | ||
| 38 | if err != nil { | 38 | if err != nil { |
| 39 | return nil, err | 39 | return nil, err |
| 40 | } | 40 | } |
| 41 | - // for i:=range table.ManualFields{ | ||
| 42 | - // f:= table.ManualFields[i].Copy() | ||
| 43 | - // f.Flag = domain.MainTableField | ||
| 44 | - // dataFields = append(dataFields,f) | ||
| 45 | - // } | 41 | + for i := range table.ManualFields { |
| 42 | + f := table.ManualFields[i].Copy() | ||
| 43 | + f.Flag = domain.MainTableField | ||
| 44 | + dataFields = append(dataFields, f) | ||
| 45 | + } | ||
| 46 | } | 46 | } |
| 47 | // 验证表名是否重复 | 47 | // 验证表名是否重复 |
| 48 | duplicateTable, err := tableRepository.FindOne(map[string]interface{}{"context": ctx, "tableName": tableName}) | 48 | duplicateTable, err := tableRepository.FindOne(map[string]interface{}{"context": ctx, "tableName": tableName}) |
| 49 | if err == nil && duplicateTable != nil { | 49 | if err == nil && duplicateTable != nil { |
| 50 | return nil, fmt.Errorf("表名称重复") | 50 | return nil, fmt.Errorf("表名称重复") |
| 51 | } | 51 | } |
| 52 | - | ||
| 53 | 52 | ||
| 54 | - sideTable := NewCopyTable(domain.SideTable, tableName,dataFields, table.RowCount). | 53 | + sideTable := NewCopyTable(domain.SideTable, tableName, dataFields, table.RowCount). |
| 55 | WithContext(ctx). | 54 | WithContext(ctx). |
| 56 | WithParentId(table.TableId). | 55 | WithParentId(table.TableId). |
| 57 | WithDataFieldIndex(table.DataFieldIndex) | 56 | WithDataFieldIndex(table.DataFieldIndex) |
-
请 注册 或 登录 后发表评论