identificationOfCultivatedL.../OpenAuth.App/workflow/ApiResult.cs

235 lines
7.1 KiB
C#
Raw Normal View History

using OpenAuth.App.Request;
2026-02-05 09:51:56 +08:00
namespace OpenAuth.App.workflow;
2026-02-05 09:51:56 +08:00
#region 一、接口入参DTO所有请求参数对应Controller接收的参数
/// <summary>
/// 发起流程请求参数
/// </summary>
public class InitiateFlowRequestDto
{
/// <summary>
/// 流程编码唯一标识流程模板IllegalConstructionFlow_2026
/// </summary>
public string FlowCode { get; set; } = string.Empty;
/// <summary>
/// 业务编号唯一标识该笔业务WJ20260205001、XZ20260205002
/// </summary>
public string BusinessNo { get; set; } = string.Empty;
/// <summary>
/// 类型 耕地破坏鉴定
/// </summary>
public int? Type { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 流程标题(用于展示,如:"XX区域违法建设认定申请"
/// </summary>
public string Title { get; set; } = string.Empty;
/// <summary>
/// 上传附件列表(业务相关证明材料、表单等)
/// </summary>
public List<string> Attachments { get; set; } = new();
2026-02-05 09:51:56 +08:00
}
/// <summary>
/// 处理工作项请求参数
/// </summary>
public class HandleWorkitemRequestDto
{
/// <summary>
/// 工作项ID待处理事项的唯一标识从待办查询接口获取
/// </summary>
public long WorkitemId { get; set; }
/// <summary>
/// 处理备注(可选,记录处理意见、流转说明等)
/// </summary>
public string? Comment { get; set; }
/// <summary>
/// 审核结果仅会签节点必填可选值Pass通过/Reject驳回
/// </summary>
public string? AuditResult { get; set; }
/// <summary>
/// 部门ids
/// </summary>
public List<long> OrgIds { get; set; }
2026-02-05 09:51:56 +08:00
}
/// <summary>
/// 分页查询通用请求参数(所有查询接口共用)
/// </summary>
public class PageQueryRequestDto : PageReq
2026-02-05 09:51:56 +08:00
{
/*/// <summary>
2026-02-05 09:51:56 +08:00
/// 当前页码默认1从1开始计数
/// </summary>
public int PageIndex { get; set; } = 1;
/// <summary>
/// 每页显示条数默认10可自定义建议不超过50
/// </summary>
public int PageSize { get; set; } = 10;*/
2026-02-05 09:51:56 +08:00
}
#endregion
#region 二、接口出参DTO所有返回结果对应Controller返回的数据
/// <summary>
/// 流程查询单条结果返回值(所有查询接口的单条数据格式)
/// </summary>
public class FlowQuerySingleResultDto
{
public long workitemId { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 流程实例ID唯一标识该流程实例用于后续操作
/// </summary>
public long InstanceId { get; set; }
/// <summary>
/// 业务编号对应发起流程时的BusinessNo
/// </summary>
public string BusinessNo { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 流程标题对应发起流程时的Title
/// </summary>
public string Title { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 当前节点名称(如:"区县提交"、"政策法规科审核"、"汇总归档"
/// </summary>
public string NodeName { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 流程状态枚举值Draft拟办、Submitted已提交、Forwarded已转发、Auditing审核中、Summarized已汇总、Completed已完成、Rejected已驳回
/// </summary>
public string Status { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 流程发起时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 发起人姓名
/// </summary>
public string InitiatorName { get; set; }
public int? Type { get; set; }
public string WorkStatus { get; set; }
public string NodeType { get; set; }
2026-02-10 14:35:29 +08:00
public DateTime? HandleTime { get; set; }
2026-02-05 09:51:56 +08:00
}
/// <summary>
/// 分页查询通用返回值(所有分页查询接口共用,泛型适配不同数据列表)
/// </summary>
/// <typeparam name="T">数据列表的泛型类型FlowQuerySingleResultDto</typeparam>
public class PageQueryResultDto<T>
{
/// <summary>
/// 当前页码与请求参数的PageIndex对应
/// </summary>
public int Page { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 每页显示条数与请求参数的PageSize对应
/// </summary>
public int Limit { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 总记录数(符合查询条件的所有数据条数)
/// </summary>
public long Total { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 总页数自动计算TotalCount / PageSize向上取整
/// </summary>
public int TotalPages { get; set; }
/// <summary>
/// 当前页的数据列表
/// </summary>
public List<T> Items { get; set; } = new List<T>();
2026-02-05 09:51:56 +08:00
}
/// <summary>
/// 接口全局统一响应格式(所有接口返回结果的统一封装,提高前端对接效率)
/// </summary>
/// <typeparam name="T">响应数据的泛型类型long、bool、PageQueryResultDto<FlowQuerySingleResultDto></typeparam>
public class ApiResponseDto<T>
{
/// <summary>
/// 响应状态码200操作成功500操作失败400参数错误/未登录404资源不存在
/// </summary>
public int Code { get; set; } = 200;
/// <summary>
/// 响应消息(成功时返回"操作成功",失败时返回具体错误信息)
/// </summary>
public string Message { get; set; } = "操作成功";
/// <summary>
/// 响应数据成功时返回具体业务数据失败时可返回null或附加说明数据
/// </summary>
public T? Result { get; set; }
2026-02-05 09:51:56 +08:00
/// <summary>
/// 构建成功响应静态方法简化Controller调用
/// </summary>
/// <param name="data">成功时的业务数据</param>
/// <param name="message">自定义成功消息(可选,默认"操作成功"</param>
/// <returns>统一响应格式对象</returns>
public static ApiResponseDto<T> Success(T? data = default, string message = "操作成功")
{
return new ApiResponseDto<T>
{
Code = 200,
Message = message,
Result = data
2026-02-05 09:51:56 +08:00
};
}
/// <summary>
/// 构建失败响应静态方法简化Controller调用
/// </summary>
/// <param name="message">具体错误消息</param>
/// <param name="data">失败时的附加数据可选默认null</param>
/// <returns>统一响应格式对象</returns>
public static ApiResponseDto<T> Fail(string message = "操作失败", T? data = default)
{
return new ApiResponseDto<T>
{
Code = 500,
Message = message,
Result = data
2026-02-05 09:51:56 +08:00
};
}
/// <summary>
/// 构建参数错误/未登录响应静态方法适配400状态码场景
/// </summary>
/// <param name="message">具体错误消息</param>
/// <param name="data">附加数据(可选)</param>
/// <returns>统一响应格式对象</returns>
public static ApiResponseDto<T> BadRequest(string message = "参数错误或未登录", T? data = default)
{
return new ApiResponseDto<T>
{
Code = 400,
Message = message,
Result = data
2026-02-05 09:51:56 +08:00
};
}
}
#endregion