
package com.tmerclub.cloud.user.vo;

import com.tmerclub.cloud.api.coupon.vo.CouponDataVO;
import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 用户权益信息VO
 *
 * @author tmerclub
 * @date 2021-04-25 16:01:58
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
public class UserRightsVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "权益id")
    private Long rightsId;

    @Schema(description = "权益名称")
    private String rightsName;

    @Schema(description = "权益图标")
    private String icon;

    @Schema(description = "权益简介")
    private String description;

    @Schema(description = "权益详情")
    private String details;

    @Schema(description = "状态：-1: 删除 0:禁用 1：正常(仅用于系统核销)")
    private Integer status;

    @Schema(description = "排序 从小到大")
    private Integer seq;

    @Schema(description = "权益类型[0.自定义 1.积分回馈倍率 2.优惠券 3.积分赠送(数量) 4.会员折扣 5.包邮类型]")
    private Integer rightsType;

    @Schema(description = "积分回馈倍率")
    private Integer rateScore;

    @Schema(description = "赠送积分")
    private Long presScore;

    @Schema(description = "会员折扣")
    private Integer discount;

    @Schema(description = "折扣范围[0.全平台 1.自营店]")
    private Integer discountRange;

    @Schema(description = "包邮类型[1.全平台包邮 2.自营店包邮]")
    private Integer freeFeeType;

    @Schema(description = "优惠券id列表")
    private List<Long> couponIds;

    @Schema(description = "优惠券列表")
    private List<CouponDataVO> couponList;

    @Schema(description = "用户等级")
    private Integer level;

    @Schema(description = "等级名称")
    private String levelName;

}
