package com.fs.app.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fs.common.annotation.Excel;
import lombok.Data;
import com.fs.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;

/**
 * APP角色对象 fs_app_role
 *
 * @author fs
 * @date 2026-02-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FsAppRole extends BaseEntity{

    /** $column.columnComment */
    private Long id;

    /** APP角色名称 */
    @Excel(name = "APP角色名称")
    private String roleName;

    /** APP角色类型：1-通用 2-积分 3-套餐包 4-商城商品 */
    @Excel(name = "APP角色类型：1-通用 2-标签 3-套餐包 4-商城商品 5.标签+套餐包 6. 标签+商城商品 7.标签+商品")
    private Integer roleType;

    /** 注册奖励类型：1-红包 2-积分 3-商品 */
    @Excel(name = "注册奖励类型：1-红包 2-积分 3-商品")
    private Integer registerRewardType;

    /** 注册-红包金额 */
    @Excel(name = "注册-红包金额")
    private BigDecimal registerRedPacket;

    /** 注册-商品 */
    @Excel(name = "注册-商品")
    private Long registerProductId;

    /** 注册商品类型：1-套餐包 2-商城 */
    @Excel(name = "注册商品类型：1-套餐包 2-商城")
    private Integer registerProductType;

    /** 注册-积分 */
    @Excel(name = "注册-积分")
    private BigDecimal registerIntegral;

    /** 看课奖励有效天数 */
    @Excel(name = "看课奖励有效天数")
    private Long courseDay;

    /** 看课奖励类型：1-红包 2-积分 3-商品 */
    @Excel(name = "看课奖励类型：1-红包 2-积分 3-商品")
    private Integer courseRewardType;

    /** 看课-红包金额 */
    @Excel(name = "看课-红包金额")
    private BigDecimal courseRedPacket;

    /** 看课-积分 */
    @Excel(name = "看课-积分")
    private BigDecimal courseIntegral;

    /** 看课商品类型：1-套餐包 2-商城 */
    @Excel(name = "看课商品类型：1-套餐包 2-商城")
    private Integer courseProductType;

    /** 看课-商品id */
    @Excel(name = "看课-商品id")
    private Long courseProductId;

    /** 看课商品领取所需天数 */
    @Excel(name = "看课商品领取所需天数")
    private Long courseNeedDay;

    /** 红包/积分规则类型： 1-平均 2-定制 */
    @Excel(name = "红包/积分规则类型： 1-平均 2-定制")
    private Integer courseRewardRuleType;

    /** 红包/积分规则 */
    @Excel(name = "红包/积分规则")
    private String courseRewardRule;

    /** 角色等级 */
    @Excel(name = "角色等级")
    private Long roleLevel;

    /** 角色标签 */
    @Excel(name = "角色标签")
    private String roleTags;

    /** 角色套餐包id */
    @Excel(name = "角色套餐包id")
    private String rolePackageProductIds;

    /** 角色商城id */
    @Excel(name = "角色商城id")
    private String roleStoreProductIds;

    /** 商品名称*/
    @TableField(exist = false)
    private String goodsName;

    /** 商品图片*/
    @TableField(exist = false)
    private String goodsUrl;

    /** 是否显示 true:显示,false:隐藏*/
    @TableField(exist = false)
    private boolean isShow=false;

    /** 角色关联的会员等级 */
    private Integer roleVipLevel;
}
