using YD_Event.Core.Enum;
namespace YD_Event.Core.Entities;
///
/// 项目计分规则表
///
[SugarTable("ScoreRule")]
public class ScoreRule : Entity, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
{
///
/// 规则编码(未删除数据中唯一,如 ROPE_PRESCRIBED、FREESTYLE_SINGLE)
///
[SugarColumn(Length = 64)]
public string RuleCode { get; set; } = null!;
///
/// 规则名称
///
[SugarColumn(Length = 128)]
public string RuleName { get; set; } = null!;
///
/// 裁判席位配置(JSON格式,按裁判组描述该规则需要的裁判角色席位)
///
[SugarColumn(Length = 2000)]
public string JudgeRoleSchemaJson { get; set; } = null!;
///
/// 计分参数配置(JSON格式,规则的扣分项、权重等扩展参数)
///
[SugarColumn(Length = 4000, IsNullable = true)]
public string? RuleConfigJson { get; set; }
///
/// 可用状态
///
public AvailabilityStatus Status { get; set; } = AvailabilityStatus.Enable;
///
/// 排序
///
public int Sort { 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; }
}