Files
Yi.Framework/Yi.Abp.Net8/module/ai-stock/Yi.Framework.Stock.Domain/Entities/StockTransactionEntity.cs
2025-03-02 01:54:12 +08:00

121 lines
3.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using SqlSugar;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Auditing;
using Yi.Framework.Stock.Domain.Shared;
namespace Yi.Framework.Stock.Domain.Entities
{
/// <summary>
/// 股票交易记录实体
/// </summary>
/// <remarks>
/// 用于记录用户买入或卖出股票的交易历史
/// </remarks>
[SugarTable("Stock_Transaction")]
public class StockTransactionEntity : Entity<Guid>, IAuditedObject
{
/// <summary>
/// 用户ID
/// </summary>
/// <remarks>进行交易的用户</remarks>
public Guid UserId { get; set; }
/// <summary>
/// 股票ID
/// </summary>
/// <remarks>交易的股票</remarks>
public Guid StockId { get; set; }
/// <summary>
/// 股票代码
/// </summary>
/// <remarks>冗余字段,方便查询</remarks>
public string StockCode { get; set; } = string.Empty;
/// <summary>
/// 股票名称
/// </summary>
/// <remarks>冗余字段,方便查询</remarks>
public string StockName { get; set; } = string.Empty;
/// <summary>
/// 交易类型
/// </summary>
public TransactionTypeEnum TransactionType { get; set; }
/// <summary>
/// 交易价格
/// </summary>
/// <remarks>股票的单价</remarks>
public decimal Price { get; set; }
/// <summary>
/// 交易数量
/// </summary>
/// <remarks>买入或卖出的股票数量</remarks>
public int Quantity { get; set; }
/// <summary>
/// 交易总额
/// </summary>
/// <remarks>价格 × 数量</remarks>
public decimal TotalAmount { get; set; }
/// <summary>
/// 交易费用
/// </summary>
/// <remarks>手续费、佣金等</remarks>
public decimal Fee { get; set; }
/// <summary>
/// 创建时间
/// </summary>
/// <remarks>交易发生时间</remarks>
public DateTime CreationTime { get; set; }
/// <summary>
/// 创建者ID
/// </summary>
public Guid? CreatorId { get; set; }
/// <summary>
/// 最后修改时间
/// </summary>
public DateTime? LastModificationTime { get; set; }
/// <summary>
/// 最后修改者ID
/// </summary>
public Guid? LastModifierId { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; } = string.Empty;
public StockTransactionEntity() { }
public StockTransactionEntity(
Guid userId,
Guid stockId,
string stockCode,
string stockName,
TransactionTypeEnum transactionType,
decimal price,
int quantity,
decimal fee = 0)
{
Id = Guid.NewGuid();
UserId = userId;
StockId = stockId;
StockCode = stockCode;
StockName = stockName;
TransactionType = transactionType;
Price = price;
Quantity = quantity;
TotalAmount = price * quantity;
Fee = fee;
CreationTime = DateTime.Now;
}
}
}