增加 sse服务端测试
This commit is contained in:
1 parent
fe87aece4e
commit
d3488c98f5
10 files changed
+2009
No files matched your search
@@ -0,0 +1,406 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace OrderSupportTicket.TestServer.Contracts;
|
||||
|
||||
public sealed class CreateWorkOrderRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appId")]
|
||||
public string? AppId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string? WechatOrderId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("description")]
|
||||
public string? Description { get; set; }
|
||||
|
||||
[JsonPropertyName("clientRequestId")]
|
||||
public string? ClientRequestId { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ListWorkOrdersRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appIds")]
|
||||
public List<string>? AppIds { get; set; }
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string? WechatOrderId { get; set; }
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string? Status { get; set; }
|
||||
|
||||
[Range(1, 100)]
|
||||
[JsonPropertyName("limit")]
|
||||
public int Limit { get; set; } = 20;
|
||||
|
||||
[JsonPropertyName("cursor")]
|
||||
public string? Cursor { get; set; }
|
||||
}
|
||||
|
||||
public sealed class GetMessagesRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appId")]
|
||||
public string? AppId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string? WechatOrderId { get; set; }
|
||||
|
||||
[Range(1, 100)]
|
||||
[JsonPropertyName("limit")]
|
||||
public int Limit { get; set; } = 50;
|
||||
|
||||
[JsonPropertyName("before")]
|
||||
public string? Before { get; set; }
|
||||
}
|
||||
|
||||
public sealed class SendMessageRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appId")]
|
||||
public string? AppId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("clientMessageId")]
|
||||
public string? ClientMessageId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("text")]
|
||||
public string? Text { get; set; }
|
||||
}
|
||||
|
||||
public sealed class MarkReadRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appId")]
|
||||
public string? AppId { get; set; }
|
||||
|
||||
[Range(1, int.MaxValue)]
|
||||
[JsonPropertyName("throughSequenceNo")]
|
||||
public int ThroughSequenceNo { get; set; }
|
||||
}
|
||||
|
||||
public sealed class WorkOrderListResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("items")]
|
||||
public List<WorkOrderSummaryDto> Items { get; set; } = [];
|
||||
|
||||
[JsonPropertyName("hasMore")]
|
||||
public bool HasMore { get; set; }
|
||||
|
||||
[JsonPropertyName("nextCursor")]
|
||||
public string? NextCursor { get; set; }
|
||||
|
||||
[JsonPropertyName("identityVerified")]
|
||||
public bool IdentityVerified { get; set; }
|
||||
}
|
||||
|
||||
public sealed class WorkOrderSummaryDto
|
||||
{
|
||||
[JsonPropertyName("appId")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string WechatOrderId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string Status { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("statusText")]
|
||||
public string StatusText { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("createdAt")]
|
||||
public string CreatedAt { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("updatedAt")]
|
||||
public string UpdatedAt { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("lastMessageAt")]
|
||||
public string LastMessageAt { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("lastReplyAt")]
|
||||
public string? LastReplyAt { get; set; }
|
||||
|
||||
[JsonPropertyName("lastSenderType")]
|
||||
public string? LastSenderType { get; set; }
|
||||
|
||||
[JsonPropertyName("unreadCount")]
|
||||
public int UnreadCount { get; set; }
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string Version { get; set; } = "1";
|
||||
}
|
||||
|
||||
public sealed class WorkOrderMessagesResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("appId")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string WechatOrderId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("items")]
|
||||
public List<TicketMessageDto> Items { get; set; } = [];
|
||||
|
||||
[JsonPropertyName("hasMore")]
|
||||
public bool HasMore { get; set; }
|
||||
|
||||
[JsonPropertyName("nextBefore")]
|
||||
public string? NextBefore { get; set; }
|
||||
|
||||
[JsonPropertyName("identityVerified")]
|
||||
public bool IdentityVerified { get; set; }
|
||||
}
|
||||
|
||||
public sealed class TicketMessageDto
|
||||
{
|
||||
[JsonPropertyName("messageId")]
|
||||
public string MessageId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("sequenceNo")]
|
||||
public int SequenceNo { get; set; }
|
||||
|
||||
[JsonPropertyName("senderType")]
|
||||
public string SenderType { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("senderName")]
|
||||
public string SenderName { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("text")]
|
||||
public string Text { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("recalled")]
|
||||
public bool Recalled { get; set; }
|
||||
|
||||
[JsonPropertyName("createdAt")]
|
||||
public string CreatedAt { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public sealed class CreateWorkOrderResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("operation")]
|
||||
public string Operation { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("appId")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string WechatOrderId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string Status { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("messageId")]
|
||||
public string? MessageId { get; set; }
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string Version { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("replayed")]
|
||||
public bool Replayed { get; set; }
|
||||
|
||||
[JsonPropertyName("identityVerified")]
|
||||
public bool IdentityVerified { get; set; }
|
||||
}
|
||||
|
||||
public sealed class SendMessageResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("appId")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string WechatOrderId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("message")]
|
||||
public TicketMessageDto? Message { get; set; }
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string Status { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string Version { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("reopened")]
|
||||
public bool Reopened { get; set; }
|
||||
|
||||
[JsonPropertyName("replayed")]
|
||||
public bool Replayed { get; set; }
|
||||
|
||||
[JsonPropertyName("identityVerified")]
|
||||
public bool IdentityVerified { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ApiSuccessResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
}
|
||||
|
||||
public sealed class ApiErrorResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; }
|
||||
|
||||
[JsonPropertyName("message")]
|
||||
public string Message { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("error")]
|
||||
public string Error { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("code")]
|
||||
public string Code { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public sealed class TestSupportReplyRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appId")]
|
||||
public string? AppId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string? WechatOrderId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("text")]
|
||||
public string? Text { get; set; }
|
||||
|
||||
[JsonPropertyName("senderName")]
|
||||
public string? SenderName { get; set; }
|
||||
public TestSupportReplyRequest()
|
||||
{
|
||||
PurchaseAccount = "18990991234";
|
||||
SenderName = "丽丽";
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class TestCompleteTicketRequest
|
||||
{
|
||||
[Required]
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string? PurchaseAccount { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("appId")]
|
||||
public string? AppId { get; set; }
|
||||
|
||||
[Required]
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string? WechatOrderId { get; set; }
|
||||
}
|
||||
|
||||
public sealed class TestSupportReplyResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("message")]
|
||||
public TicketMessageDto? Message { get; set; }
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string Status { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string Version { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public sealed class TestStateResponse
|
||||
{
|
||||
[JsonPropertyName("success")]
|
||||
public bool Success { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("orders")]
|
||||
public List<TestWorkOrderStateDto> Orders { get; set; } = [];
|
||||
|
||||
[JsonPropertyName("sseSubscribers")]
|
||||
public int SseSubscribers { get; set; }
|
||||
}
|
||||
|
||||
public sealed class TestWorkOrderStateDto
|
||||
{
|
||||
[JsonPropertyName("purchaseAccount")]
|
||||
public string PurchaseAccount { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("appId")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string WechatOrderId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string Status { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string Version { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("readThroughSequenceNo")]
|
||||
public int ReadThroughSequenceNo { get; set; }
|
||||
|
||||
[JsonPropertyName("messages")]
|
||||
public List<TicketMessageDto> Messages { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class TicketRealtimeNotificationDto
|
||||
{
|
||||
[JsonPropertyName("eventId")]
|
||||
public string EventId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("type")]
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("appId")]
|
||||
public string AppId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("wechatOrderId")]
|
||||
public string WechatOrderId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("messageId")]
|
||||
public string? MessageId { get; set; }
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string Version { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("occurredAt")]
|
||||
public string OccurredAt { get; set; } = string.Empty;
|
||||
}
|
||||
Reference in new issue
Block a user