Files
SecMPS/gateway/src/IntegrationGateway.Adapters.Kms/KmsModels.cs

255 lines
7.8 KiB
C#

/// <summary>
/// KMS 钥匙柜 API 响应模型。
/// 按设计文档 §4 KmsModels 完整定义,覆盖全部 38 个 KMS 接口。
/// </summary>
namespace IntegrationGateway.Adapters.Kms;
// ═══════════════════════════════════════════
// 认证
// ═══════════════════════════════════════════
/// <summary>POST /prod-api/getToken 响应</summary>
public class KmsTokenResponse
{
public int Code { get; set; }
public string Token { get; set; } = "";
public string? Msg { get; set; }
}
// ═══════════════════════════════════════════
// 2.18 第三方接口 DTO
// ═══════════════════════════════════════════
/// <summary>2.18.4 POST /prod-api/getOpenerList 响应</summary>
public class KmsOpenerListResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public List<KmsLocker>? Rows { get; set; }
}
/// <summary>KMS 柜体</summary>
public class KmsLocker
{
public int LockerId { get; set; }
public string? LockerName { get; set; }
public string? LockerCode { get; set; }
public List<KmsLockhole>? LockholeList { get; set; }
}
/// <summary>KMS 锁孔(含钥匙信息)</summary>
public class KmsLockhole
{
public int LockholeSort { get; set; }
public int OpenerId { get; set; }
public string? OpenerName { get; set; }
public string? OpenerType { get; set; }
public string? OpenerState { get; set; }
}
/// <summary>2.18.7 POST /prod-api/getWarningList 响应</summary>
public class KmsWarningListResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public int Total { get; set; }
public List<KmsWarning>? Rows { get; set; }
}
/// <summary>KMS 告警条目</summary>
public class KmsWarning
{
public string? Uuid { get; set; }
public string? LockerName { get; set; }
public int LockholeSort { get; set; }
public string? OpenerName { get; set; }
public int Type { get; set; }
public string? WarningTime { get; set; }
public string? Remark { get; set; }
public string? StaffName { get; set; }
}
/// <summary>2.18.6 POST /prod-api/getRecordList 响应</summary>
public class KmsRecordListResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public int Total { get; set; }
public List<KmsRecord>? Rows { get; set; }
}
/// <summary>KMS 借还记录</summary>
public class KmsRecord
{
public string? Uuid { get; set; }
public string? LockerName { get; set; }
public int LockholeSort { get; set; }
public string? OpenerName { get; set; }
public string? StaffName { get; set; }
public string? BorrowTime { get; set; }
public string? ReturnTime { get; set; }
public string? Type { get; set; }
}
// ═══════════════════════════════════════════
// 2.3-2.17 标准接口 DTO
// ═══════════════════════════════════════════
/// <summary>KMS 交接记录</summary>
public class KmsHandoverInfo
{
public string? Id { get; set; }
public string? HandoverId { get; set; }
public int OpenerId { get; set; }
public string? OpenerName { get; set; }
public int LockerId { get; set; }
public string? LockerName { get; set; }
public int LockholeSort { get; set; }
public string? OpenerType { get; set; }
public string? OpenerState { get; set; }
public string? LendStaffName { get; set; }
public string? BorrowTime { get; set; }
}
/// <summary>KMS 授权记录列表响应</summary>
public class KmsPermissionListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List<KmsPermission>? Rows { get; set; }
}
/// <summary>KMS 授权记录</summary>
public class KmsPermission
{
public string? Uuid { get; set; }
public string? LockerName { get; set; }
public string? OpenerCnName { get; set; }
public string? LendStaffName { get; set; }
public string? BackStaffName { get; set; }
public string? ApplyTime { get; set; }
public string? BackTime { get; set; }
}
/// <summary>KMS 员工列表响应</summary>
public class KmsStaffListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List<KmsStaff>? Rows { get; set; }
}
/// <summary>KMS 员工</summary>
public class KmsStaff
{
public string? Uuid { get; set; }
public string? Name { get; set; }
public string? CardNo { get; set; }
public string? Phone { get; set; }
public string? Email { get; set; }
public int? DeptId { get; set; }
public int? GroupId { get; set; }
public int State { get; set; }
public int Type { get; set; }
}
/// <summary>KMS 柜体列表响应</summary>
public class KmsLockerListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List<KmsLockerInfo>? Rows { get; set; }
}
/// <summary>KMS 柜体详细信息</summary>
public class KmsLockerInfo
{
public int Id { get; set; }
public string? Name { get; set; }
public string? Code { get; set; }
public int State { get; set; }
public int? DeptId { get; set; }
public List<KmsLockhole>? LockholeList { get; set; }
}
/// <summary>KMS 锁孔列表响应</summary>
public class KmsLockholeListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List<KmsLockholeInfo>? Rows { get; set; }
}
/// <summary>KMS 锁孔详细信息</summary>
public class KmsLockholeInfo
{
public int Id { get; set; }
public int LockerId { get; set; }
public int LockholeSort { get; set; }
public int State { get; set; }
public int? OpenerId { get; set; }
}
/// <summary>KMS 钥匙列表响应</summary>
public class KmsOpenerListResponse2
{
public int Code { get; set; }
public int Total { get; set; }
public List<KmsOpenerInfo>? Rows { get; set; }
}
/// <summary>KMS 钥匙详细信息</summary>
public class KmsOpenerInfo
{
public int Id { get; set; }
public string? CnName { get; set; }
public string? Number { get; set; }
public int Type { get; set; }
public int State { get; set; }
public int? LockerId { get; set; }
}
/// <summary>KMS 员工可借钥匙列表响应</summary>
public class KmsStaffOpenerListResponse
{
public int Code { get; set; }
public List<KmsStaffOpener>? Data { get; set; }
}
/// <summary>KMS 员工可借钥匙</summary>
public class KmsStaffOpener
{
public int Id { get; set; }
public int StaffId { get; set; }
public int OpenerId { get; set; }
public int Type { get; set; }
}
/// <summary>2.4.3 远程授权请求(联调时确认字段)</summary>
public class KmsRemotePermissionRequest
{
public List<int>? StaffIds { get; set; }
public List<int>? OpenerIds { get; set; }
public int Type { get; set; }
}
/// <summary>2.18.3 批量同步员工请求</summary>
public class KmsBatchSyncStaffRequest
{
public List<KmsStaff> Staff { get; set; } = new();
}
// ═══════════════════════════════════════════
// 通用包装
// ═══════════════════════════════════════════
/// <summary>KMS 通用分页响应</summary>
public class KmsApiResponse<T>
{
public int Code { get; set; }
public string? Msg { get; set; }
public int Total { get; set; }
public List<T>? Rows { get; set; }
public T? Data { get; set; }
}