/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.
*
*/
package net.northking.cctp.device.dto.device;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
* Restful接口--资源详情--数据传输对象：移动设备信息表
*
* createdate:  2022-09-21 14:10:26  <br>
* @author:  maven-cctp-plugin  <br>
* @since:  1.0 <br>
*/
@JsonSerialize
@ApiModel(description = "移动设备信息表")
@Data
public class CdMobileDeviceDetailDto implements Serializable
{
    /**
     * 主键id<br>
     */
    @ApiModelProperty("主键id")
    @Size(max = 32, message="主键id-id: 数据长度不能 > 32" )
    private String id;
    /**
     * 中文名称<br>
     */
    @ApiModelProperty("中文名称")
    @Size(max = 50, message="中文名称-brandNameCn: 数据长度不能 > 50" )
    private String brandNameCn;
    /**
     * 产品名称<br>
     */
    @ApiModelProperty("产品名称")
    @Size(max = 128, message="产品名称-productName: 数据长度不能 > 128" )
    private String productName;
    /**
     * 机型名称<br>
     */
    @ApiModelProperty("机型名称")
    @Size(max = 128, message="机型名称-modelName: 数据长度不能 > 128" )
    private String modelName;
    /**
     * 平台类型<br>
     */
    @ApiModelProperty("平台类型")
    @Size(max = 32, message="平台类型-platform: 数据长度不能 > 32" )
    private String platform;
    /**
     * 机型图片<br>
     */
    @ApiModelProperty("机型图片")
    private String modelImg;
    /**
     * 平台版本<br>
     */
    @ApiModelProperty("平台版本")
    @Size(max = 32, message="平台版本-platformVersion: 数据长度不能 > 32" )
    private String platformVersion;
    /**
     * 上位机ip<br>
     */
    @ApiModelProperty("上位机ip")
    @Size(max = 32, message="上位机ip-ctrlIp: 数据长度不能 > 32" )
    private String ctrlIp;
    /**
     * 上位机位置<br>
     */
    @ApiModelProperty("上位机位置")
    @Size(max = 32, message="上位机位置-ctrlAddr: 数据长度不能 > 32" )
    private String ctrlAddr;
    /**
     * 系统id<br>
     */
    @ApiModelProperty("系统id")
    @Size(max = 32, message="系统id-projectId: 数据长度不能 > 32" )
    private String projectId;
    /**
     * 到期时间<br>
     */
    @ApiModelProperty("设备在系统的到期时间")
    private Date projectExpiredTime;

    /**
     * 到期时间<br>
     */
    @ApiModelProperty("设备在租户的到期时间")
    private Date tenantExpiredTime;

    @ApiModelProperty("系统-设备到期时间-开始")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date projectExpiredTimeStart;

    @ApiModelProperty("系统-设备到期时间-结束")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date projectExpiredTimeEnd;

    @ApiModelProperty("租户-设备到期时间-开始")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date tenantExpiredTimeStart;

    @ApiModelProperty("租户-设备到期时间-结束")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date tenantExpiredTimeEnd;

    /**
     * 设备状态(1-在线 2-离线 3-移除)<br>
     */
    @ApiModelProperty("设备状态(1-在线 2-离线 3-移除)")
    @Size(max = 1, message="设备状态(1-在线 2-离线 3-移除)-deviceStatus: 数据长度不能 > 1" )
    private String deviceStatus;
    /**
     * 使用状态(1-空闲 2-使用中)<br>
     */
    @ApiModelProperty("使用状态(1-空闲 2-使用中)")
    @Size(max = 1, message="使用状态(1-空闲 2-使用中)-usageStatus: 数据长度不能 > 1" )
    private String usageStatus;

    @ApiModelProperty("租户id")
    private String tenantId;

    @ApiModelProperty("系统名称")
    private String projectName;

    @ApiModelProperty("租户名称")
    private String tenantName;

    @ApiModelProperty("系统回收方式")
    private String proRecycleType;

    @ApiModelProperty("租户回收方式")
    private String tenantRecycleType;

    @ApiModelProperty("内存")
    private String ramSize;

    @ApiModelProperty("分辨率")
    private String resolution;

    @ApiModelProperty("使用人类型(0、用户 1、引擎)")
    private String userBy;

    @ApiModelProperty("使用人id")
    private String userId;

}