package com.crm.rely.backend.core.pojo.table.ucard;

import com.crm.rely.backend.core.pojo.BaseTable;
import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;

/**
 * 卡片表
 */
@Data
@Entity
@Table(name = "ucard_card")
public class UcardCardTable extends BaseTable {

    /**
     * 唯一标识
     */
    private String uniqueId;

    /**
     * 商户订单号
     */
    private String merchantOrderNo;

    /**
     * 卡片类型（通过卡片类型接口获取）
     */
    private Integer cardTypeId;

    /**
     * 卡片号
     */
    private String cardNo;

    /**
     * 币种
     */
    private String currency;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 卡号
     */
    private String cardNumber;

    /**
     * 过期时间
     */
    private String expireDate;

    /**
     * CVV码
     */
    private String cvv;

    /**
     * 卡券 url，使用用户公钥加密返回，使用商户私钥解密。
     * 礼品卡将会退还。
     */
    private String activateUrl;

    /**
     * 激活状态。unactivate 未激活  wait_process：待处理； processing：处理中；success：成功；fail：失败
     */
    private String status;

    /**
     * 卡片取消状态
     */
    private String cancelStatus;

    /**
     * 卡片物流状态
     */
    private String logisticsStatus;

    /**
     * 冻结类型 1：正常；2：冻结
     */
    private String freezeType;

    /**
     * 冻结状态 wait_process: 待处理，processing: 处理中，success: 成功，fail: 失败
     */
    private String freezeStatus;

    /**
     * 手续费
     */
    private BigDecimal fee;

    /**
     * 到账金额
     */
    private BigDecimal receivedAmount;

    /**
     * 到账币种
     */
    private String receivedCurrency;

    /**
     * 类型
     */
    private String type;

    /**
     * 子类型。
     * DEFAULT: 默认
     * REFUND: 卡余额退款。这通常是指商家在卡片被取消后发起的退款。由于卡片已被取消，余额不能退回到卡片本身，需要提取到客户的钱包。
     */
    private String subType;

    /**
     * 交易备注
     */
    private String remark;

    /**
     * 交易时间。毫秒时间戳
     */
    private Long transactionTime;

    /**
     * 卡是否被锁定。银行控制
     */
    private Boolean blocked;

    /**
     * 银行卡交易密码。6位数字
     */
    private String pin;

    /**
     * 激活码
     */
    private String activeCode;


 }