package com.fs.app.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class FsAppRoleVO {
    private Long id;

    /** APP角色名称 */
    private String roleName;

    /** APP角色类型：1-通用 2-积分 3-套餐包 4-商城商品 */
    private Integer roleType;

    /** 注册奖励类型：1-红包 2-积分 3-商品 */
    private Integer registerRewardType;

    /** 注册-红包金额 */
    private BigDecimal registerRedPacket;

    /** 注册-商品 */
    private Long registerProductId;

    /** 注册商品类型：1-套餐包 2-商城 */
    private Integer registerProductType;

    /** 注册-积分 */
    private BigDecimal registerIntegral;

    /** 看课奖励有效天数 */
    private Long courseDay;

    /** 看课奖励类型：1-红包 2-积分 3-商品 */
    private Integer courseRewardType;

    /** 看课-红包金额 */
    private BigDecimal courseRedPacket;

    /** 看课-积分 */
    private BigDecimal courseIntegral;

    /** 看课商品类型：1-套餐包 2-商城 */
    private Integer courseProductType;

    /** 看课-商品id */
    private Long courseProductId;

    /** 看课商品领取所需天数 */
    private Long courseNeedDay;

    /** 红包/积分规则类型： 1-平均 2-定制 */
    private Integer courseRewardRuleType;

    /** 红包/积分规则 */
    private List<Options> courseRewardRule;

    /** 角色等级 */
    private Long roleLevel;

    /** 角色标签 */
    private List<String> roleTags;

    /** 角色套餐包id */
    private List<Long> rolePackageProductIds;

    /** 角色商城商品id */
    private List<Long> roleStoreProductIds;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

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

    @Data
    public static class Options implements Serializable {
        private String day;
        private Integer amount;
    }
}
