/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.third.iotaepproduct.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 实体类
 *
 * @author BladeX
 * @since 2021-07-13
 */
@Data
@TableName("third_iot_aep_product")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ThirdIotAepProduct对象", description = "ThirdIotAepProduct对象")
public class ThirdIotAepProduct extends BaseEntity {

	private static final long serialVersionUID = 1L;

	private Integer productId;
	private String thirdId;
	/**
	* 接入类型（必填）: 1.设备直连，2.网关接入，3.南向云接入（只支持1）
	*/
		@ApiModelProperty(value = "接入类型（必填）: 1.设备直连，2.网关接入，3.南向云接入（只支持1）")
		private String accessType;
	/**
	* 认证方式 1:特征串认证,2:SM9认证,3:证书认证,4:IMEI认证，5:SIMID认证，6:SM2认证，7:IPV6标识认证
	*/
		@ApiModelProperty(value = "认证方式 1:特征串认证,2:SM9认证,3:证书认证,4:IMEI认证，5:SIMID认证，6:SM2认证，7:IPV6标识认证 ")
		private String authType;
	/**
	* dataEncryption：数据加密方式 1:sm1,2:sm2,3:sm4,4:dtls,5:明文（只支持MQTT/LWM2M）
	*/
		@ApiModelProperty(value = "dataEncryption：数据加密方式 1:sm1,2:sm2,3:sm4,4:dtls,5:明文（只支持MQTT/LWM2M）")
		private String dataEncryption;
	/**
	* T/T808协议 设备型号
	*/
		@ApiModelProperty(value = "T/T808协议 设备型号")
		private String deviceModel;
	/**
	* encryptionType：安全类型(只支持MQTT,TCP协议) 0:一机一密，1:一型一密"
	*/
		@ApiModelProperty(value = "encryptionType：安全类型(只支持MQTT,TCP协议) 0:一机一密，1:一型一密")
		private String encryptionType;
	/**
	* Endpoint格式（LWM2M协议必填）:1.IMEI2.URN:IMEI:3.URN:IMEI-IMSI: 4.URN:IMEI+SM9
	*/
		@ApiModelProperty(value = "Endpoint格式（LWM2M协议必填）:1.IMEI2.URN:IMEI:3.URN:IMEI-IMSI: 4.URN:IMEI+SM9")
		private String endpointFormat;
	/**
	* eDRX模式时间窗(LWM2M协议,当省电模式为3时,必填):20 ～ 10485.76 间的值,精确到小数点后两位
	*/
		@ApiModelProperty(value = "eDRX模式时间窗(LWM2M协议,当省电模式为3时,必填):20 ～ 10485.76 间的值,精确到小数点后两位")
		private String lwm2mEdrxTime;
	/**
	* JT/T808协议 制造商ID
	*/
		@ApiModelProperty(value = "JT/T808协议 制造商ID")
		private String manufacturerId;
	/**
	* 网络类型（必填）:1.WIFI,2.移动蜂窝数据3.NB-IoT,4.以太网,5.蓝牙,6.ZigBee（只支持1/2/3/4）
	*/
		@ApiModelProperty(value = "网络类型（必填）:1.WIFI,2.移动蜂窝数据3.NB-IoT,4.以太网,5.蓝牙,6.ZigBee（只支持1/2/3/4）")
		private String networkType;
	/**
	* 节点类型（必填）：1.设备 ，2.网关
	*/
		@ApiModelProperty(value = "节点类型（必填）：1.设备 ，2.网关")
		private String nodeType;
	/**
	* 消息格式 1:json，2:紧凑二进制
	*/
		@ApiModelProperty(value = "消息格式 1:json，2:紧凑二进制")
		private String payloadFormat;
	/**
	* 省电模式（LWM2M协议必填）：1.PSM 2.DRX 3.eDRX
	*/
		@ApiModelProperty(value = "省电模式（LWM2M协议必填）：1.PSM 2.DRX 3.eDRX")
		private String powerModel;
	/**
	* 产品描述（选填）：产品描述最多100个字符
	*/
		@ApiModelProperty(value = "产品描述（选填）：产品描述最多100个字符")
		private String productDesc;
	/**
	* 产品名称（必填）：产品名称最多 64 个字符，产品名称必须包含数字或字母或汉字,产品名称租户内不能重复
	*/
		@ApiModelProperty(value = "产品名称（必填）：产品名称最多 64 个字符，产品名称必须包含数字或字母或汉字,产品名称租户内不能重复")
		private String productName;
	/**
	* 产品协议（必填）：（aep) 1.T-LINK协议 2.MQTT协议 3.LWM2M协议 5.HTTP协议 6.JT/T808 7.TCP协议 10.网关MQTT协议

(感知平台）：1NB,2LWM2M,3HTTP,4TCP,5MQTT,6 厂
商协议
	*/
		@ApiModelProperty(value = "产品协议（必填）：（aep) 1.T-LINK协议 2.MQTT协议 3.LWM2M协议 5.HTTP协议 6.JT/T808 7.TCP协议 10.网关MQTT协议 (感知平台）：1NB,2LWM2M,3HTTP,4TCP,5MQTT,6 厂 商协议")
		private String productProtocol;
	/**
	* 产品分类（必填）
	*/
		@ApiModelProperty(value = "产品分类（必填）")
		private String productType;
	/**
	* 二级分类（必填）
	*/
		@ApiModelProperty(value = "二级分类（必填）")
		private String secondaryType;
	/**
	* 三级分类（必填）
	*/
		@ApiModelProperty(value = "三级分类（必填）")
		private String thirdType;
	/**
	* 是否透传：0.透传，1不透传（JT/T808，tcp协议，只有透传，消息格式必须只能传null）
	*/
		@ApiModelProperty(value = "是否透传：0.透传，1不透传（JT/T808，tcp协议，只有透传，消息格式必须只能传null）")
		@TableField("tupIs_through")
	private String tupisThrough;
	/**
	* 设备具体型号，选填，设备直连并且非JT/T808协议产品必填"
	*/
		@ApiModelProperty(value = "设备具体型号，选填，设备直连并且非JT/T808协议产品必填")
		private String tupDeviceModel;
	/**
	* 平台：aep  scepctwing（感知平台）
	*/
		@ApiModelProperty(value = "平台：aep  scepctwing（感知平台） ")
		private String platform;
	private String apiKey;
	/**
	* 前缀，感知平台有值
	*/
		@ApiModelProperty(value = "前缀，感知平台有值")
		private String prefix;
	/**
	* 该aep产品对应的本系统设备类型
	*/
		@ApiModelProperty(value = "该aep产品对应的本系统设备类型")
		private Integer deviceType;
	/**
	* 厂商编号
	*/
		@ApiModelProperty(value = "厂商编号")
		private String manufacturersNo;
	/**
	* 设备型号(附录)(感知平台)
	*/
		@ApiModelProperty(value = "设备型号(附录)(感知平台)")
		private String deviceSpecld;


}
