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

235 lines
7.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using OpenAuth.App.Request;
namespace OpenAuth.App.workflow;
#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; }
/// <summary>
/// 流程标题(用于展示,如:"XX区域违法建设认定申请"
/// </summary>
public string Title { get; set; } = string.Empty;
/// <summary>
/// 上传附件列表(业务相关证明材料、表单等)
/// </summary>
public List<string> Attachments { get; set; } = new();
}
/// <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; }
}
/// <summary>
/// 分页查询通用请求参数(所有查询接口共用)
/// </summary>
public class PageQueryRequestDto : PageReq
{
/*/// <summary>
/// 当前页码默认1从1开始计数
/// </summary>
public int PageIndex { get; set; } = 1;
/// <summary>
/// 每页显示条数默认10可自定义建议不超过50
/// </summary>
public int PageSize { get; set; } = 10;*/
}
#endregion
#region 二、接口出参DTO所有返回结果对应Controller返回的数据
/// <summary>
/// 流程查询单条结果返回值(所有查询接口的单条数据格式)
/// </summary>
public class FlowQuerySingleResultDto
{
public long workitemId { get; set; }
/// <summary>
/// 流程实例ID唯一标识该流程实例用于后续操作
/// </summary>
public long InstanceId { get; set; }
/// <summary>
/// 业务编号对应发起流程时的BusinessNo
/// </summary>
public string BusinessNo { get; set; }
/// <summary>
/// 流程标题对应发起流程时的Title
/// </summary>
public string Title { get; set; }
/// <summary>
/// 当前节点名称(如:"区县提交"、"政策法规科审核"、"汇总归档"
/// </summary>
public string NodeName { get; set; }
/// <summary>
/// 流程状态枚举值Draft拟办、Submitted已提交、Forwarded已转发、Auditing审核中、Summarized已汇总、Completed已完成、Rejected已驳回
/// </summary>
public string Status { get; set; }
/// <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; }
public DateTime? HandleTime { get; set; }
}
/// <summary>
/// 分页查询通用返回值(所有分页查询接口共用,泛型适配不同数据列表)
/// </summary>
/// <typeparam name="T">数据列表的泛型类型FlowQuerySingleResultDto</typeparam>
public class PageQueryResultDto<T>
{
/// <summary>
/// 当前页码与请求参数的PageIndex对应
/// </summary>
public int Page { get; set; }
/// <summary>
/// 每页显示条数与请求参数的PageSize对应
/// </summary>
public int Limit { get; set; }
/// <summary>
/// 总记录数(符合查询条件的所有数据条数)
/// </summary>
public long Total { get; set; }
/// <summary>
/// 总页数自动计算TotalCount / PageSize向上取整
/// </summary>
public int TotalPages { get; set; }
/// <summary>
/// 当前页的数据列表
/// </summary>
public List<T> Items { get; set; } = new List<T>();
}
/// <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; }
/// <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
};
}
/// <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
};
}
/// <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
};
}
}
#endregion