public override string Entry4FanInPubData(string name, string data) { Logging.logger.Debug(name + "" + data); if (name == "WarnPub") { PushMessage pm = (PushMessage)JsonConvert.DeserializeObject(data, typeof(PushMessage)); ProcessWarnIssue(pm); } return(null); }
public static int PushWarningMessage(ModuleBase current, string name, WarningMessageModel wmm) { if (current == null || wmm == null || name == null) { Logging.logger.Error(MsgConstStr.ParmNull + " " + current + " " + name + " " + wmm); return(-1); } PushMessage sm = new PushMessage(); sm.ModName = current.ModName; sm.MsgType = Warning.WarnType.ToString(); sm.Content = JsonConvert.SerializeObject(wmm); wmm.modname = current.ModName; string json = JsonConvert.SerializeObject(sm); int rlt = current.FaninClientSendData(name, json); if (rlt != 0) { Logging.logger.Error(MsgConstStr.FaninCSendFail + " " + 0); return(-1); } return(0); }
private int ProcessWarnIssue(PushMessage pm) { bool ret; int rlt = -1; if (ModWarnSts.ContainsKey(pm.ModName)) { ModWarnStsAll mwsa = ModWarnSts[pm.ModName]; if (mwsa.ModName != pm.ModName) { Logging.logger.Error(MsgConstStr.ModNameWrong + mwsa.ModName + " " + pm.ModName); return(rlt); } WarningMessageModel wmm = (WarningMessageModel)JsonConvert.DeserializeObject(pm.Content, typeof(WarningMessageModel)); if (mwsa.WarnStsMon.ContainsKey(wmm.warnNo)) { WarnStsMonAll wsma = mwsa.WarnStsMon[wmm.warnNo]; if (wsma.WarnNo != wmm.warnNo) { Logging.logger.Error(MsgConstStr.WarnIssueWrong); return(rlt); } WarnStatusMon wsm; if (wsma.WarnCodeAll.ContainsKey(wmm.code)) { wsm = wsma.WarnCodeAll[wmm.code]; if (wsm.code != wmm.code) { Logging.logger.Warn(MsgConstStr.WarnCodeWrong); wsm.code = wmm.code; } if (wsm.WarnNo != wmm.warnNo) { Logging.logger.Warn(MsgConstStr.WarnIssueWrong); wsm.WarnNo = wmm.warnNo; } if (wsm.status == WarningSts.NormalSts) { //save data to db ret = WarningDA.AddWarning(wmm); if (ret) { wsm.status = WarningSts.WarnSts; wsm.start = Convert.ToDateTime(wmm.time); wsm.count = 0; rlt = 0; } else { Logging.logger.Error(MsgConstStr.SaveWarn2DBWrong); } } else { if (DateTime.Compare(wsm.start.AddMinutes(warntimelimit), DateTime.Now) < 0) { //save data to db ret = WarningDA.AddWarning(wmm); if (ret) { wsm.status = WarningSts.WarnSts; wsm.count = 0; wsm.start = Convert.ToDateTime(wmm.time); rlt = 0; } else { Logging.logger.Error(MsgConstStr.SaveWarn2DBWrong); } } else { wsm.count += 1; } } } else { wsm = new WarnStatusMon(); wsm.code = wmm.code; wsm.start = Convert.ToDateTime(wmm.time); wsm.status = WarningSts.WarnSts; wsm.WarnNo = wmm.warnNo; wsm.WarnValue = wmm.title; wsm.count = 0; ret = WarningDA.AddWarning(wmm); if (!ret) { Logging.logger.Error(MsgConstStr.SaveWarn2DBWrong); } rlt = 0; wsma.WarnCodeAll.Add(wsm.code, wsm); } } else { Logging.logger.Error(MsgConstStr.NoWarnIssue); return(rlt); } } else { Logging.logger.Error(MsgConstStr.NoWarnIssue); rlt = 0; } return(rlt); }