
package com.tmerclub.cloud.user.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 用户等级记录DTO
 *
 * @author tmerclub
 * @date 2021-05-14 11:04:52
 */
@Data
@ToString
public class UserLevelLogDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "等级记录表")
    private Long levelLogId;

    @Schema(description = "用户id")
    private String userId;

    @Schema(description = "用户名称")
    private String nickName;

    @Schema(description = "手机号码")
    private String phone;

    @Schema(description = "变更类型 -1降级 0不变 1升级")
    private Integer levelIoType;

    @Schema(description = "等级变更原因1.成长值不足 2.成长值足够 3.购买会员 4.续费会员 5.会员到期")
    private Integer levelChangeReason;

    @Schema(description = "变更之前等级")
    private Integer beforeLevel;

    @Schema(description = "变更之前的等级类型  0:普通会员 1:付费会员")
    private Integer beforeLevelType;

    @Schema(description = "变更之后的等级")
    private Integer afterLevel;

    @Schema(description = "变更之后的等级类型 0:普通会员 1:付费会员")
    private Integer afterLevelType;

    @Schema(description = "支付单号")
    private Long payId;

    @Schema(description = "是否支付1已支付0未支付")
    private Integer payType;

    @Schema(description = "是否支付1已支付0未支付")
    private Integer isPayed;

    @Schema(description = "支付金额")
    private Long payAmount;

    @Schema(description = "升级时间")
    private Date createTime;

    @Schema(description = "起始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

}
