|
@@ -9,6 +9,16 @@ using XF.Domain.Exceptions;
|
|
|
|
|
|
namespace Hotline.Api.Controllers.ExportData;
|
|
|
|
|
|
+/// <summary>
|
|
|
+/// 只要URL结尾是 export_excel 的请求都会进入这个控制器
|
|
|
+/// 逻辑:
|
|
|
+/// 1. 通过URL找到对应的Controller和Action
|
|
|
+/// 2. 通过Controller和Action找到对应的ApplicationService
|
|
|
+/// 比如: RedPackController.GetRedPackList 就会去查找 RedPackApplication.GetRedPackList 方法
|
|
|
+/// 3. 通过反射调用对应的方法
|
|
|
+/// 4. ApplicationService 的方法返回的必须是 ISugarQueryable
|
|
|
+/// 5. ApplicationService 中方法的Description 属性会作为导出的文件名
|
|
|
+/// </summary>
|
|
|
[ApiController]
|
|
|
[Route("{*path:regex(.*export_excel$)}")]
|
|
|
public class ExportDataController : BaseController
|
|
@@ -86,7 +96,7 @@ public class ExportDataController : BaseController
|
|
|
var result = method.Invoke(serviceInstance, [queryDto]);
|
|
|
|
|
|
var returnType = method.ReturnType.GetGenericArguments()[0];
|
|
|
- var description = method.GetCustomAttribute<DescriptionAttribute>()?.Description;
|
|
|
+ var description = method.GetCustomAttribute<DescriptionAttribute>()?.Description + "_";
|
|
|
if (pageIndex == null || pageSize == null)
|
|
|
{
|
|
|
isExportAll = true;
|