feat: 扩展领域模型与配置
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using TakeoutSaaS.Domain.GroupBuying.Enums;
|
||||
using TakeoutSaaS.Shared.Abstractions.Entities;
|
||||
|
||||
namespace TakeoutSaaS.Domain.GroupBuying.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 拼单活动。
|
||||
/// </summary>
|
||||
public sealed class GroupOrder : MultiTenantEntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 门店标识。
|
||||
/// </summary>
|
||||
public Guid StoreId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联商品或套餐。
|
||||
/// </summary>
|
||||
public Guid ProductId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拼单编号。
|
||||
/// </summary>
|
||||
public string GroupOrderNo { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 团长用户 ID。
|
||||
/// </summary>
|
||||
public Guid LeaderUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 成团需要的人数。
|
||||
/// </summary>
|
||||
public int TargetCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前已参与人数。
|
||||
/// </summary>
|
||||
public int CurrentCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拼团价格。
|
||||
/// </summary>
|
||||
public decimal GroupPrice { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始时间。
|
||||
/// </summary>
|
||||
public DateTime StartAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束时间。
|
||||
/// </summary>
|
||||
public DateTime EndAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拼团状态。
|
||||
/// </summary>
|
||||
public GroupOrderStatus Status { get; set; } = GroupOrderStatus.Open;
|
||||
|
||||
/// <summary>
|
||||
/// 成团时间。
|
||||
/// </summary>
|
||||
public DateTime? SucceededAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 取消时间。
|
||||
/// </summary>
|
||||
public DateTime? CancelledAt { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using TakeoutSaaS.Domain.GroupBuying.Enums;
|
||||
using TakeoutSaaS.Shared.Abstractions.Entities;
|
||||
|
||||
namespace TakeoutSaaS.Domain.GroupBuying.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 拼单参与者。
|
||||
/// </summary>
|
||||
public sealed class GroupParticipant : MultiTenantEntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 拼单活动标识。
|
||||
/// </summary>
|
||||
public Guid GroupOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对应订单标识。
|
||||
/// </summary>
|
||||
public Guid OrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户标识。
|
||||
/// </summary>
|
||||
public Guid UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 参与状态。
|
||||
/// </summary>
|
||||
public GroupParticipantStatus Status { get; set; } = GroupParticipantStatus.Joined;
|
||||
|
||||
/// <summary>
|
||||
/// 参与时间。
|
||||
/// </summary>
|
||||
public DateTime JoinedAt { get; set; } = DateTime.UtcNow;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
namespace TakeoutSaaS.Domain.GroupBuying.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// 拼单状态。
|
||||
/// </summary>
|
||||
public enum GroupOrderStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 开放中。
|
||||
/// </summary>
|
||||
Open = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 已成团。
|
||||
/// </summary>
|
||||
Succeeded = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 已取消。
|
||||
/// </summary>
|
||||
Cancelled = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 超时失败。
|
||||
/// </summary>
|
||||
Failed = 3
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace TakeoutSaaS.Domain.GroupBuying.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// 拼单参与者状态。
|
||||
/// </summary>
|
||||
public enum GroupParticipantStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 已参团。
|
||||
/// </summary>
|
||||
Joined = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 因退款或取消退出。
|
||||
/// </summary>
|
||||
Exited = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 团失败待退款。
|
||||
/// </summary>
|
||||
PendingRefund = 2
|
||||
}
|
||||
Reference in New Issue
Block a user