2024-02-02 17:14:41 +08:00
|
|
|
|
using MesETL.App.HostedServices;
|
2024-01-12 16:50:37 +08:00
|
|
|
|
|
2024-02-02 17:14:41 +08:00
|
|
|
|
namespace MesETL.App.Options;
|
2023-12-29 16:16:05 +08:00
|
|
|
|
|
|
|
|
|
public enum ColumnType
|
|
|
|
|
{
|
|
|
|
|
Blob,
|
|
|
|
|
Text,
|
2024-01-18 14:36:36 +08:00
|
|
|
|
Json,
|
2023-12-29 16:16:05 +08:00
|
|
|
|
UnDefine,
|
|
|
|
|
}
|
2023-12-28 15:18:03 +08:00
|
|
|
|
|
|
|
|
|
public class DataTransformOptions
|
|
|
|
|
{
|
2024-01-29 09:29:16 +08:00
|
|
|
|
public bool StrictMode { get; set; } = true;
|
|
|
|
|
public bool EnableFilter { get; set; } = true;
|
|
|
|
|
public bool EnableReplacer { get; set; } = true;
|
|
|
|
|
public bool EnableReBuilder { get; set; } = true;
|
|
|
|
|
|
2024-02-01 13:41:59 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// yyyyMM
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string CleanDate { get; set; } = "202301";
|
|
|
|
|
|
2024-01-29 09:29:16 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Record -> Database name
|
|
|
|
|
/// 对记录进行数据库过滤
|
|
|
|
|
/// </summary>
|
2023-12-29 16:16:05 +08:00
|
|
|
|
public Func<DataRecord, string>? DatabaseFilter { get; set; }
|
2024-01-04 09:00:44 +08:00
|
|
|
|
/// <summary>
|
2024-01-29 09:29:16 +08:00
|
|
|
|
/// Context -> Should output
|
|
|
|
|
/// 配置对数据过滤的条件
|
2024-01-04 09:00:44 +08:00
|
|
|
|
/// </summary>
|
2024-01-29 09:29:16 +08:00
|
|
|
|
public Func<DataTransformContext, Task<bool>>? RecordFilter { get; set; }//数据过滤方法
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Context -> New record
|
|
|
|
|
/// 对当前记录进行修改或完整替换
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Func<DataTransformContext, Task<DataRecord>>? RecordModify { get; set; }//数据替换
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Context -> New rebuild records
|
|
|
|
|
/// 使用当前记录对某些数据进行重建
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Func<DataTransformContext, IList<DataRecord>?>? RecordReBuild { get; set; }//新增数据
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Context -> void
|
|
|
|
|
/// 对数据的某些字段进行缓存
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Func<DataTransformContext, Task>? RecordCache { get; set; }//数据缓存
|
|
|
|
|
}
|