整理代码
This commit is contained in:
@@ -6,6 +6,7 @@ using ConsoleApp2.HostedServices.Abstractions;
|
||||
using ConsoleApp2.Options;
|
||||
using ConsoleApp2.Services;
|
||||
using ConsoleApp2.SimulationService;
|
||||
using Microsoft.Extensions.Caching.StackExchangeRedis;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
@@ -13,6 +14,7 @@ using Microsoft.Extensions.Logging;
|
||||
using MySqlConnector;
|
||||
using Serilog;
|
||||
using Serilog.Core;
|
||||
using StackExchange.Redis;
|
||||
using System.Reflection.PortableExecutable;
|
||||
|
||||
|
||||
@@ -179,6 +181,7 @@ async Task RunProgram()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
//数据替换
|
||||
options.RecordReplace = (record) =>
|
||||
@@ -196,6 +199,10 @@ async Task RunProgram()
|
||||
var fields = fs.ToArray();
|
||||
return new DataRecord(fields, record.TableName, headers, record.CompanyID);
|
||||
}
|
||||
}
|
||||
if (record.TableName == "order_process_step")
|
||||
{
|
||||
|
||||
}
|
||||
return null;
|
||||
};
|
||||
@@ -212,16 +219,31 @@ async Task RunProgram()
|
||||
var packageIDIndex = Array.IndexOf(record.Headers, "PackageID");
|
||||
var companyIDIndex = Array.IndexOf(record.Headers, "CompanyID");
|
||||
|
||||
//resultList.Add(new DataRecord(
|
||||
// new[] { "ItemID", "ShardKey", "PlanID","CompanyID" }, "order_block_plan_item",
|
||||
// new[] { record.Fields[itemIDIndex], record.Fields[shardKeyIndex], record.Fields[planIDIndex], record.Fields[companyIDIndex] }));
|
||||
//resultList.Add(
|
||||
// new DataRecord(new[] { "ItemID", "ShardKey", "PackageID", "CompanyID" }, "order_package_item",
|
||||
// new[] { record.Fields[itemIDIndex], record.Fields[shardKeyIndex], record.Fields[packageIDIndex], record.Fields[companyIDIndex] }));
|
||||
resultList.Add(new DataRecord(
|
||||
new[] { "ItemID", "ShardKey", "PlanID", "CompanyID" }, "order_block_plan_item",
|
||||
new[] { record.Fields[itemIDIndex], record.Fields[shardKeyIndex], record.Fields[planIDIndex], record.Fields[companyIDIndex] }));
|
||||
resultList.Add(
|
||||
new DataRecord(new[] { "ItemID", "ShardKey", "PackageID", "CompanyID" }, "order_package_item",
|
||||
new[] { record.Fields[itemIDIndex], record.Fields[shardKeyIndex], record.Fields[packageIDIndex], record.Fields[companyIDIndex] }));
|
||||
}
|
||||
return resultList;
|
||||
|
||||
};
|
||||
options.RecordCache = async (record, db) =>
|
||||
{
|
||||
if(record.TableName == "order_process")
|
||||
{
|
||||
var skIndex = Array.IndexOf(record.Headers, "ShardKey");
|
||||
if(skIndex > -1)
|
||||
{
|
||||
var sk = record.Fields[skIndex];
|
||||
var idIndex = Array.IndexOf(record.Headers, "ID");
|
||||
var id = record.Fields[idIndex];
|
||||
await db.SetAddAsync(id, sk);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
options.ColumnTypeConfig = new()
|
||||
{
|
||||
{ "simple_plan_order.PlaceData", ColumnType.Blob },
|
||||
@@ -283,10 +305,9 @@ async Task RunProgram()
|
||||
host.Services.AddSingleton<IInputService, SimulationInputService>();
|
||||
host.Services.AddSingleton<ITransformService, TransformService>();
|
||||
host.Services.AddSingleton<IOutputService, OutputService>();
|
||||
host.Services.AddStackExchangeRedisCache(options =>
|
||||
{
|
||||
options.Configuration = "localhost:6379";
|
||||
});
|
||||
var redisOptions = host.Configuration.GetSection("RedisCacheOptions").Get<RedisCacheOptions>()??new RedisCacheOptions();
|
||||
var redis = ConnectionMultiplexer.Connect(redisOptions.Configuration);
|
||||
host.Services.AddSingleton(redis);
|
||||
var app = host.Build();
|
||||
await app.RunAsync();
|
||||
}
|
Reference in New Issue
Block a user