LocationAggregateRoot.cs 2.86 KB
using SqlSugar;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;
using Yi.Framework.Core.Data;

namespace FoodLabeling.Domain.Entities;

/// <summary>
/// 门店/位置
/// </summary>
[SugarTable("location")]
public class LocationAggregateRoot : AggregateRoot<Guid>, ISoftDelete, IAuditedObject, IOrderNum, IState
{
    public LocationAggregateRoot()
    {
    }

    public LocationAggregateRoot(Guid id)
    {
        Id = id;
    }

    /// <summary>
    /// 主键
    /// </summary>
    [SugarColumn(IsPrimaryKey = true)]
    public override Guid Id { get; protected set; }

    /// <summary>
    /// 逻辑删除
    /// </summary>
    public bool IsDeleted { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreationTime { get; set; } = DateTime.Now;

    /// <summary>
    /// 创建者
    /// </summary>
    public Guid? CreatorId { get; set; }

    /// <summary>
    /// 最后修改者
    /// </summary>
    public Guid? LastModifierId { get; set; }

    /// <summary>
    /// 最后修改时间
    /// </summary>
    public DateTime? LastModificationTime { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int OrderNum { get; set; } = 0;

    /// <summary>
    /// 启用状态
    /// </summary>
    public bool State { get; set; } = true;

    /// <summary>
    /// Partner(原型中的 Partner 下拉)
    /// </summary>
    public string? Partner { get; set; }

    /// <summary>
    /// Group(原型中的 Group 下拉)
    /// </summary>
    [SugarColumn(ColumnName = "GroupName")]
    public string? GroupName { get; set; }

    /// <summary>
    /// Location ID(业务编码)
    /// </summary>
    [SugarColumn(ColumnName = "LocationCode")]
    public string LocationCode { get; set; } = string.Empty;

    /// <summary>
    /// Location Name
    /// </summary>
    [SugarColumn(ColumnName = "LocationName")]
    public string LocationName { get; set; } = string.Empty;

    /// <summary>
    /// Street
    /// </summary>
    public string? Street { get; set; }

    /// <summary>
    /// City
    /// </summary>
    public string? City { get; set; }

    /// <summary>
    /// State(如 NY)
    /// </summary>
    [SugarColumn(ColumnName = "StateCode")]
    public string? StateCode { get; set; }

    /// <summary>
    /// Country
    /// </summary>
    public string? Country { get; set; }

    /// <summary>
    /// Zip Code
    /// </summary>
    [SugarColumn(ColumnName = "ZipCode")]
    public string? ZipCode { get; set; }

    /// <summary>
    /// Phone
    /// </summary>
    public string? Phone { get; set; }

    /// <summary>
    /// Email
    /// </summary>
    public string? Email { get; set; }

    /// <summary>
    /// Latitude
    /// </summary>
    public decimal? Latitude { get; set; }

    /// <summary>
    /// Longitude
    /// </summary>
    public decimal? Longitude { get; set; }
}