package nats_server import ( "database/sql/driver" "fmt" "time" ) type JsonTime struct { time.Time } func (t JsonTime) MarshalJSON() ([]byte, error) { str := fmt.Sprintf("\"%s\"", t.Format("2006-01-02 15:04:05")) return []byte(str), nil } func (t JsonTime) Value() (driver.Value, error) { var zeroTime time.Time if t.Time.UnixNano() == zeroTime.UnixNano() { return nil, nil } return t.Time, nil } func (t *JsonTime) Scan(v interface{}) error { value, ok := v.(time.Time) if ok { *t = JsonTime{Time: value} return nil } return fmt.Errorf("error %v", v) } type DeviceSensor_R struct { T_sn string // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机 T_id int // 传感器编号 T_name string // 标题 //T_pid int // 公司id //T_pid_name string // 公司名称 // //T_3dview string // 3D 视图ID //T_sort int // 排序 //T_Dattery int // 电量 //T_Site string // GPS //T_monitor int // 记录状态 //T_online int // 在线状态 1 在线 0 离线 //T_online_s int // 在线状态-备用 0 未启用 1 在线 2 离线 //T_datashow int // 0 屏蔽数据展示 1 正常数据展示 //T_type int // 类型 //T_link int // 0:断开/故障 1连接 实时数据 //T_State int // 0 屏蔽 1 正常 (屏蔽后 只有内部管理员才能看到,用户 输入SN\名称 搜索时 也能看到) T_DeviceSensorData DeviceData_R2 // 传感器最新数据 T_DeviceSensorParameter DeviceSensorParameter_R // 设备参数 } type DeviceData_R2 struct { T_t float32 // 温度 T_rh float32 // 湿度 T_site string // GPS T_time string // 采集时间 } type DeviceData_ struct { T_id int // 传感器id T_sp int // 传感器参数id T_t float32 // 温度 T_rh float32 // 湿度 T_site string // GPS T_time time.Time // 采集时间 } type DeviceData_R struct { T_sn string // sn T_id int // 传感器id T_name string // 传感器名称 T_t float32 // 温度 T_rh float32 // 湿度 T_site string // GPS T_tl float32 // 温度下限 T_tu float32 // 温度上限 T_rhl float32 // 湿度下限 T_rhu float32 // 湿度上限 T_time string // 采集时间 //T_sp int // 传感器参数id //T_ist int // 温度 1开启 2关闭 //T_ish int // 湿度 1开启 2关闭 //T_remark string // 备注 } type DeviceSensorParameter_R struct { Id int T_name string // 报警 T_Tlower float32 // 温度下限 T_Tupper float32 // 温度上限 T_RHlower float32 // 湿度下限 T_RHupper float32 // 湿度上限 // 预警 //T_enprel int // 是否启用预警 //T_tprel float32 // 温度预警下限 //T_tpreu float32 // 温度预警上限 //T_hprel float32 // 湿度预警下限 //T_hpreu float32 // 温度预警上限 //T_enprelnote int // 预警记录数据 //T_speed int // 传感器采样率 s(1~240) 默认:15 * //T_sense int // 传感器灵敏度 s(0~10) 默认:5 //T_en int // en:是否启用传感器, //T_free int // free:监测点是否为闲置状态(空库,只监测不报警) T_time JsonTime } type Device_R struct { T_sn string // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机 T_devName string // 设备名称 T_protocol int // 1 1.0协议 2 2.0协议 T_VerifyTime string // 验证时间 T_CalibrationTime string // 校准时间 T_PatrolTime string // 巡检时间 T_ist int // 温度 1开启 2关闭 T_ish int // 湿度 1开启 2关闭 T_Dattery int // 电量 T_Site string // GPS T_monitor int // 监控状态 0 未监控 1 监控 停止记录 T_online int // 在线状态 0 未启用 1 在线 2 离线 T_online_s int // 在线状态-备用 0 未启用 1 在线 2 离线 T_State int // 0 屏蔽 1 正常 // 硬件信息 T_model string // KF200BG 产品型号 T_ProductTypeName string // 验证工具LoRa 产品统称 + 类型 T_sver string // "1.0.0",//软件版本 T_hver string // "1.0.0",//硬件版本 T_imei string // "867387060327718",//模组imei T_iccid string // "89860477102170049750",//sim卡号 T_rssi string // "80",//信号强度 CreateTime string //auto_now_add 第一次保存时才设置时间 UpdateTime string //auto_now 每次 model 保存时都会对时间自动更新 T_DeviceSensor_Num int // 传感器数量 } type Company_R struct { Id int T_mid int // 上一级 ID T_name string // 公司名称 T_plan string // 平面图 T_data string // 大数据 T_v3d string // 3D 视图 T_money float32 // 余额 T_warning int // 报警统计 T_key string T_type int // 公司类型 1-医药公司 2-运输企业 T_Charging int Children []Company_R } type Device struct { T_sn string // 设备序列号 T_pid int // Account.Company 绑定公司 T_devName string // 设备名称 20字 T_protocol int // 冷链通讯协议 1 :1.0协议 2 :2.0协议 3 :3.0协议 T_mqttid string // MQTT 服务ID T_VerifyTime time.Time // 验证时间 T_CalibrationTime time.Time // 校准时间 T_PatrolTime time.Time // 巡检时间 T_abandonTime time.Time // 弃用时间 T_ist int // 温度 1开启 2关闭 T_ish int // 湿度 1开启 2关闭 T_State int // 0 屏蔽 1 正常 (屏蔽后 只有内部管理员才能看到,用户 输入SN\名称 搜索时 也能看到) // 设备同步参数 T_Dattery int // 电量 T_Site string // GPS T_monitor int // 监控状态 0 未监控 1 监控 停止记录 T_online int // 在线状态 0 未启用 1 在线 2 离线 T_online_s int // 在线状态-备用 0 未启用 1 在线 2 离线 // 硬件信息 T_model string // KF200BG 设备型号 T_sver string // "1.0.0",//软件版本 T_hver string // "1.0.0",//硬件版本 T_imei string // "867387060327718",//模组imei T_iccid string // "89860477102170049750",//sim卡号 T_rssi string // "80",//信号强度 CreateTime time.Time //auto_now_add 第一次保存时才设置时间 UpdateTime time.Time //auto_now 每次 model 保存时都会对时间自动更新 }