refactor(workflow): 重构工作流相关API响应结构

- 将ApiResult.cs从OpenAuth.Repository.Domain移动到OpenAuth.App.workflow
- 修改PageQueryRequestDto继承PageReq基类并移除重复的PageIndex和PageSize属性
- 将分页响应字段从PageIndex/PageSize/TotalCount/DataList改为Page/Limit/Total/Items
- 更新ApiResponseDto中的Data字段为Result字段以保持一致性
- 在CustomWorkflowController中为发起流程接口设置固定流程代码
- 更新WorkflowEngineApp中所有分页查询方法以使用新的字段名称
main
陈伟 2026-02-05 13:37:02 +08:00
parent e9cdd3b400
commit 3e30965bc4
3 changed files with 50 additions and 48 deletions

View File

@ -275,8 +275,8 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
if (userId <= 0)
return new PageQueryResultDto<FlowQuerySingleResultDto>();
pageQueryDto = pageQueryDto ?? new PageQueryRequestDto();
var pageIndex = pageQueryDto.PageIndex < 1 ? 1 : pageQueryDto.PageIndex;
var pageSize = pageQueryDto.PageSize < 1 ? 10 : pageQueryDto.PageSize;
var pageIndex = pageQueryDto.page < 1 ? 1 : pageQueryDto.page;
var pageSize = pageQueryDto.limit < 1 ? 10 : pageQueryDto.limit;
var userIdStr = userId.ToString();
// 拟办不应该是针对个人的吗?
@ -311,11 +311,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
return new PageQueryResultDto<FlowQuerySingleResultDto>
{
PageIndex = pageIndex,
PageSize = pageSize,
TotalCount = totalCount,
Page = pageIndex,
Limit = pageSize,
Total = totalCount,
TotalPages = (int)Math.Ceiling((double)totalCount / pageSize),
DataList = dataList
Items = dataList
};
}
@ -331,8 +331,8 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
if (userId <= 0)
return new PageQueryResultDto<FlowQuerySingleResultDto>();
pageQueryDto = pageQueryDto ?? new PageQueryRequestDto();
var pageIndex = pageQueryDto.PageIndex < 1 ? 1 : pageQueryDto.PageIndex;
var pageSize = pageQueryDto.PageSize < 1 ? 10 : pageQueryDto.PageSize;
var pageIndex = pageQueryDto.page < 1 ? 1 : pageQueryDto.page;
var pageSize = pageQueryDto.limit < 1 ? 10 : pageQueryDto.limit;
// 待办逻辑:工作项状态为"ToDo"、处理人ID为当前用户
// todo 这种分页不行,这是内存分页要改
var nodeIdList = _sqlSugar.Queryable<ZyFlowNode>()
@ -388,11 +388,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
return new PageQueryResultDto<FlowQuerySingleResultDto>
{
PageIndex = pageIndex,
PageSize = pageSize,
TotalCount = totalCount,
Page = pageIndex,
Limit = pageSize,
Total = totalCount,
TotalPages = (int)Math.Ceiling((double)totalCount / pageSize),
DataList = dataList
Items = dataList
};
}
@ -408,8 +408,8 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
if (userId <= 0)
return new PageQueryResultDto<FlowQuerySingleResultDto>();
pageQueryDto = pageQueryDto ?? new PageQueryRequestDto();
var pageIndex = pageQueryDto.PageIndex < 1 ? 1 : pageQueryDto.PageIndex;
var pageSize = pageQueryDto.PageSize < 1 ? 10 : pageQueryDto.PageSize;
var pageIndex = pageQueryDto.page < 1 ? 1 : pageQueryDto.page;
var pageSize = pageQueryDto.limit < 1 ? 10 : pageQueryDto.limit;
// 已办逻辑:工作项状态为"Done"、处理人ID为当前用户去重流程实例
var doneInstanceIds = _sqlSugar.Queryable<ZyFlowWorkitem>()
@ -461,11 +461,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
return new PageQueryResultDto<FlowQuerySingleResultDto>
{
PageIndex = pageIndex,
PageSize = pageSize,
TotalCount = totalCount,
Page = pageIndex,
Limit = pageSize,
Total = totalCount,
TotalPages = (int)Math.Ceiling((double)totalCount / pageSize),
DataList = dataList
Items = dataList
};
}
@ -481,8 +481,8 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
if (userId <= 0)
return new PageQueryResultDto<FlowQuerySingleResultDto>();
pageQueryDto = pageQueryDto ?? new PageQueryRequestDto();
var pageIndex = pageQueryDto.PageIndex < 1 ? 1 : pageQueryDto.PageIndex;
var pageSize = pageQueryDto.PageSize < 1 ? 10 : pageQueryDto.PageSize;
var pageIndex = pageQueryDto.page < 1 ? 1 : pageQueryDto.page;
var pageSize = pageQueryDto.limit < 1 ? 10 : pageQueryDto.limit;
// 未办结逻辑:
// 1. 当前用户参与过(处理过/待处理)
@ -537,11 +537,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
return new PageQueryResultDto<FlowQuerySingleResultDto>
{
PageIndex = pageIndex,
PageSize = pageSize,
TotalCount = totalCount,
Page = pageIndex,
Limit = pageSize,
Total = totalCount,
TotalPages = (int)Math.Ceiling((double)totalCount / pageSize),
DataList = dataList
Items = dataList
};
}
@ -557,8 +557,8 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
if (userId <= 0)
return new PageQueryResultDto<FlowQuerySingleResultDto>();
pageQueryDto = pageQueryDto ?? new PageQueryRequestDto();
var pageIndex = pageQueryDto.PageIndex < 1 ? 1 : pageQueryDto.PageIndex;
var pageSize = pageQueryDto.PageSize < 1 ? 10 : pageQueryDto.PageSize;
var pageIndex = pageQueryDto.page < 1 ? 1 : pageQueryDto.page;
var pageSize = pageQueryDto.limit < 1 ? 10 : pageQueryDto.limit;
// 已完成逻辑:
// 1. 当前用户参与过(处理过/待处理)
@ -613,11 +613,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
return new PageQueryResultDto<FlowQuerySingleResultDto>
{
PageIndex = pageIndex,
PageSize = pageSize,
TotalCount = totalCount,
Page = pageIndex,
Limit = pageSize,
Total = totalCount,
TotalPages = (int)Math.Ceiling((double)totalCount / pageSize),
DataList = dataList
Items = dataList
};
}
@ -633,8 +633,8 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
if (userId <= 0)
return new PageQueryResultDto<FlowQuerySingleResultDto>();
pageQueryDto = pageQueryDto ?? new PageQueryRequestDto();
var pageIndex = pageQueryDto.PageIndex < 1 ? 1 : pageQueryDto.PageIndex;
var pageSize = pageQueryDto.PageSize < 1 ? 10 : pageQueryDto.PageSize;
var pageIndex = pageQueryDto.page < 1 ? 1 : pageQueryDto.page;
var pageSize = pageQueryDto.limit < 1 ? 10 : pageQueryDto.limit;
// 全部事项逻辑:当前用户相关的所有流程实例(去重)
var allInstanceIds = _sqlSugar.Queryable<ZyFlowWorkitem, ZyFlowInstance>((w, i) => new JoinQueryInfos(
@ -687,11 +687,11 @@ public class WorkflowEngineApp : SqlSugarBaseApp<SysCategoryType, SugarDbContext
return new PageQueryResultDto<FlowQuerySingleResultDto>
{
PageIndex = pageIndex,
PageSize = pageSize,
TotalCount = totalCount,
Page = pageIndex,
Limit = pageSize,
Total = totalCount,
TotalPages = (int)Math.Ceiling((double)totalCount / pageSize),
DataList = dataList
Items = dataList
};
}

View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Http;
using OpenAuth.App.Request;
namespace OpenAuth.WebApi.Controllers.ServerController;
@ -59,9 +60,9 @@ public class HandleWorkitemRequestDto
/// <summary>
/// 分页查询通用请求参数(所有查询接口共用)
/// </summary>
public class PageQueryRequestDto
public class PageQueryRequestDto : PageReq
{
/// <summary>
/*/// <summary>
/// 当前页码默认1从1开始计数
/// </summary>
public int PageIndex { get; set; } = 1;
@ -69,7 +70,7 @@ public class PageQueryRequestDto
/// <summary>
/// 每页显示条数默认10可自定义建议不超过50
/// </summary>
public int PageSize { get; set; } = 10;
public int PageSize { get; set; } = 10;*/
}
#endregion
@ -126,17 +127,17 @@ public class PageQueryResultDto<T>
/// <summary>
/// 当前页码与请求参数的PageIndex对应
/// </summary>
public int PageIndex { get; set; }
public int Page { get; set; }
/// <summary>
/// 每页显示条数与请求参数的PageSize对应
/// </summary>
public int PageSize { get; set; }
public int Limit { get; set; }
/// <summary>
/// 总记录数(符合查询条件的所有数据条数)
/// </summary>
public long TotalCount { get; set; }
public long Total { get; set; }
/// <summary>
/// 总页数自动计算TotalCount / PageSize向上取整
@ -146,7 +147,7 @@ public class PageQueryResultDto<T>
/// <summary>
/// 当前页的数据列表
/// </summary>
public List<T> DataList { get; set; } = new List<T>();
public List<T> Items { get; set; } = new List<T>();
}
/// <summary>
@ -168,7 +169,7 @@ public class ApiResponseDto<T>
/// <summary>
/// 响应数据成功时返回具体业务数据失败时可返回null或附加说明数据
/// </summary>
public T? Data { get; set; }
public T? Result { get; set; }
/// <summary>
/// 构建成功响应静态方法简化Controller调用
@ -182,7 +183,7 @@ public class ApiResponseDto<T>
{
Code = 200,
Message = message,
Data = data
Result = data
};
}
@ -198,7 +199,7 @@ public class ApiResponseDto<T>
{
Code = 500,
Message = message,
Data = data
Result = data
};
}
@ -214,7 +215,7 @@ public class ApiResponseDto<T>
{
Code = 400,
Message = message,
Data = data
Result = data
};
}
}

View File

@ -27,6 +27,7 @@ public class WorkflowController : ControllerBase
}
#region 一、流程操作接口
/// <summary>
/// 发起流程(区县提交) 拟办需要重新提交
/// </summary>
@ -37,6 +38,7 @@ public class WorkflowController : ControllerBase
{
try
{
requestDto.FlowCode = "IllegalConstructionFlow";
// 获取当前登录用户实际项目中从Token/IAuth中解析
var currentUser = _auth.GetCurrentUser().User;
if (currentUser == null)
@ -124,7 +126,6 @@ public class WorkflowController : ControllerBase
var currentUser = _auth.GetCurrentUser().User;
if (currentUser == null)
return BadRequest(ApiResponseDto<PageQueryResultDto<FlowQuerySingleResultDto>>.Fail("未登录或登录过期"));
var result = _workflowEngineApp.QueryMyDraft(currentUser.Id, pageQueryDto);
return Ok(ApiResponseDto<PageQueryResultDto<FlowQuerySingleResultDto>>.Success(result, "拟办查询成功"));