Exemple #1
0
        public int UpAlarmHand(v2_alarm_logHandVModel hand)
        {
            StringBuilder strSql = new StringBuilder();

            if (hand.Aid == 0)
            {
                strSql.Clear();
                strSql.Append("select max(Aid)as mkey from v2_alarm_log_hand where Log_id=@Log_id");
                object obj = SQLHelper.ExecuteScalar(strSql.ToString(), new { Log_id = hand.Log_id });
                hand.Aid = CommFunc.ConvertDBNullToInt32(obj) + 1;
            }
            strSql.Clear();
            strSql.Append("insert into v2_alarm_log_hand(Log_id,Aid,HdType,Content,Create_by,Create_dt,ErrCode,ErrTxt,HdTime)");
            strSql.Append("values(@Log_id,@Aid,@HdType,@Content,@SysUid,now(),@ErrCode,@ErrTxt,now())");
            strSql.Append(" ON DUPLICATE KEY UPDATE Content=@Content,ErrCode=@ErrCode,ErrTxt=@ErrTxt,HdTime=now()");
            return(SQLHelper.Execute(strSql.ToString(), new { Log_id = hand.Log_id, Aid = hand.Aid, HdType = hand.HdType, Content = hand.Content, SysUid = this.SysUid, ErrCode = hand.ErrCode, ErrTxt = hand.ErrTxt }));
        }
Exemple #2
0
        public v2_alarm_logHandVModel GetAlarmHand(long log_id, string hdType)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Clear();
            strSql.Append("select Log_id,Aid,HdType,Content,Create_dt,ErrCode,ErrTxt,HdTime");
            strSql.Append(" from v2_alarm_log_hand");
            strSql.Append(" where Log_id=@Log_id and HdType=@HdType order by Aid desc limit 1");
            DataTable dtSource          = SQLHelper.Query(strSql.ToString(), new { Log_id = log_id, HdType = hdType });
            v2_alarm_logHandVModel hand = new v2_alarm_logHandVModel()
            {
                Log_id = log_id, Aid = 0, HdType = hdType
            };

            if (dtSource.Rows.Count > 0)
            {
                hand = ModelHandler <v2_alarm_logHandVModel> .FillModel(dtSource.Rows[0]);
            }
            return(hand);
        }
Exemple #3
0
        private static void SendHd(int ledger, long log_id, AlarmType alarmType, HdType hdType, string content, int module_id)
        {
            SysPro pro;

            NCSys.Pro.TryGetValue(ledger, out pro);
            if (pro == null)
            {
                return;
            }
            DataProcessBLL         bll  = new DataProcessBLL(ledger, Config.Uid);
            v2_alarm_logHandVModel hand = bll.GetAlarmHand(log_id, hdType.ToString());

            hand.Content = content;

            if (hand.ErrCode == 1)
            {
                int sendSpan = CommFunc.ConvertDBNullToInt32(IniHepler.GetConfig(Config.lpFileName, "Alarm", "SendSpan"));

                if (hand.HdTime.AddMinutes(sendSpan) > DateTime.Now)
                {
                    return;
                }
                else
                {
                    hand.Aid = 0;/*新增一条记录*/
                }
            }
            DataTable     dtSource   = bll.GetSendInfo(module_id);
            List <string> mpReceipts = new List <string>();
            List <string> emReceipts = new List <string>();

            string coName = "", moduleName = "";

            foreach (DataRow drCrm in dtSource.Rows)
            {
                if (!string.IsNullOrEmpty(CommFunc.ConvertDBNullToString(drCrm["MPhone"])))
                {
                    mpReceipts.Add(CommFunc.ConvertDBNullToString(drCrm["MPhone"]));
                }
                if (!string.IsNullOrEmpty(CommFunc.ConvertDBNullToString(drCrm["Email"])))
                {
                    emReceipts.Add(CommFunc.ConvertDBNullToString(drCrm["Email"]));
                }
                coName     = CommFunc.ConvertDBNullToString(drCrm["CoName"]);
                moduleName = CommFunc.ConvertDBNullToString(drCrm["ModuleName"]);
            }
            bool   sue = false;
            string msg = "";

            try
            {
                if (hdType == HdType.AL_Sms)
                {
                    if (mpReceipts.Count > 0)
                    {
                        if (alarmType == AlarmType.Al_Use)
                        {/*感知万物演示用*/
                            string ccc = JsonHelper.Serialize(new { moduleName = moduleName });
                            if (!string.IsNullOrEmpty(pro.Sms.ComSmsConfig.ComSms))
                            {
                                sue = pro.Sms.SendMessage(mpReceipts, ccc, out msg);
                            }
                            else if (!string.IsNullOrEmpty(SmsFun.AliSmsConfig.AliAppKey))
                            {
                                sue = pro.Sms.SmsMessage(mpReceipts, ccc, out msg, "SMS_137657141");
                            }
                            else
                            {
                                msg = "没有发现短信接口";
                            }
                        }
                        else
                        {
                            msg = "感知演示,暂不开放";
                        }
                    }
                    else
                    {
                        msg = "无手机号码";
                    }
                }
                else if (hdType == HdType.AL_Email)
                {
                    if (mpReceipts.Count > 0)
                    {
                        StringBuilder mailcont1 = new StringBuilder();
                        mailcont1.Append("你好:" + coName);
                        mailcont1.Append("<br>");
                        mailcont1.Append("告警内容:" + hand.Content);
                        mailcont1.Append("<br>");
                        mailcont1.Append("告警时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo));
                        pro.Email.SendMail("告警通知", mailcont1.ToString(), "", emReceipts, null, null);
                        sue = true;
                    }
                    else
                    {
                        msg = "无邮箱地址";
                    }
                }
                hand.ErrCode = sue == true ? 1 : -1;
            }
            catch (Exception ex)
            {
                hand.ErrCode = -1;
                msg          = ex.Message;
            }
            hand.ErrTxt = msg;

            bll.UpAlarmHand(hand);
        }
Exemple #4
0
 public int UpAlarmHand(v2_alarm_logHandVModel hand)
 {
     return(dal.UpAlarmHand(hand));
 }