using System;
using System.Collections.Generic;

namespace HoneyBox.Model.Entities;

/// <summary>
/// 商品主表，存储盲盒商品信息
/// </summary>
public partial class Good
{
    /// <summary>
    /// 商品ID
    /// </summary>
    public int Id { get; set; }

    /// <summary>
    /// 分类ID
    /// </summary>
    public int CategoryId { get; set; }

    /// <summary>
    /// 商品标题
    /// </summary>
    public string Title { get; set; } = null!;

    /// <summary>
    /// 商品图片URL
    /// </summary>
    public string ImgUrl { get; set; } = null!;

    /// <summary>
    /// 商品详情图片URL
    /// </summary>
    public string ImgUrlDetail { get; set; } = null!;

    /// <summary>
    /// 商品详情页Banner图片URL（商城类型专用）
    /// </summary>
    public string? ImgUrlBanner { get; set; }

    /// <summary>
    /// 商品价格
    /// </summary>
    public decimal Price { get; set; }

    /// <summary>
    /// 总库存
    /// </summary>
    public int Stock { get; set; }

    /// <summary>
    /// 已售库存
    /// </summary>
    public int SaleStock { get; set; }

    /// <summary>
    /// 是否锁定 0-否 1-是
    /// </summary>
    public byte LockIs { get; set; }

    /// <summary>
    /// 锁定时间（秒）
    /// </summary>
    public int? LockTime { get; set; }

    /// <summary>
    /// 是否支持优惠券 0-否 1-是
    /// </summary>
    public byte CouponIs { get; set; }

    /// <summary>
    /// 优惠券比例
    /// </summary>
    public int CouponPro { get; set; }

    /// <summary>
    /// 是否支持积分 0-否 1-是
    /// </summary>
    public byte IntegralIs { get; set; }

    /// <summary>
    /// 奖品数量
    /// </summary>
    public int PrizeNum { get; set; }

    /// <summary>
    /// 状态 0-下架 1-上架
    /// </summary>
    public byte Status { get; set; }

    /// <summary>
    /// 排序值
    /// </summary>
    public int Sort { get; set; }

    /// <summary>
    /// 商品类型
    /// </summary>
    public byte Type { get; set; }

    /// <summary>
    /// 是否显示 0-否 1-是
    /// </summary>
    public byte ShowIs { get; set; }

    /// <summary>
    /// 显示价格
    /// </summary>
    public string? ShowPrice { get; set; }

    /// <summary>
    /// 奖品图片URL
    /// </summary>
    public string? PrizeImgUrl { get; set; }

    /// <summary>
    /// 卡片横幅图片
    /// </summary>
    public string? CardBanner { get; set; }

    /// <summary>
    /// 卡片设置JSON
    /// </summary>
    public string? CardSet { get; set; }

    /// <summary>
    /// 卡片公告
    /// </summary>
    public string? CardNotice { get; set; }

    /// <summary>
    /// 卡片数量
    /// </summary>
    public int CardNum { get; set; }

    /// <summary>
    /// 开售时间
    /// </summary>
    public DateTime? SaleTime { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreatedAt { get; set; }

    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime UpdatedAt { get; set; }

    /// <summary>
    /// 删除时间
    /// </summary>
    public DateTime? DeletedAt { get; set; }

    /// <summary>
    /// 是否开启暴怒 0-否 1-是
    /// </summary>
    public byte RageIs { get; set; }

    /// <summary>
    /// 暴怒值
    /// </summary>
    public int Rage { get; set; }

    /// <summary>
    /// 物品卡片ID
    /// </summary>
    public int ItemCardId { get; set; }

    /// <summary>
    /// 是否开启灵珠 0-否 1-是
    /// </summary>
    public byte LingzhuIs { get; set; }

    /// <summary>
    /// 灵珠翻倍
    /// </summary>
    public int LingzhuFan { get; set; }

    /// <summary>
    /// 灵珠奖品等级ID
    /// </summary>
    public int LingzhuShangId { get; set; }

    /// <summary>
    /// 擂台王用户ID
    /// </summary>
    public int KingUserId { get; set; }

    /// <summary>
    /// 连击次数
    /// </summary>
    public int LianJiNum { get; set; }

    /// <summary>
    /// 连击奖品等级ID
    /// </summary>
    public int LianJiShangId { get; set; }

    /// <summary>
    /// 是否首折 0-否 1-是
    /// </summary>
    public byte IsShouZhe { get; set; }

    /// <summary>
    /// 是否新品 0-否 1-是
    /// </summary>
    public byte NewIs { get; set; }

    /// <summary>
    /// 商品描述
    /// </summary>
    public string? GoodsDescribe { get; set; }

    /// <summary>
    /// 全局限购数量
    /// </summary>
    public int QuanjuXiangou { get; set; }

    /// <summary>
    /// 每日限购数量
    /// </summary>
    public int DailyXiangou { get; set; }

    /// <summary>
    /// 日价格
    /// </summary>
    public decimal DayPrice { get; set; }

    /// <summary>
    /// 月价格
    /// </summary>
    public decimal MouthPrice { get; set; }

    /// <summary>
    /// 月支付价格
    /// </summary>
    public decimal MouthPayPrice { get; set; }

    /// <summary>
    /// 日支付价格
    /// </summary>
    public decimal DayPayPrice { get; set; }

    /// <summary>
    /// 用户等级限制 -1表示无限制
    /// </summary>
    public int UserLv { get; set; }

    /// <summary>
    /// 是否福利屋商品 0-否 1-是
    /// </summary>
    public byte IsFlw { get; set; }

    /// <summary>
    /// 福利屋开始时间
    /// </summary>
    public DateTime? FlwStartTime { get; set; }

    /// <summary>
    /// 福利屋结束时间
    /// </summary>
    public DateTime? FlwEndTime { get; set; }

    /// <summary>
    /// 开放时间
    /// </summary>
    public DateTime? OpenTime { get; set; }

    /// <summary>
    /// 是否开放 0-否 1-是
    /// </summary>
    public byte IsOpen { get; set; }

    /// <summary>
    /// 抽奖限制次数
    /// </summary>
    public int ChoujiangXianzhi { get; set; }

    /// <summary>
    /// 异步处理编码
    /// </summary>
    public string? AsyncCode { get; set; }

    /// <summary>
    /// 异步处理日期
    /// </summary>
    public DateTime? AsyncDate { get; set; }

    /// <summary>
    /// 是否自动下架 0-否 1-是
    /// </summary>
    public byte IsAutoXiajia { get; set; }

    /// <summary>
    /// 下架利润阈值
    /// </summary>
    public int XiajiaLirun { get; set; }

    /// <summary>
    /// 下架自动次数
    /// </summary>
    public int XiajiaAutoCoushu { get; set; }

    /// <summary>
    /// 下架金额阈值
    /// </summary>
    public int XiajiaJine { get; set; }

    /// <summary>
    /// 解锁金额
    /// </summary>
    public decimal UnlockAmount { get; set; }
}
