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