package com.xhpc.card.domain;


import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@NoArgsConstructor
@Data
public class BindCardInfo {

    /**
     * 用户类型
     * （ 0 C端用户 1 流量方用户 2社区用户 3 B端用户）
     */
    @JsonProperty("userType")
    @NotNull(message = "userType的参数名不正确或者userType的值为空，请检查传入参数")
    private Integer userType;
    /**
     * 用户账号
     */
    @JsonProperty("userAccount")
    @NotNull(message = "userAccount的参数名不正确或者userAccount的值为空，请检查传入参数")
    @NotBlank(message = "userAccount的参数不能为''字符串，请检查传入参数")
    private String userAccount;
    /**
     * 卡序列号
     */
    @JsonProperty("cardId")
    @NotNull(message = "cardId的参数名不正确或者cardId的值为空，请检查传入参数")
    @NotBlank(message = "cardId的参数不能为''字符串，请检查传入参数")
    private String cardId;
    /**
     * 卡编号
     */
    @JsonProperty("cardNo")
    @NotNull(message = "cardNo的参数名不正确或者cardNo的值为空，请检查传入参数")
    @NotBlank(message = "cardNo的参数不能为''字符串，请检查传入参数")
    private String cardNo;
    /**
     * 卡类型(离线还是联网 0，离线，1联网)
     */
    @JsonProperty("cardType")
    @NotNull(message = "cardType的参数名不正确或者cardType的值为空，请检查传入参数")
    private Integer cardType;
    /**
     * 卡分类 0表示平台，1表示运营商
     */
    @JsonProperty("cardClassification")
    @NotNull(message = "cardClassification的参数名不正确或者cardClassification的值为空，请检查传入参数")
    private Integer cardClassification;
    /**
     * 卡记录id
     */
    @JsonProperty("cardRecordId")
    @NotNull(message = "cardRecordId的参数名不正确或者cardRecordId的值为空，请检查传入参数")
    private Integer cardRecordId;

    /**
     * 卡押金
     */
    @JsonProperty("cashPledge")
    private Long cashPledge;

}
