package cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.product;

import cn.iocoder.yudao.module.pms.controller.admin.yanfan.product.vo.userParmas;
import kotlin.jvm.Transient;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;


/**
 * 产品 DO
 *
 * @author 超级管理员
 */
@TableName("rq_iot_product")
@KeySequence("rq_iot_product_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IotYfProductDO extends BaseDO {

    /**
     * 产品ID
     */
    @TableId
    private Long productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 协议编号
     */
    private String protocolCode;
    /**
     * 产品分类ID
     */
    private Long categoryId;
    /**
     * 产品分类名称
     */
    private String categoryName;
    /**
     * 租户名称
     */
    private String tenantName;
    /**
     * 是否系统通用（0-否，1-是）
     */
    private Boolean isSys;
    /**
     * 是否启用授权码（0-否，1-是）
     */
    private Boolean isAuthorize;
    /**
     * mqtt账号
     */
    private String mqttAccount;
    /**
     * mqtt密码
     */
    private String mqttPassword;
    /**
     * 产品秘钥
     */
    private String mqttSecret;
    /**
     * 状态（1-未发布，2-已发布）
     */
    private Integer status;
    /**
     * 物模型JSON（属性、功能、事件）
     */
    private String thingsModelsJson;
    /**
     * 设备类型（1-直连设备、2-网关设备、3-监控设备）
     */
    private Integer deviceType;
    /**
     * 联网方式（1=wifi、2=蜂窝(2G/3G/4G/5G)、3=以太网、4=其他）
     */
    private Integer networkMethod;
    /**
     * 认证方式（1-简单认证、2-加密认证、3-简单+加密）
     */
    private Integer vertificateMethod;
    /**
     * 图片地址
     */
    private String imgUrl;
    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;
    /**
     * 创建者
     */
    private String createBy;
    /**
     * 更新者
     */
    private String updateBy;
    /**
     * 备注
     */
    private String remark;
    /**
     * 产品支持的传输协议
     */
    private String transport;
    /**
     * 定位方式(1=ip自动定位，2=设备定位，3=自定义)
     */
    private Integer locationWay;
    /**
     * 产品关联的组态id
     */
    private String guid;
    /**
     * 请求路径
     */
    private String url;
    /**
     * 请求类型
     */
    private String methodType;
    /**
     * get请求参数
     */
    private String paramsData;
    /**
     * 请求头参数
     */
    private String headers;
    /**
     * post、put请求参数
     */
    private String data;
    /**
     * body请求参数类型
     */
    private String contentType;
    /**
     * 请求间隔时间 cron表达式
     */
    private String cronExpression;
    /**
     * 参数类型
     */
    private String requestType;
    /**
     * body请求参数类型
     */
    private Integer contentTypeNumber;
    /**
     * 响应数据key
     */
    private String responseKey;
    /**
     * 远程设备地址
     */
    private String ipAddress;
    /**
     * 设备名称
     */
    private String equipmentName;
    /**
     * SNMP v1/v2c 团体名
     */
    private String community;
    /**
     * oid数组
     */
    private String oidListStr;
    /**
     * HTTP用户名
     */
    private String username;
    /**
     * HTTP密码
     */
    private String userpassword;
    /**
     * 1为启动，0为不启动，http接口是否需要先登录
     */
    private Integer httptype;
    /**
     * http密钥
     */
    private String userkey;
    /**
     * http地址
     */
    private String httpurl;
    /**
     * 部门id
     */
    private Long deptId;

}
