
package com.tmerclub.cloud.user.vo;

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.Date;

/**
 * 客户标签VO
 *
 * @author YXF
 * @date 2020-12-08 10:16:53
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
public class UserTagVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "自增id")
    private Long userTagId;

    @Schema(description = "标签名字")
    private String tagName;

    @Schema(description = "标签类型0手动1条件2系统")
    private Integer tagType;

    @Schema(description = "系统标签是否开启")
    private Integer isSysTurnOn;

    @Schema(description = "成为客户开始时间")
    private Date registerMinTime;

    @Schema(description = "成为客户结束时间")
    private Date registerMaxTime;

    @Schema(description = "关注开始时间")
    private Date subscribeMinTime;

    @Schema(description = "关注结束时间")
    private Date subscribeMaxTime;

    @Schema(description = "成为会员开始时间")
    private Date toBeMemberMinTime;

    @Schema(description = "成为会员结束时间")
    private Date toBeMemberMaxTime;

    @Schema(description = "最近消费时间范围0(不限)1(今天)2(最近7天)3(最近15天)4(最近30天)5(最近45天)6(最近60天)7(最近90天)8(最近180天)")
    private Integer recentPurchaseTime;

    @Schema(description = "消费次数时间范围0(不限)1(今天)2(最近7天)3(最近15天)4(最近30天)5(最近45天)6(最近60天)7(最近90天)8(最近180天)")
    private Integer purchaseNumTime;

    @Schema(description = "消费次数最小次数")
    private Long purchaseNumMinNum;

    @Schema(description = "消费次数最大次数")
    private Long purchaseNumMaxNum;

    @Schema(description = "消费金额时间范围0(不限)1(今天)2(最近7天)3(最近15天)4(最近30天)5(最近45天)6(最近60天)7(最近90天)8(最近180天)")
    private Integer purchaseAmountTime;

    @Schema(description = "消费金额最小金额")
    private Long purchaseAmountMinAmount;

    @Schema(description = "消费金额最大金额")
    private Long purchaseAmountMaxAmount;

    @Schema(description = "订单均价时间范围0(不限)1(今天)2(最近7天)3(最近15天)4(最近30天)5(最近45天)6(最近60天)7(最近90天)8(最近180天)")
    private Integer orderAveragePriceTime;

    @Schema(description = "订单均价最小金额")
    private Long orderAveragePriceMinAmount;

    @Schema(description = "订单均价最大金额")
    private Long orderAveragePriceMaxAmount;

    @Schema(description = "充值金额时间范围0(不限)1(今天)2(最近7天)3(最近15天)4(最近30天)5(最近45天)6(最近60天)7(最近90天)8(最近180天)")
    private Integer rechargeAmountTime;

    @Schema(description = "充值金额最小金额")
    private Long rechargeAmountMinAmount;

    @Schema(description = "充值金额最大金额")
    private Long rechargeAmountMaxAmount;

    @Schema(description = "充值次数时间范围0(不限)1(今天)2(最近7天)3(最近15天)4(最近30天)5(最近45天)6(最近60天)7(最近90天)8(最近180天)")
    private Integer rechargeNumTime;

    @Schema(description = "充值次数最小次数")
    private Long rechargeNumMinNum;

    @Schema(description = "充值次数最大次数")
    private Long rechargeNumMaxNum;

    @Schema(description = "符合标签的人数")
    private Long userNum;

    @Schema(description = "统计更新时间")
    private Date statisticUpdateTime;

}
