|
@@ -72,39 +72,29 @@ public class ExportDataController : BaseController
|
|
|
throw UserFriendlyException.SameMessage($"获取注入失败. '{applicationServiceType.Name}'.");
|
|
|
}
|
|
|
|
|
|
- try
|
|
|
+ var parameters = method.GetParameters();
|
|
|
+
|
|
|
+ using var reader = new StreamReader(HttpContext.Request.Body);
|
|
|
+ var body = await reader.ReadToEndAsync();
|
|
|
+ var param = parameters[0];
|
|
|
+ var genericType = typeof(ExportExcelDto<>).MakeGenericType(param.ParameterType);
|
|
|
+ var exportData = body.FromJson(genericType);
|
|
|
+ var queryDto = genericType.GetProperty("QueryDto")?.GetValue(exportData);
|
|
|
+ var isExportAll = genericType.GetProperty("IsExportAll")?.GetValue(exportData);
|
|
|
+ var pageIndex = param.ParameterType.GetProperty("PageIndex")?.GetValue(queryDto);
|
|
|
+ var pageSize = param.ParameterType.GetProperty("PageSize")?.GetValue(queryDto);
|
|
|
+ var result = method.Invoke(serviceInstance, [queryDto]);
|
|
|
+
|
|
|
+ var returnType = method.ReturnType.GetGenericArguments()[0];
|
|
|
+ var description = method.GetCustomAttribute<DescriptionAttribute>()?.Description;
|
|
|
+ if (pageIndex == null || pageSize == null)
|
|
|
{
|
|
|
- var parameters = method.GetParameters();
|
|
|
-
|
|
|
- using var reader = new StreamReader(HttpContext.Request.Body);
|
|
|
- var body = await reader.ReadToEndAsync();
|
|
|
- var param = parameters[0];
|
|
|
- var genericType = typeof(ExportExcelDto<>).MakeGenericType(param.ParameterType);
|
|
|
- var exportData = body.FromJson(genericType);
|
|
|
- var queryDto = genericType.GetProperty("QueryDto")?.GetValue(exportData);
|
|
|
- var isExportAll = genericType.GetProperty("IsExportAll")?.GetValue(exportData);
|
|
|
- var pageIndex = param.ParameterType.GetProperty("PageIndex")?.GetValue(queryDto);
|
|
|
- var pageSize = param.ParameterType.GetProperty("PageSize")?.GetValue(queryDto);
|
|
|
- var result = method.Invoke(serviceInstance, [queryDto]);
|
|
|
-
|
|
|
- var returnType = method.ReturnType.GetGenericArguments()[0];
|
|
|
- var description = method.GetCustomAttribute<DescriptionAttribute>()?.Description;
|
|
|
- if (pageIndex == null || pageSize == null)
|
|
|
- {
|
|
|
- isExportAll = true;
|
|
|
- pageIndex = 1;
|
|
|
- pageSize = 20;
|
|
|
- }
|
|
|
-
|
|
|
- return _exportApplication.GetExcelFile(returnType, genericType, exportData, ConvertToList(result, (bool)isExportAll, (int)pageIndex, (int)pageSize), description);
|
|
|
-
|
|
|
- }
|
|
|
- catch (Exception e)
|
|
|
- {
|
|
|
- var msg = e.Message;
|
|
|
- throw;
|
|
|
+ isExportAll = true;
|
|
|
+ pageIndex = 1;
|
|
|
+ pageSize = 20;
|
|
|
}
|
|
|
- throw UserFriendlyException.SameMessage("失败");
|
|
|
+
|
|
|
+ return _exportApplication.GetExcelFile(returnType, genericType, exportData, ConvertToList(result, (bool)isExportAll, (int)pageIndex, (int)pageSize), description);
|
|
|
}
|
|
|
|
|
|
public static List<object>? ConvertToList(object? result, bool isExportAll, int pageIndex, int pageSize)
|