226 lines
5.7 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 YD_Event.Core.Enum;
namespace YD_Event.Core.Entities;
/// <summary>
/// 赛事信息表
/// </summary>
[SugarTable("EventInfo")]
public class EventInfo : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
{
/// <summary>
/// 赛事名称
/// </summary>
[SugarColumn(Length = 128)]
public string EventName { get; set; }
/// <summary>
/// 裁判报名邀请码
/// </summary>
[SugarColumn(Length = 32, IsNullable = true)]
public string? RefereeRegistrationCode { get; set; }
/// <summary>
/// 封面图片URL
/// </summary>
[SugarColumn(Length = 256, IsNullable = true)]
public string? CoverImage { get; set; }
/// <summary>
/// 赛事视频URL
/// </summary>
[SugarColumn(Length = 256, IsNullable = true)]
public string? EventVideo { get; set; }
/// <summary>
/// 赛事类型:线上/线下
/// </summary>
public EventFormat EventType { get; set; }
/// <summary>
/// 收费模式
/// </summary>
public ChargeMode ChargeMode { get; set; }
/// <summary>
/// 赛事状态:报名中/比赛中/已结束
/// </summary>
public EventStatus EventStatus { get; set; }
/// <summary>
/// 关联商户ID
/// </summary>
[SugarColumn(IsNullable = true)]
public long? MerchantId { get; set; }
/// <summary>
/// 报名方式:个人/团队/混合
/// </summary>
public RegistrationType RegistrationType { get; set; }
/// <summary>
/// 积分发放规则ID
/// </summary>
[SugarColumn(IsNullable = true)]
public long? PointsRuleId { get; set; }
/// <summary>
/// 积分规则(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
public PointsRule? PointsRule { get; set; }
/// <summary>
/// 积分规则快照(JSON格式,保存创建/编辑赛事时的积分规则)
/// </summary>
[SugarColumn(ColumnDataType = "TEXT", IsNullable = true)]
public string? PointsRuleSnapshot { get; set; }
/// <summary>
/// 退款规则快照(JSON格式,保存创建/编辑赛事时的退款规则)
/// </summary>
[SugarColumn(ColumnDataType = "TEXT", IsNullable = true)]
public string? RefundRuleSnapshot { get; set; }
/// <summary>
/// 报名开始时间
/// </summary>
public DateTime RegistrationStartTime { get; set; }
/// <summary>
/// 报名结束时间
/// </summary>
public DateTime RegistrationEndTime { get; set; }
/// <summary>
/// 是否需要上传素材
/// </summary>
public bool IsNeedMaterial { get; set; }
/// <summary>
/// 上传素材备注
/// </summary>
[SugarColumn(Length = 256, IsNullable = true)]
public string? MaterialRemark { get; set; }
/// <summary>
/// 素材上传开始时间
/// </summary>
[SugarColumn(IsNullable = true)]
public DateTime? MaterialUploadStartTime { get; set; }
/// <summary>
/// 素材上传结束时间
/// </summary>
[SugarColumn(IsNullable = true)]
public DateTime? MaterialUploadEndTime { get; set; }
/// <summary>
/// 比赛开始时间
/// </summary>
public DateTime MatchStartTime { get; set; }
/// <summary>
/// 比赛结束时间
/// </summary>
public DateTime MatchEndTime { get; set; }
/// <summary>
/// 省份Id
/// </summary>
[SugarColumn(IsNullable = true)]
public long? ProvinceId { get; set; }
/// <summary>
/// 城市Id
/// </summary>
[SugarColumn(IsNullable = true)]
public long? CityId { get; set; }
/// <summary>
/// 区县Id
/// </summary>
[SugarColumn(IsNullable = true)]
public long? DistrictId { get; set; }
/// <summary>
/// 省份信息(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
public SysProvince? ProvinceInfo { get; set; }
/// <summary>
/// 城市信息(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
public SysCity? CityInfo { get; set; }
/// <summary>
/// 区县信息(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
public SysDistrict? DistrictInfo { get; set; }
/// <summary>
/// 详细地址
/// </summary>
[SugarColumn(Length = 256, IsNullable = true)]
public string? DetailAddress { get; set; }
/// <summary>
/// 赛事简介
/// </summary>
[SugarColumn(ColumnDataType = "TEXT", IsNullable = true)]
public string? EventIntroduction { get; set; }
/// <summary>
/// 自定义字段配置(JSON字符串)
/// </summary>
[SugarColumn(ColumnDataType = "TEXT", IsNullable = true)]
public string? CustomConfigJson { get; set; }
/// <summary>
/// 赛事二维码URL
/// </summary>
[SugarColumn(Length = 256, IsNullable = true)]
public string? QrCodeUrl { get; set; }
/// <summary>
/// 流程状态(用于标识创建步骤)
/// </summary>
public ProcessStatus ProcessStatus { get; set; }
/// <summary>
/// 可用状态
/// </summary>
public AvailabilityStatus Status { get; set; }
/// <summary>
/// 标记删除
/// </summary>
public bool DeleteMark { get; set; }
/// <summary>
/// 创建人
/// </summary>
public long CreatedUserId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
[SugarColumn(IsNullable = true)]
public long? UpdatedUserId { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[SugarColumn(IsNullable = true)]
public DateTime? UpdatedTime { get; set; }
}