226 lines
5.7 KiB
C#
Raw Normal View History

2026-04-10 14:29:41 +08:00
using SqlSugar;
2026-03-08 15:46:19 +08:00
using YD_Event.Core.Enum;
namespace YD_Event.Core.Entities;
/// <summary>
/// 赛事信息表
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarTable("EventInfo")]
2026-02-26 18:29:08 +08:00
public class EventInfo : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
{
/// <summary>
/// 赛事名称
/// </summary>
[SugarColumn(Length = 128)]
public string EventName { get; set; }
2026-08-11 23:41:18 +08:00
/// <summary>
/// 裁判报名邀请码
/// </summary>
[SugarColumn(Length = 32, IsNullable = true)]
public string? RefereeRegistrationCode { get; set; }
/// <summary>
/// 封面图片URL
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(Length = 256, IsNullable = true)]
public string? CoverImage { get; set; }
/// <summary>
/// 赛事视频URL
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(Length = 256, IsNullable = true)]
public string? EventVideo { get; set; }
/// <summary>
2026-03-08 15:46:19 +08:00
/// 赛事类型:线上/线下
/// </summary>
public EventFormat EventType { get; set; }
/// <summary>
/// 收费模式
/// </summary>
public ChargeMode ChargeMode { get; set; }
/// <summary>
2026-03-08 15:46:19 +08:00
/// 赛事状态:报名中/比赛中/已结束
/// </summary>
public EventStatus EventStatus { get; set; }
2026-03-11 16:00:09 +08:00
/// <summary>
/// 关联商户ID
/// </summary>
[SugarColumn(IsNullable = true)]
public long? MerchantId { get; set; }
/// <summary>
2026-03-08 15:46:19 +08:00
/// 报名方式:个人/团队/混合
/// </summary>
public RegistrationType RegistrationType { get; set; }
/// <summary>
/// 积分发放规则ID
/// </summary>
2026-03-08 15:46:19 +08:00
[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>
2026-03-08 15:46:19 +08:00
[SugarColumn(Length = 256, IsNullable = true)]
public string? MaterialRemark { get; set; }
/// <summary>
/// 素材上传开始时间
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(IsNullable = true)]
public DateTime? MaterialUploadStartTime { get; set; }
/// <summary>
/// 素材上传结束时间
/// </summary>
2026-03-08 15:46:19 +08:00
[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>
2026-04-10 14:29:41 +08:00
[SugarColumn(IsNullable = true)]
public long? ProvinceId { get; set; }
/// <summary>
/// 城市Id
/// </summary>
2026-04-10 14:29:41 +08:00
[SugarColumn(IsNullable = true)]
public long? CityId { get; set; }
/// <summary>
/// 区县Id
/// </summary>
2026-04-10 14:29:41 +08:00
[SugarColumn(IsNullable = true)]
public long? DistrictId { get; set; }
/// <summary>
/// 省份信息(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
2026-03-14 09:30:01 +08:00
public SysProvince? ProvinceInfo { get; set; }
/// <summary>
/// 城市信息(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
2026-03-14 09:30:01 +08:00
public SysCity? CityInfo { get; set; }
/// <summary>
/// 区县信息(导航属性)
/// </summary>
[SugarColumn(IsIgnore = true)]
2026-03-14 09:30:01 +08:00
public SysDistrict? DistrictInfo { get; set; }
/// <summary>
/// 详细地址
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(Length = 256, IsNullable = true)]
public string? DetailAddress { get; set; }
/// <summary>
/// 赛事简介
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(ColumnDataType = "TEXT", IsNullable = true)]
public string? EventIntroduction { get; set; }
/// <summary>
2026-03-08 15:46:19 +08:00
/// 自定义字段配置(JSON字符串)
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(ColumnDataType = "TEXT", IsNullable = true)]
public string? CustomConfigJson { get; set; }
/// <summary>
/// 赛事二维码URL
/// </summary>
[SugarColumn(Length = 256, IsNullable = true)]
public string? QrCodeUrl { get; set; }
/// <summary>
2026-03-08 15:46:19 +08:00
/// 流程状态(用于标识创建步骤)
/// </summary>
public ProcessStatus ProcessStatus { get; set; }
/// <summary>
/// 可用状态
/// </summary>
public AvailabilityStatus Status { get; set; }
2026-02-26 18:29:08 +08:00
/// <summary>
/// 标记删除
/// </summary>
public bool DeleteMark { get; set; }
/// <summary>
/// 创建人
/// </summary>
public long CreatedUserId { get; set; }
/// <summary>
2026-02-26 18:29:08 +08:00
/// 创建时间
/// </summary>
2026-02-26 18:29:08 +08:00
public DateTime CreatedTime { get; set; }
/// <summary>
2026-02-26 18:29:08 +08:00
/// 更新人
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(IsNullable = true)]
2026-02-26 18:29:08 +08:00
public long? UpdatedUserId { get; set; }
/// <summary>
2026-02-26 18:29:08 +08:00
/// 更新时间
/// </summary>
2026-03-08 15:46:19 +08:00
[SugarColumn(IsNullable = true)]
2026-02-26 18:29:08 +08:00
public DateTime? UpdatedTime { get; set; }
}