/// <summary> /// 删除信息 /// </summary> /// <param name="context"></param> public void DelPublishInfo(HttpContext context) { var hashtable = new Hashtable(); var infoReleaseDal = new PowerCutDal(); var infoReleaseDetails = new InfoReleaseDetailsDal(); var id = context.Request.Params["id"]; try { infoReleaseDal.Del(new PowerCut() { Id = id }); hashtable["isSuccess"] = true; hashtable["jsMethod"] = "ajax_DelPowerInfo"; var json = _jss.Serialize(hashtable); context.Response.Write(json); } catch (Exception e) { Log.Debug("方法名:SavePowerInfo,描述:保存停电信息方法出错,错误原因:" + e.Message); } }
/// <summary> /// 查询详细信息 /// </summary> /// <param name="context"></param> public void QueryDetailInfo(HttpContext context) { var hashtable = new Hashtable(); var infoReleaseDal = new InfoReleaseDal(); var infoReleaseDetailsDal = new InfoReleaseDetailsDal(); var id = context.Request.Params["id"]; var wxid = context.Request.Params["wxid"]; try { var data = infoReleaseDal.QueryDetailInfo(new InfoRelease() { Id = id }); //查询状态 var stateDt = infoReleaseDetailsDal.QueryState(wxid, id); var state = stateDt.Rows.Count > 0 ? stateDt.Rows[0]["state"].ToString() : "2"; var list = from da in data.AsEnumerable() select new { Title = da.Field<string>("Title"), MaterialContent = da.Field<string>("MaterialContent"), CreateDt = da.Field<DateTime?>("CreateDt") }; hashtable["data"] = list.ToList(); hashtable["state"] = state; hashtable["isSuccess"] = true; hashtable["jsMethod"] = "ajax_QueryDetailInfo"; var json = _jss.Serialize(hashtable); context.Response.Write(json); } catch (Exception e) { Log.Debug("错误原因:" + e.Message); } }
protected void Page_Load(object sender, EventArgs e) { //校验签名,当填入的信息提交之后页面有提示“你已成功成为公众平台开发者, //可以使用公众平台的开发功能”这个的时候,接下来你就需要注释掉这个校验的方法,使得后面的消息回复得以正常运作 //Valid(); if (Request.HttpMethod.ToLower() == "post")//当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL上 { var postStr = PostInput(); // WriteLog(postStr, Server);//计入日记 if (postStr.Contains("xml")) { Response.Write(""); Response.Flush();//立即输出 Response.Close(); DataDealBll dataDeal = new DataDealBll(postStr); Log.Debug("dataDeal.ReceiveMsgModel.MsgType:" + dataDeal.ReceiveMsgModel.MsgType); if ("voice".Equals(dataDeal.ReceiveMsgModel.MsgType)) { try { //在添加到数据库后开始下载。 InfoReleaseDetailsDal infoReleaseDetailsDal = new InfoReleaseDetailsDal(); DataTable dt = infoReleaseDetailsDal.QueryMaxdt(new InfoReleaseDetailsModel() { OpenId = dataDeal.ReceiveMsgModel.FromUserName, }); bool FlagModify = false; if (dt.Rows.Count > 0) { var DtStr = dt.Rows[0]["confirmdt"].ToString(); Log.Debug("DtStr:" + DtStr); var confirmDt = DateTime.MinValue; if (!string.IsNullOrEmpty(DtStr)) { confirmDt = DateTime.Parse(DtStr); } if (confirmDt >= DateTime.Now.AddMinutes(-30) && (dt.Rows[0]["bk1"].ToString().Length == 0 || dt.Rows[0]["bk1"].ToString() != "1")) { FlagModify = true; infoReleaseDetailsDal.Modify(new InfoReleaseDetailsModel() { Id = dt.Rows[0]["id"].ToString(), Bk2 = dataDeal.ReceiveMsgModel.id, }); } } AccessToken AcToken = new AccessToken(); string token = AcToken.GetExistAccessToken(); Log.Debug("GetMedia参数,token:" + token + ",dataDeal.MediaId:" + dataDeal.ReceiveMsgModel.MediaId + ",path:" + Server.MapPath("/")); GetMultimedia getMultimedia = new GetMultimedia(); string filePath = GetMedia(token, dataDeal.ReceiveMsgModel.MediaId, Server.MapPath("/voice")); new ReceiveMsgDal().Modify(new ReceiveMsg() { id = dataDeal.ReceiveMsgModel.id, bak2 = "/voice/" + filePath.Substring(filePath.LastIndexOf('\\') + 1), }); if (FlagModify) { infoReleaseDetailsDal.Modify(new InfoReleaseDetailsModel() { Id = dt.Rows[0]["id"].ToString(), Bk1 = "1", Bk3 = "/voice/" + filePath.Substring(filePath.LastIndexOf('\\') + 1), }); } } catch (Exception ex) { Log.Error(ex); } } if (!dataDeal.IsMessageTrue()) { WriteLog(postStr, Server);//计入日记 } else { MessageType msgType = dataDeal.GetMsgType(); if (msgType.Equals(MessageType.EventSubscribe)) { /******* 添加首次关注的回复 ***/ } } } Response.End(); } else { var postStr = PostInput(); if (postStr.Contains("xml")) { Response.Write(""); DataDealBll dataDeal = new DataDealBll(postStr); if (!dataDeal.IsMessageTrue()) { WriteLog(postStr, Server);//计入日记 } } } }
private void Send(HttpContext context) { var userid = context.Request["userid"] ?? ""; var Id = context.Request["Id"] ?? ""; var Title = context.Request["title"] ?? ""; var messageDescription = context.Request["MessageDescription"] ?? ""; var key = context.Request["key"] ?? ""; if (string.IsNullOrEmpty(userid) || string.IsNullOrEmpty(Id) || string.IsNullOrEmpty(Title) || string.IsNullOrEmpty(messageDescription)) { context.Response.Write("{\"error\":true,\"msg\":\"信息不完整。\"}"); return; } var hashTable = new Hashtable(); var listnews = new List<object>(); var accessToken = new AccessToken(); var sendDataToUser = new SendDataToWeChat(); try { listnews.Add(new { title = Title, description = messageDescription, url = "http://218.22.27.236/views/messagelist/messagedetail_fxgz.htm?id=" + Id + "&wxid=" + userid + "&state=2", picurl = "http://218.22.27.236/tl/UploadImages/" + key + ".jpg" }); hashTable["touser"] = userid; hashTable["msgtype"] = "news"; hashTable["news"] = new { articles = listnews }; var json = _jss.Serialize(hashTable); json = json.Replace("\\u0026", "&"); var token = accessToken.GetExistAccessToken(); var back = sendDataToUser.GetPage("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + token, json); var backData = JsonConvert.DeserializeObject<WeChatBackData>(back); if (backData.errcode != 0) { context.Response.Write("{\"error\":true,\"msg\":\"" + backData.errmsg + "\"}"); } else { context.Response.Write("{\"error\":false}"); } var infoReleaseDetailsModel = new InfoReleaseDetailsModel(); if (backData.errcode == 0 && backData.errmsg == "ok") { infoReleaseDetailsModel.State = "2";//待确认 } var infoReleaseDetailsDal = new InfoReleaseDetailsDal(); infoReleaseDetailsModel.Id = Id; infoReleaseDetailsDal.Modify(infoReleaseDetailsModel); Log.Debug("调试信息:" + back); } catch (Exception e) { context.Response.Write("{\"error\":true,\"msg\":\"" + e.Message + "\"}"); Log.Error(e); } }
/// <summary> /// 查找信息发布表详细数据 /// </summary> /// <param name="context"></param> public void QueryInfoReleaseDetails(HttpContext context) { var hashtable = new Hashtable(); var infoReleaseDetailsDal = new InfoReleaseDetailsDal(); var id = context.Request.Params["id"]; try { var data = infoReleaseDetailsDal.QueryByInfoReleaseId(id); var list = from da in data.AsEnumerable() select new { wxh = da.Field<string>("openid"), nickname = da.Field<string>("nickname"), yyzt = da.Field<string>("bk1"), yy = da.Field<string>("bk3"), state = da.Field<string>("State"), confirmdt = da.Field<DateTime?>("confirmdt") }; hashtable["rows"] = list.ToList(); var json = _jss.Serialize(hashtable); context.Response.Write(json); } catch (Exception e) { Log.Debug("方法名:QueryInfoReleaseDetails,错误原因:" + e.Message); } }
/// <summary> /// 修改信息发布详细表里状态 /// </summary> /// <param name="context"></param> public void ModifyInfoReleaseDetails(HttpContext context) { var hashtable = new Hashtable(); var infoReleaseDetailsDal = new InfoReleaseDetailsDal(); var accessToken = new AccessToken(); var sendDataToUser = new SendDataToWeChat(); var wxid = context.Request.Params["wxid"]; var id = context.Request.Params["id"]; try { //修改信息详细表内容为已确认 infoReleaseDetailsDal.ModifyStateByWxid(new InfoReleaseDetailsModel() { OpenId = wxid, InfoReleaseId = id }); hashtable["touser"] = wxid; hashtable["msgtype"] = "text"; hashtable["text"] = new { content = "尊敬的客户,请按以下标准导语进行语音确认,“某某单位某某某已签收并确认某月某日高压用户风险告知通知书”。" }; var json = _jss.Serialize(hashtable); var token = accessToken.GetExistAccessToken(); var back = sendDataToUser.GetPage("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + token, json); var backData = JsonConvert.DeserializeObject<WeChatBackData>(back); if (backData.errcode == 0 && backData.errmsg == "ok") { hashtable["isSuccess"] = true; hashtable["jsMethod"] = "ajax_ModifyInfoReleaseDetails"; } else { hashtable["isSuccess"] = false; hashtable["msg"] = "发送文本消息失败"; } json = _jss.Serialize(hashtable); context.Response.Write(json); } catch (Exception e) { Log.Debug("方法名:ModifyInfoReleaseDetails,,错误原因:" + e.Message); } }
public void GetUserRiskMessage(HttpContext context) { var hashtable = new Hashtable(); var infoReleaseDetailsDal = new InfoReleaseDetailsDal(); var state = context.Request.Params["state"]; var total = 0; var page = int.Parse(context.Request["page"] ?? "1"); var rows = int.Parse(context.Request["rows"] ?? "20"); try { var data = infoReleaseDetailsDal.QueryUserRiskMessage(state, page, rows, ref total); var list = from da in data.AsEnumerable() select new { Id = da.Field<string>("Id"), Title = da.Field<string>("Title"), MessageDescription = da.Field<string>("MessageDescription"), State = da.Field<string>("State"), Nickname = da.Field<string>("nickname"), Openid = da.Field<string>("openid"), bak1 = da.Field<string>("bak1"), bak2 = da.Field<string>("bak2"), bak3 = da.Field<string>("bak3"), bak4 = da.Field<string>("bak4"),//语音路径 bak5 = da.Field<string>("bak5"),//语音确认,1-已确认,0或null-未确认 PhoneNumber = da.Field<string>("PhoneNumber"), confirmdt = da.Field<DateTime?>("confirmdt") }; hashtable["total"] = total; hashtable["rows"] = list.ToList(); var json = _jss.Serialize(hashtable); context.Response.Write(json); } catch (Exception e) { Log.Debug("方法名:QueryInfoReleaseDetails,,错误原因:" + e.Message); context.Response.Write("{\"error\":true,\"msg\":\"" + e.Message + "\",\"rows\":[]}"); } }
/// <summary> /// 添加用户到信息发布表 /// </summary> /// <param name="context"></param> public void AddPersonToInfoRelease(HttpContext context) { var hashTable = new Hashtable(); var weChatData = new Hashtable(); var infoReleaseDal = new InfoReleaseDal(); var infoReleaseDetailsDal = new InfoReleaseDetailsDal(); var accessToken = new AccessToken(); var sendDataToUser = new SendDataToWeChat(); var id = context.Request.Params["id"]; var ppid = context.Request.Params["ppid"]; var key = context.Request.Params["key"]; var title = context.Request.Params["title"]; var ms = context.Request.Params["ms"]; try { infoReleaseDal.Modify(new InfoRelease() { Id = id, FlagRelease = "1", SendPerson = ppid }); var tmp = JsonConvert.DeserializeObject<List<Tmp>>(ppid); if (tmp.Count > 0) { infoReleaseDetailsDal.Del(new InfoReleaseDetailsModel() { InfoReleaseId = id }); foreach (var t in tmp) { var weChatDataList = new List<object>(); weChatDataList.Add(new { title, description = ms, url = "http://218.22.27.236/views/messagelist/messagedetail_fxgz.htm?id=" + id + "&wxid=" + t.wxid, picurl = "http://218.22.27.236/tl/UploadImages/" + key + ".jpg" }); weChatData["touser"] = t.wxid; weChatData["msgtype"] = "news"; weChatData["news"] = new { articles = weChatDataList }; var json = _jss.Serialize(weChatData); json = json.Replace("\\u0026", "&"); var token = accessToken.GetExistAccessToken(); var back = sendDataToUser.GetPage("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + token, json); var backData = JsonConvert.DeserializeObject<WeChatBackData>(back); var infoReleaseDetailsModel = new InfoReleaseDetailsModel(); if (backData.errcode == 0 && backData.errmsg == "ok") { infoReleaseDetailsModel.State = "2";//待确认 } else { infoReleaseDetailsModel.State = "1";//待推送 } infoReleaseDetailsModel.Id = Guid.NewGuid().ToString(); infoReleaseDetailsModel.OpenId = t.wxid; infoReleaseDetailsModel.NickName = t.nickname; infoReleaseDetailsModel.RNumber = t.ywh; infoReleaseDetailsModel.InfoReleaseId = id; infoReleaseDetailsDal.Add(infoReleaseDetailsModel); } } hashTable["isSuccess"] = true; hashTable["jsMethod"] = "ajax_AddPersonToInfoRelease"; var json2 = _jss.Serialize(hashTable); context.Response.Write(json2); } catch (Exception e) { Log.Debug("出错信息:" + e.Message); } }