Example #1
0
        public string TemperatureRecord(JObject obj)
        {
            MachineDAL machineDAL = new MachineDAL();
            MachineModel machine = machineDAL.QuerySingle(" MachineCode='" + obj["mc"].ToString() + "'");
            if (machine != null && machine.ID > 0)
            {
                TemperatureRecordModel model = new TemperatureRecordModel();
                model.MachineName = machine.MachineName;
                model.AddTime = DateTime.Now;
                model.MachineCode = obj["mc"].TryParseString();
                model.Temperature = obj["tt"].TryParseDecimal(8);
                model.Longitude = obj["lon"].TryParseDecimal(10);
                model.Latitude = obj["lat"].TryParseDecimal(10);
                model.RemainingPower = obj["rp"].TryParseDecimal(2);
                model.WorkingMode = obj["wm"].TryParseString();
                model.SignalStrength = obj["ss"].TryParseString();
                model.IP = obj["ip"].TryParseString();
                model.Port = obj["port"].TryParseInt();
                model.WorkingFrequency = obj["wf"].TryParseString();
                TemperatureRecordDAL dal = new TemperatureRecordDAL();
                dal.InsertSQL(model);

                SystemConfigDAL conDAL = new SystemConfigDAL();
                SystemConfigModel conMinModel = conDAL.QuerySingle(" ConfigKey='TemperatureMinValue'");
                SystemConfigModel conMaxModel = conDAL.QuerySingle(" ConfigKey='TemperatureMaxValue'");
                if ((conMinModel != null && model.Temperature < conMinModel.ConfigValue.TryParseDecimal()) || (conMaxModel != null && model.Temperature > conMaxModel.ConfigValue.TryParseDecimal()))
                {
                    SystemConfigModel conMobile = conDAL.QuerySingle(" ConfigKey='TemperatureMobile'");
                    SystemConfigModel conContent = conDAL.QuerySingle(" ConfigKey='SMSTemperatureTemplate'");
                    if (conMobile != null && !conMobile.ConfigValue.IsNullOrEmpty() && conContent != null && !conContent.ConfigValue.IsNullOrEmpty())
                    {
                        foreach (string mobile in conMobile.ConfigValue.Split(','))
                        {
                            string content = string.Format(conContent.ConfigValue, model.MachineCode, model.Temperature);
                            StringBuilder sbTemp = new StringBuilder();
                            string url = "http://api.sms.cn/mtutf8/";
                            string data = "uid=" + ConfigurationManager.AppSettings["SMSUserName"] +
                                "&pwd=" + ConfigurationManager.AppSettings["SMSPassword"] + "&mobile=" + mobile + "&content=" + Server.UrlEncode(content);
                            sbTemp.Append(data);
                            byte[] bTemp = System.Text.Encoding.GetEncoding("GBK").GetBytes(sbTemp.ToString());
                            string res = doPostRequest(url, bTemp);
                            Log.Default.Debug("温度短信报警:" + res);
                        }
                    }
                }

                return true.ToResult().ToJsonString();
            }
            return false.ToResult("后台无此机器码").ToJsonString();
        }