예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        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);//计入日记
                    }
                }
            }
        }
예제 #4
0
        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);
            }
        }
예제 #5
0
 /// <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);
     }
 }
예제 #6
0
        /// <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);
            }
        }
예제 #7
0
        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\":[]}");
            }
        }
예제 #8
0
        /// <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);
            }
        }