diff --git a/api/swagger.json b/api/swagger.json index d9075632..f5d78356 100644 --- a/api/swagger.json +++ b/api/swagger.json @@ -5795,6 +5795,10 @@ }, "x-go-name": "AuditSQLResult" }, + "export_sql_type": { + "type": "string", + "x-go-name": "ExportSQLType" + }, "export_status": { "type": "string", "x-go-name": "ExportResult" diff --git a/api/swagger.yaml b/api/swagger.yaml index 2e8e7bb2..094fa56d 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -1634,6 +1634,9 @@ definitions: $ref: '#/definitions/AuditSQLResult' type: array x-go-name: AuditSQLResult + export_sql_type: + type: string + x-go-name: ExportSQLType export_status: type: string x-go-name: ExportResult diff --git a/internal/dms/biz/data_export_task.go b/internal/dms/biz/data_export_task.go index 6e2128d5..5021115b 100644 --- a/internal/dms/biz/data_export_task.go +++ b/internal/dms/biz/data_export_task.go @@ -82,4 +82,5 @@ type DataExportTaskRepo interface { ListDataExportTasks(ctx context.Context, opt *ListDataExportTaskOption) (exportTasks []*DataExportTask, total int64, err error) DeleteUnusedDataExportTasks(ctx context.Context) error BatchUpdateDataExportTaskByIds(ctx context.Context, ids []string, args map[string]interface{}) error + SaveDataExportTaskRecords(ctx context.Context, dataExportTaskRecords []*DataExportTaskRecord) error } diff --git a/internal/dms/storage/data_export_task.go b/internal/dms/storage/data_export_task.go index 5b5df1c7..7528a609 100644 --- a/internal/dms/storage/data_export_task.go +++ b/internal/dms/storage/data_export_task.go @@ -39,6 +39,7 @@ func (d *DataExportTaskRepo) SaveDataExportTask(ctx context.Context, dataExportD return nil } + func (d *DataExportTaskRepo) GetDataExportTaskByIds(ctx context.Context, ids []string) (dataExportDataExportTasks []*biz.DataExportTask, err error) { tasks := make([]*model.DataExportTask, 0) if err := transaction(d.log, ctx, d.db, func(tx *gorm.DB) error { @@ -168,3 +169,21 @@ func (d *DataExportTaskRepo) BatchUpdateDataExportTaskByIds(ctx context.Context, return nil }) } + +func (d *DataExportTaskRepo) SaveDataExportTaskRecords(ctx context.Context, dataExportTaskRecords []*biz.DataExportTaskRecord) error { + models := make([]*model.DataExportTaskRecord, 0) + for _, dataExportTaskRecord := range dataExportTaskRecords { + models = append(models, convertBizDataExportTaskRecords(dataExportTaskRecord)) + } + + if err := transaction(d.log, ctx, d.db, func(tx *gorm.DB) error { + if err := tx.WithContext(ctx).Save(models).Error; err != nil { + return fmt.Errorf("failed to save data export task records: %v", err) + } + return nil + }); err != nil { + return err + } + + return nil +} diff --git a/internal/dms/storage/model/model.go b/internal/dms/storage/model/model.go index 3313b0fa..33675507 100644 --- a/internal/dms/storage/model/model.go +++ b/internal/dms/storage/model/model.go @@ -427,7 +427,7 @@ type DataExportTask struct { type DataExportTaskRecord struct { Number uint `json:"number" gorm:"index:task_id_number,unique"` DataExportTaskId string `json:"data_export_task_id" gorm:"size:32;column:data_export_task_id;index:task_id_number,unique"` - ExportSQL string `json:"export_sql" gorm:"size:255"` + ExportSQL string `json:"export_sql"` ExportSQLType string `json:"export_sql_type" gorm:"column:export_sql_type;size:10"` ExportResult string `json:"export_result"` ExportStatus string `json:"export_status" gorm:"size:32"`