using System;
using System.Linq;
using System.Text;
using SqlSugar;

namespace QYZH.InteractiveMagazine.Models.Entity
{
    ///<summary>
    ///勋章获取规则配置表
    ///</summary>
    [SugarTable("MedalRule")]
    public partial class MedalRule : SqlSugarBaseEntity
    {

           /// <summary>
           /// Desc:关联的勋章ID
           /// Default:
           /// Nullable:False
           /// </summary>           
           public long MedalId {get;set;}

           /// <summary>
           /// Desc:目标表名（如：JournalPageTask、UserAction等）
           /// Default:
           /// Nullable:False
           /// </summary>           
           public string TargetTable {get;set;}

           /// <summary>
           /// Desc:目标字段名（如：TotalScore、LoginDays等）
           /// Default:
           /// Nullable:False
           /// </summary>           
           public string TargetField {get;set;}

           /// <summary>
           /// Desc:比较运算符: >=, >, =, <=, <
           /// Default:>=
           /// Nullable:False
           /// </summary>           
           public string Operator {get;set;}

           /// <summary>
           /// Desc:阈值数量
           /// Default:
           /// Nullable:False
           /// </summary>           
           public int ThresholdValue {get;set;}

           /// <summary>
           /// Desc:额外筛选条件（JSON格式，如：{"Type": 1, "Status": 2}）
           /// Default:
           /// Nullable:True
           /// </summary>           
           public string FilterCondition {get;set;}

           /// <summary>
           /// Desc:时间范围类型: All/CurrentMonth/CurrentWeek/Last7Days/Custom
           /// Default:
           /// Nullable:True
           /// </summary>           
           public string DateRangeType {get;set;}

           /// <summary>
           /// Desc:自定义起始时间
           /// Default:
           /// Nullable:True
           /// </summary>           
           public DateTime? DateRangeStart {get;set;}

           /// <summary>
           /// Desc:自定义结束时间
           /// Default:
           /// Nullable:True
           /// </summary>           
           public DateTime? DateRangeEnd {get;set;}

           /// <summary>
           /// Desc:多规则间的逻辑关系: AND/OR
           /// Default:AND
           /// Nullable:False
           /// </summary>           
           public string LogicOperator {get;set;}

           /// <summary>
           /// Desc:规则执行顺序（多个规则时生效）
           /// Default:0
           /// Nullable:False
           /// </summary>           
           public int RuleOrder {get;set;}

           /// <summary>
           /// Desc:规则说明
           /// Default:
           /// Nullable:True
           /// </summary>           
           public string Description {get;set;}


    }
}
