public ActionResult Index() { Osiris.BLL.DeviceAd bll = new Osiris.BLL.DeviceAd(); string returnValue; DataSet ds = bll.UserAllAd("admin", "11-22-33-44-55", out returnValue); //Osiris.BLL.UserInfo bll = new Osiris.BLL.UserInfo(); //string str = bll.CheckUserInfo("admin", "11-22-33-44-55" ); return(View()); }
public HttpResponseMessage Post([FromBody] RequestObject m) { StringBuilder strJson = new StringBuilder(); strJson.Append("{\"code\":200,"); strJson.Append("\"msg\":\""); Osiris.BLL.DeviceAd bll = new Osiris.BLL.DeviceAd(); string returnValue; DataSet ds = null; string actionType = m.actiontype.ToLower(); if (actionType.Equals("all")) { ds = bll.UserAllAd(m.username, m.deviceid, out returnValue); } else if (actionType.Equals("current")) { ds = bll.UserCurrentAd(m.deviceid, out returnValue); } else { ds = bll.UserAllLast(m.username, m.deviceid, out returnValue); } switch (returnValue) { case "0": strJson.Append("success"); break; case "1": strJson.Append("终端未绑定"); break; case "2": strJson.Append("用户不存在"); break; case "3": strJson.Append("当前用户未上传广告"); break; default: strJson.Append("未知错误"); break; } strJson.Append("\","); strJson.Append("\"playload\":{"); switch (actionType) { case "all": strJson.Append("\"ads\":["); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { strJson.Append("{"); strJson.Append(" \"id\":\"" + dr[0] + "\","); strJson.Append(" \"type\":\"" + dr[1] + "\","); strJson.Append(" \"text\":\"" + dr[2] + "\","); strJson.Append(" \"url\":\"" + dr[3] + "\","); strJson.Append(" \"thumbUrl\":\"" + dr[4] + "\""); strJson.Append("},"); } strJson.Remove(strJson.Length - 1, 1); } strJson.Append("]}}"); break; case "current": if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { strJson.Append("\"adCmd\":{"); strJson.Append("\"ad\":{"); strJson.Append(" \"id\":\"" + dr[0] + "\","); strJson.Append(" \"type\":\"" + dr[1] + "\","); strJson.Append(" \"text\":\"" + dr[2] + "\","); strJson.Append(" \"url\":\"" + dr[3] + "\","); strJson.Append(" \"thumbUrl\":\"" + dr[4] + "\""); strJson.Append("},"); strJson.Append(" \"repeatCount\":\"" + dr[5] + "\","); strJson.Append(" \"activeStartTime\":" + Commons.DateTimeToUnixTimestamp(Convert.ToDateTime(dr[7])) + ","); strJson.Append(" \"activeEndTime\":" + Commons.DateTimeToUnixTimestamp(Convert.ToDateTime(dr[8])) + ""); strJson.Append("},"); strJson.Append("\"user\":{"); strJson.Append(" \"username\":\"" + dr[13] + "\","); strJson.Append(" \"headImage\":\"" + dr[14] + "\""); strJson.Append("}"); } } strJson.Append("}}"); break; } HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); }
/// <summary> /// 控制设置 /// </summary> /// <param name="value">传的value</param> public HttpResponseMessage ControlDevice([FromBody] RequestUpdateObject obj) { StringBuilder strJson = new StringBuilder(); strJson.Append("{\"code\":200,"); strJson.Append(" \"msg\":\""); if (obj == null) { strJson.Append(" Post请求错误 \","); strJson.Append(" \"payload\":{}"); } else { //第一步,修改deviceinfo Osiris.Model.DeviceInfo model = new Osiris.Model.DeviceInfo(); Osiris.BLL.DeviceInfo bll = new Osiris.BLL.DeviceInfo(); try { model.DeviceId = obj.deviceid; model.Brightness = obj.deviceinfo.lightness; model.Temperature = obj.deviceinfo.temperature; model.Powerwaste = obj.deviceinfo.powerWaste; model.ViewModel = obj.deviceinfo.displayMode; model.Lon = obj.latlng.lng; model.Lat = obj.latlng.lat; model.UpdateTime = DateTime.Now; model.Gyroscope = obj.deviceinfo.gyroscope; bll.Update(model); } catch (Exception ex) { strJson.Append(" 数据更新失败 \","); strJson.Append(" \"payload\":{}"); strJson.Append("}"); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); } //第二步,根据坐标计算地区并返回广告 string BaiduAK = System.Configuration.ConfigurationManager.AppSettings["BaiduAK"]; string lng = obj.latlng.lat + "," + obj.latlng.lng; string url = string.Format("http://api.map.baidu.com/geocoder/v2/?output=json&ak={0}&location={1}", BaiduAK, lng); string returnStr = HttpHelper.GetResponseString(HttpHelper.CreateGetHttpResponse(url, null)); JObject jo = (JObject)JsonConvert.DeserializeObject(returnStr); string district = jo["result"]["addressComponent"]["district"].ToString(); if (string.IsNullOrEmpty(district)) { strJson.Append(" 未获取到地区数据,请检查GPS数据! \","); strJson.Append(" \"payload\":{}"); strJson.Append("}"); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); } //第三步,根据地区读取广告. Osiris.BLL.DeviceAd bllad = new Osiris.BLL.DeviceAd(); string returnValue; DataSet ds = bllad.GetAdByEareTime(obj.deviceid, district, out returnValue); DataRow dr = null; try { dr = ds.Tables[0].Rows[0]; model = bll.GetModel(obj.deviceid); } catch (Exception ex) { strJson.Append(" 未设置广告 \","); strJson.Append(" \"payload\":{}"); strJson.Append("}"); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(result); } strJson.Append("success\","); strJson.Append(" \"payload\":{\"deviceCmds\":{ "); strJson.Append(string.Format("\"lightness\":\"{0}\",", model.Brightness)); strJson.Append(string.Format("\"on\":\"{0}\",", model.Switch)); strJson.Append(string.Format("\"displayMode\":\"{0}\",", model.ViewModel)); strJson.Append(string.Format("\"lock\":\"{0}\"", model.IsLock)); strJson.Append(" },\"adCmd\":{\"ad\":{ "); strJson.Append(string.Format("\"id\":\"{0}\",", dr[0])); strJson.Append(string.Format("\"type\":\"{0}\",", dr[1])); strJson.Append(string.Format("\"text\":\"{0}\",", dr[2])); strJson.Append(string.Format("\"url\":\"{0}\",", dr[3])); strJson.Append(string.Format("\"thumbUrl\":\"{0}\"", dr[4])); strJson.Append(" },"); strJson.Append(string.Format("\"repeatCount\":\"{0}\",", dr[5])); strJson.Append(string.Format("\"activeStartTime\":{0},", Commons.DateTimeToUnixTimestamp(Convert.ToDateTime(dr[7])))); strJson.Append(string.Format("\"activeEndTime\":{0}", Commons.DateTimeToUnixTimestamp(Convert.ToDateTime(dr[8])))); strJson.Append(" }}"); } strJson.Append("}"); HttpResponseMessage results = new HttpResponseMessage { Content = new StringContent(strJson.ToString(), Encoding.GetEncoding("UTF-8"), "application/json") }; return(results); }