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(); }