///
/// KMS 钥匙柜 API 响应模型。
/// 按设计文档 §4 KmsModels 完整定义,覆盖全部 38 个 KMS 接口。
///
namespace IntegrationGateway.Adapters.Kms;
// ═══════════════════════════════════════════
// 认证
// ═══════════════════════════════════════════
/// POST /prod-api/getToken 响应
public class KmsTokenResponse
{
public int Code { get; set; }
public string Token { get; set; } = "";
public string? Msg { get; set; }
}
// ═══════════════════════════════════════════
// 2.18 第三方接口 DTO
// ═══════════════════════════════════════════
/// 2.18.4 POST /prod-api/getOpenerList 响应
public class KmsOpenerListResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public List? Rows { get; set; }
}
/// KMS 柜体
public class KmsLocker
{
public int LockerId { get; set; }
public string? LockerName { get; set; }
public string? LockerCode { get; set; }
public List? LockholeList { get; set; }
}
/// KMS 锁孔(含钥匙信息)
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; }
}
/// 2.18.7 POST /prod-api/getWarningList 响应
public class KmsWarningListResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 告警条目
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; }
}
/// 2.18.6 POST /prod-api/getRecordList 响应
public class KmsRecordListResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 借还记录
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
// ═══════════════════════════════════════════
/// KMS 交接记录
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; }
}
/// KMS 授权记录列表响应
public class KmsPermissionListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 授权记录
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; }
}
/// KMS 员工列表响应
public class KmsStaffListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 员工
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; }
}
/// KMS 柜体列表响应
public class KmsLockerListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 柜体详细信息
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? LockholeList { get; set; }
}
/// KMS 锁孔列表响应
public class KmsLockholeListResponse
{
public int Code { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 锁孔详细信息
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; }
}
/// KMS 钥匙列表响应
public class KmsOpenerListResponse2
{
public int Code { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
}
/// KMS 钥匙详细信息
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; }
}
/// KMS 员工可借钥匙列表响应
public class KmsStaffOpenerListResponse
{
public int Code { get; set; }
public List? Data { get; set; }
}
/// KMS 员工可借钥匙
public class KmsStaffOpener
{
public int Id { get; set; }
public int StaffId { get; set; }
public int OpenerId { get; set; }
public int Type { get; set; }
}
/// 2.4.3 远程授权请求(联调时确认字段)
public class KmsRemotePermissionRequest
{
public List? StaffIds { get; set; }
public List? OpenerIds { get; set; }
public int Type { get; set; }
}
/// 2.18.3 批量同步员工请求
public class KmsBatchSyncStaffRequest
{
public List Staff { get; set; } = new();
}
// ═══════════════════════════════════════════
// 通用包装
// ═══════════════════════════════════════════
/// KMS 通用分页响应
public class KmsApiResponse
{
public int Code { get; set; }
public string? Msg { get; set; }
public int Total { get; set; }
public List? Rows { get; set; }
public T? Data { get; set; }
}