package cc.iotkit.model.iccid;


import cc.iotkit.model.BaseModel;
import cc.iotkit.model.TenantModel;
import cc.iotkit.model.notify.Channel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.*;
import org.hibernate.annotations.Filter;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.ParamDef;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;

// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DIccidRecordDO extends TenantModel implements cc.iotkit.model.Id<Long>, Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    //@TableId(type = IdType.AUTO)

    private Long id;
    /**
     * 厂商编号|合作商编号
     */
    private String userCode;
    /**
     * 物联网卡号
     */
    private String iccid;
    /**
     * 物联网卡运营商
     */
    private Integer simType;
    /**
     * 发货日期
     */
    private String dateline;
    /**
     * 状态(0,已授权,1未授权,2未支付)
     */
    private Integer state;
    /**
     * 订单id
     */
    private String orderId;
    /**
     * 授权码
     */
    private String authorizationCode;
    /**
     * 物联网卡来源0-其他 1-官方
     */
    private Integer source;
    /**
     * 厂商名称|合作商名称
     */
    private String user;
    /**
     * imei
     */
    private String imei;

    private Integer validDays;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expirationTime;
    /**
     *租户id
     */
    private Long tenantId;

}