/*以后这个Consumer可能作为独立模块,所以把所有内容都内聚在这个cs文件中*/ public FsMessage GetOverRangeWarningMessage(Sensor sensor, string warningContent) { var msg = new RequestWarningReceivedMessage { Id = Guid.NewGuid(), StructId = (int)sensor.StructId, DeviceTypeId = 2, DeviceId = (int)sensor.SensorID, WarningTypeId = ((int)Errors.ERR_OUT_RANGE).ToString(), WarningTime = DateTime.Now, DateTime = DateTime.Now, WarningContent = string.Format("传感器:{0}-产品型号:{1}:{2}", sensor.Name, sensor.ProductCode, warningContent) }; var warningmsg = new FsMessage { Header = new FsMessageHeader { A = "PUT", R = "/warning/sensor", U = Guid.NewGuid(), T = Guid.NewGuid(), D = _warningAppName, M = "Warning" }, Body = JsonConvert.SerializeObject(msg) }; return(warningmsg); }
public void TestJsonTORequestWarningReceivedMessage() { var time = DateTime.Now; var msg = new RequestWarningReceivedMessage { Id = Guid.NewGuid(), WarningTypeId = "105", StructId = 20, DeviceTypeId = 2, DeviceId = 150, WarningContent = "传感器设备产生告警", WarningTime = time, DateTime = time }; var fsmsg = new FsMessage { Body = JObject.FromObject(msg) }; var msg2 = JsonConvert.DeserializeObject <RequestWarningReceivedMessage>(fsmsg.Body.ToString()); Assert.AreEqual(msg.Id, msg2.Id); Assert.AreEqual(msg.WarningTypeId, msg2.WarningTypeId); Assert.AreEqual(msg.StructId, msg2.StructId); Assert.AreEqual(msg.DeviceTypeId, msg2.DeviceTypeId); Assert.AreEqual(msg.DeviceId, msg2.DeviceId); Assert.AreEqual(msg.WarningContent, msg2.WarningContent); Assert.AreEqual(msg.WarningTime, msg2.WarningTime); Assert.AreEqual(msg.DateTime, msg2.DateTime); }
/// <summary> /// 发送传感器阈值告警 /// </summary> /// <param name="sensorId">传感器编号</param> /// <param name="structId"></param> /// <param name="thresholdAlarm"></param> public static void SendWarning(int sensorId, int structId, ThresholdAlarm thresholdAlarm) { var msg = new RequestWarningReceivedMessage { Id = Guid.NewGuid(), StructId = structId, DeviceTypeId = DEVICETYPEID, DeviceId = sensorId, WarningTypeId = GetWarningTypeId(thresholdAlarm.AlarmDetails.Min(d => d.ThresholdLevel)), WarningTime = DateTime.Now, WarningContent = thresholdAlarm.ToString(), DateTime = DateTime.Now }; var warningMsg = new FsMessage { Header = new FsMessageHeader { A = "PUT", R = "/warning/sensor", U = Guid.NewGuid(), T = Guid.NewGuid(), D = WarningAppName, M = "Warning" }, Body = JsonConvert.SerializeObject(msg) }; Service.Push(warningMsg.Header.D, warningMsg); }
public static int SaveWarningMsg(RequestWarningReceivedMessage msg, int warningstatus, int dealflag) { string sqlstr = string.Format( "insert into T_WARNING_SENSOR (WarningTypeId, StructId, DeviceTypeId, DeviceId, Content, Time,WarningStatus,DealFlag) values ('{0}',{1},{2},{3},'{4}','{5}',{6},{7})", msg.WarningTypeId, msg.StructId, msg.DeviceTypeId, msg.DeviceId, msg.WarningContent, msg.WarningTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), warningstatus, dealflag); return(DbHelperSQL.ExecuteSql(sqlstr)); }
public FsMessage GetSensorMsg(SensorAcqResult result) { try { result.Sensor = DbAccessor.DbConfigAccessor.GetSensorInfo(result.Sensor.SensorID); } catch (Exception e) { } if (result.ErrorCode == (int)Errors.SUCCESS || result.ErrorCode == (int)Errors.ERR_DEFAULT || result.ErrorCode == (int)Errors.ERR_COMPILED || result.ErrorCode == (int)Errors.ERR_CREATE_CMD) { this._log.WarnFormat("[ StructId:{2},SID:{3} -Location:{4}] error code :{0}, msg :{1}", (Errors)result.ErrorCode, EnumHelper.GetDescription((Errors)result.ErrorCode), result.Sensor.StructId, result.Sensor.SensorID, result.Sensor.Name); return(null); } var msg = new RequestWarningReceivedMessage { Id = Guid.NewGuid(), StructId = (int)result.Sensor.StructId, DeviceTypeId = SENSORDEVICETYPEID, DeviceId = (int)result.Sensor.SensorID, WarningTypeId = result.ErrorCode.ToString(), WarningTime = DateTime.Now, DateTime = DateTime.Now, WarningContent = EnumHelper.GetDescription((Errors)result.ErrorCode) //string.Format(result.Response == null ? "采集超时" : result.ErrorMsg) }; var warningmsg = new FsMessage { Header = new FsMessageHeader { A = "PUT", R = "/warning/sensor", U = Guid.NewGuid(), T = Guid.NewGuid(), D = _warningAppName, M = "Warning" }, Body = JsonConvert.SerializeObject(msg) }; return(warningmsg); }