Merge branch 'master' of https://github.com/hchen2020/BotSharp
This commit is contained in:
commit
31e03685ed
|
|
@ -40,12 +40,22 @@ public class SideCarAspect
|
|||
return typeof(SideCarAspect).GetMethod(name, BindingFlags.NonPublic | BindingFlags.Static);
|
||||
}
|
||||
|
||||
private object CallAsyncMethod(IServiceProvider serviceProvider, Type retType, string methodName, Func<object[], object> target, object[] args)
|
||||
|
||||
private (IConversationSideCar?, MethodInfo?) GetSideCarMethod(IServiceProvider serviceProvider, string methodName, object[] args)
|
||||
{
|
||||
var sidecar = serviceProvider.GetService<IConversationSideCar>();
|
||||
var sidecarMethod = sidecar?.GetType()?.GetMethod(methodName, BindingFlags.Public | BindingFlags.Instance);
|
||||
var paramTypes = args.Select(x => x.GetType()).ToList();
|
||||
var sidecarMethod = sidecar?.GetType()?.GetMethods(BindingFlags.Public | BindingFlags.Instance)
|
||||
.FirstOrDefault(x => x.Name == methodName && x.GetParameters().Select(p => p.ParameterType).SequenceEqual(paramTypes));
|
||||
|
||||
return (sidecar, sidecarMethod);
|
||||
}
|
||||
|
||||
private object CallAsyncMethod(IServiceProvider serviceProvider, Type retType, string methodName, Func<object[], object> target, object[] args)
|
||||
{
|
||||
object value;
|
||||
|
||||
var (sidecar, sidecarMethod) = GetSideCarMethod(serviceProvider, methodName, args);
|
||||
var enabled = sidecar != null && sidecar.IsEnabled() && sidecarMethod != null;
|
||||
|
||||
if (retType == typeof(void))
|
||||
|
|
@ -77,11 +87,10 @@ public class SideCarAspect
|
|||
|
||||
private object CallSyncMethod(IServiceProvider serviceProvider, Type retType, string methodName, Func<object[], object> target, object[] args)
|
||||
{
|
||||
var sidecar = serviceProvider.GetService<IConversationSideCar>();
|
||||
var sidecarMethod = sidecar?.GetType()?.GetMethod(methodName, BindingFlags.Public | BindingFlags.Instance);
|
||||
|
||||
object value;
|
||||
var enabled = sidecar != null && sidecarMethod != null && sidecar.IsEnabled();
|
||||
|
||||
var (sidecar, sidecarMethod) = GetSideCarMethod(serviceProvider, methodName, args);
|
||||
var enabled = sidecar != null && sidecar.IsEnabled() && sidecarMethod != null;
|
||||
|
||||
if (retType == typeof(void))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -64,18 +64,13 @@ public class HandleExcelRequestFn : IFunctionCallback
|
|||
message.Content = "No excel files found in the conversation";
|
||||
return true;
|
||||
}
|
||||
if (!DeleteTable())
|
||||
{
|
||||
message.Content = "Failed to clear existing tables. Please manually delete all existing tables";
|
||||
}
|
||||
else
|
||||
{
|
||||
var resultList = GetResponeFromDialogs(dialogs);
|
||||
var states = _serviceProvider.GetRequiredService<IConversationStateService>();
|
||||
|
||||
message.Content = GenerateSqlExecutionSummary(resultList);
|
||||
states.SetState("excel_import_result",message.Content);
|
||||
}
|
||||
var resultList = GetResponeFromDialogs(dialogs);
|
||||
var states = _serviceProvider.GetRequiredService<IConversationStateService>();
|
||||
|
||||
message.Content = GenerateSqlExecutionSummary(resultList);
|
||||
states.SetState("excel_import_result",message.Content);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -122,28 +117,12 @@ public class HandleExcelRequestFn : IFunctionCallback
|
|||
var bytes = _fileStorage.GetFileBytes(file.FileStorageUrl);
|
||||
var workbook = ConvertToWorkBook(bytes);
|
||||
|
||||
|
||||
//var dbService = CreateDbService(DbServiceType.MySql);
|
||||
var currentCommandList = _mySqlService.WriteExcelDataToDB(workbook);
|
||||
sqlCommandList.AddRange(currentCommandList);
|
||||
}
|
||||
return sqlCommandList;
|
||||
}
|
||||
|
||||
private bool DeleteTable()
|
||||
{
|
||||
try
|
||||
{
|
||||
//_mySqlService.DeleteTableSqlQuery();
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to delete table");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private string GenerateSqlExecutionSummary(List<SqlContextOut> messageList)
|
||||
{
|
||||
var stringBuilder = new StringBuilder();
|
||||
|
|
|
|||
|
|
@ -31,13 +31,6 @@ namespace BotSharp.Plugin.ExcelHandler.Services
|
|||
{
|
||||
try
|
||||
{
|
||||
/*using var mySqlDbConnection = _mySqlDbHelpers.GetDbConnection();
|
||||
var tableNames = GetAllTableSchema(mySqlDbConnection);
|
||||
if (tableNames.IsNullOrEmpty())
|
||||
{
|
||||
return true;
|
||||
}*/
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
@ -232,7 +225,7 @@ namespace BotSharp.Plugin.ExcelHandler.Services
|
|||
_columnTypes?.Insert(0, "INT UNSIGNED AUTO_INCREMENT");
|
||||
}*/
|
||||
|
||||
var createTableSql = $"CREATE TABLE if not exists {tableName} ( \n";
|
||||
var createTableSql = $"DROP TABLE IF EXISTS {tableName}; CREATE TABLE if not exists {tableName} ( \n";
|
||||
createTableSql += string.Join(", \n", headerColumns.Select((x, i) => $"`{x}` {_columnTypes[i]}"));
|
||||
var indexSql = string.Join(", \n", headerColumns.Select(x => $"KEY `idx_{tableName}_{x}` (`{x}`)"));
|
||||
createTableSql += $", \n{indexSql}\n);";
|
||||
|
|
|
|||
Loading…
Reference in a new issue