namespace JiaZhiQuan.Common.Models.PO
{
    /// <summary>
    /// 类目属性链路表，保存某分类下所具有的各属性及各属性值，以及属性之间的上下级关系
    /// mall_category_spec_chain
    /// </summary>
    public class MallCategorySpecChainPO
    {
        /// <summary>
        /// 
        /// </summary>
        public int id { get; set; }

        /// <summary>
        /// code
        /// </summary>
        public string code { get; set; }

        /// <summary>
        /// 类目编号
        /// </summary>
        public int catId { get; set; }

        /// <summary>
        /// 属性编号
        /// </summary>
        public int specId { get; set; }

        /// <summary>
        /// 属性下有效的属性值编号，多个用,分隔，如 ,1,2,
        /// </summary>
        public string specValueIds { get; set; }

        /// <summary>
        /// 父级code，默认为空
        /// </summary>
        public string parentCode { get; set; }

        /// <summary>
        /// 所属父属性编号，默认为0
        /// </summary>
        public int parentSpecId { get; set; }
        
        /// <summary>
        /// 所属父属性中的属性值编号，默认为0
        /// </summary>
        public int parentSpecValueId { get; set; }

        /// <summary>
        /// 当前属性是否是可选的
        /// </summary>
        public int required { get; set; }

        /// <summary>
        /// 是否做同级属性值约束
        /// </summary>
        public int hasRestrict { get; set; }

        /// <summary>
        /// 是否允许过滤
        /// </summary>
        public int filterEnabled { get; set; }

        /// <summary>
        /// 显示方式：1：全部平铺，2：部分平铺+全部菜单，3：部分平铺+全部菜单+搜索，4：部分平铺+全部字母菜单+搜索
        /// </summary>
        public int showType { get; set; }

        /// <summary>
        /// 关联状态0无效,1有效
        /// </summary>
        public int state { get; set; }

        /// <summary>
        /// 当前属性所在链路（父级路径），一级时为空字符串
        /// </summary>
        public string specIdsPath { get; set; }

        /// <summary>
        /// 当前属性所在链路（父级路径），一级时为空字符串
        /// </summary>
        public string specValueIdsPath { get; set; }

        /// <summary>
        /// 同步显示顺序，越大越前
        /// </summary>
        public int displayOrder { get; set; }

    }
}
