예제 #1
0
        /// <summary>
        /// 添加组到信息发布表
        /// </summary>
        /// <param name="context"></param>
        public void AddGroupToInfoRelease(HttpContext context)
        {
            var hashTable = new Hashtable();
            var infoReleaseDal = new InfoReleaseDal();

            var id = context.Request.Params["id"];
            var groupsId = context.Request.Params["groupsId"];
            try
            {
                infoReleaseDal.Modify(new InfoRelease()
                    {
                        Id = id,
                        FlagRelease = "1",
                        SendGroup = groupsId
                    });
                hashTable["isSuccess"] = true;
                hashTable["jsMethod"] = "ajax_AddGroupToInfoRelease";
                var json = _jss.Serialize(hashTable);
                context.Response.Write(json);
            }
            catch (Exception e)
            {
                Log.Debug("出错信息:" + e.Message);
            }
        }
예제 #2
0
파일: Form1.cs 프로젝트: mildrock/wechat
        public void Send()
        {
            while (true)
            {
                try
                {
                    Log.Debug("主网、配网、监控 推送。");
                    InfoReleaseDal dal = new InfoReleaseDal();
                    DataTable dt = dal.QueryByTypes(new string[] { "3080_youo_zwtz", "3081_youo_pwtz", "3082_youo_jkxx" });

                    UserGroupDal userGroupDal = new UserGroupDal();
                    DataTable dtUser = userGroupDal.QueryInternalUser();
                    //发送:主网、配网、监控
                    foreach (DataRow row in dt.Rows)
                    {
                        Success = false;
                        var title = row["Title"].ToString();
                        var MessageDescription = row["MaterialContent"].ToString();
                        //var content = "标题:" + title + "\n内容:" + MessageDescription + "\n发布人:" + row["CreatePerson"].ToString();
                        var content = "标题:" + title + "\n内容:" + MessageDescription + "\n\r       国网铜陵供电公司";

                        foreach (DataRow row1 in dtUser.Rows)
                        {
                            var openId = row1["openid"].ToString();
                            SendMsg(openId, content);
                        }
                        if (Success)
                        {
                            dal.Modify(new InfoRelease()
                                {
                                    Id = row["id"].ToString(),
                                    FlagRelease = "2",
                                });
                        }
                    }

                    PowerCutDal powerCutDal = new PowerCutDal();
                    DataTable dtPowerCut = powerCutDal.Query(new PowerCut()
                        {
                            State = "1", //未送电
                            FlagRelease = "'2'", //已发布
                            DateBegin = DateTime.Now.Date,
                            DateEnd = DateTime.MaxValue.AddDays(-2),
                            BusinessType = "011_youo_tdtz2",
                        });
                    //发送:故障停电
                    Log.Debug("故障停电");
                    foreach (DataRow row in dtPowerCut.Rows)
                    {
                        Success = false;
                        var content = "尊敬的电力客户:\n\r       因突发电力故障,安排以下故障抢修工作安排。未经铜陵供电公司有关部门许可,严禁任何单位和个人在停电线路及设备上工作。为此造成的不便,敬请各客户给予谅解和支持。如有任何疑问,请致电供电公司24小时服务热线95598。\n\r       停电时间:" + row["PowerCutTime"].ToString().Split(' ')[0] + " " + row["TimeArea"].ToString() +
                          "\n\r       停电设备:" + row["Device"].ToString() + "\n\r       停电区域:" + row["Area"].ToString() + "\n\r       国网铜陵供电公司";

                        foreach (DataRow row1 in dtUser.Rows)
                        {
                            var openId = row1["openid"].ToString();
                            SendMsg(openId, content);
                        }
                        if (Success)
                        {
                            powerCutDal.Modify(new PowerCut()
                            {
                                Id = row["id"].ToString(),
                                FlagRelease = "3",
                            });
                            Log.Debug("修改状态为已推送--" + row["id"].ToString());
                        }
                    }

                    #region  发送最新资讯091_youo_zxzx

                    var sendMessage = new SendMessage();
                    var listnews = new List<Articles>();
                    var articles = new Articles();
                    InfoReleaseDal infoReleaseDal = new InfoReleaseDal();
                    DataTable yhcsDt = infoReleaseDal.Query(new InfoRelease()
                        {
                            FlagRelease = "1",
                            BusinessType = "091_youo_zxzx",
                        });

                    DataTable userDt = new UserInfoDal().Query(new UserInfo());//获取所有关注的微信用户
                    WebServ.WebService1 service1 = new WebService1();
                    var token = service1.GetToken();
                    foreach (DataRow row in yhcsDt.Rows)
                    {
                        var id = row["id"].ToString();
                        var discrip = row["MessageDescription"].ToString();
                        if (discrip.Length > 200)
                        {
                            discrip = discrip.Substring(0, 190) + "...";
                        }
                        articles = new Articles()
                        {
                            title = row["title"].ToString(),
                            description = discrip,
                            picurl = "http://60.173.29.191/UploadImages/091_youo_zxzx.jpg",
                            url = "http://60.173.29.191/views/messagelist/messagedetail.htm?id=" + id,
                        };
                        listnews.Add(articles);
                        foreach (DataRow uRow in userDt.Rows)
                        {
                            var openid = uRow["openid"].ToString();
                            sendMessage.SendNewsMessage(token, openid, listnews);
                        }
                        infoReleaseDal.Modify(new InfoRelease()
                            {
                                Id = id,
                                FlagRelease = "2",
                            });
                        Log.Debug("最新资讯-修改状态为已推送--" + row["id"].ToString());
                    }
                    #endregion

                    Thread.Sleep(10000);
                }
                catch (Exception ex)
                {
                    Log.Debug("发送故障" + ex);
                    Thread.Sleep(100000);
                }
            }
        }
예제 #3
0
 private void Release(HttpContext context)
 {
     var hash = new Hashtable();
     try
     {
         var id = HttpContext.Current.Request["id"] ?? "";
         InfoReleaseDal infoReleaseDal = new InfoReleaseDal();
         infoReleaseDal.Modify(new InfoRelease()
         {
             Id = id,
             FlagRelease = "1",
         });
         hash["error"] = false;
         hash["msg"] = "";
         var json = _jss.Serialize(hash);
         context.Response.Write(json);
     }
     catch (Exception ex)
     {
         hash["error"] = true;
         hash["msg"] = ex.Message;
         var json = _jss.Serialize(hash);
         context.Response.Write(json);
         Log.Debug(ex);
     }
 }
예제 #4
0
        private void Edit(HttpContext context)
        {
            Hashtable hash;
            try
            {
                string fileUrl = "";
                HttpPostedFile file = HttpContext.Current.Request.Files["Exclefile"];
                if (file != null && file.ContentLength != 0)
                {
                    string dirPath = HttpContext.Current.Server.MapPath(savePath);
                    if (!Directory.Exists(dirPath))
                    {
                        hash = new Hashtable();
                        hash["error"] = true;
                        hash["msg"] = "上传目录不存在";
                        var data = _jss.Serialize(hash);
                        context.Response.Write(data);
                        return;
                    }

                    string fileName = file.FileName;
                    string fileExt = Path.GetExtension(fileName).ToLower();

                    ArrayList fileTypeList = ArrayList.Adapter(fileTypes.Split(','));

                    if (file.InputStream == null || file.InputStream.Length > maxSize)
                    {
                        hash = new Hashtable();
                        hash["error"] = 1;
                        hash["msg"] = "上传文件大小超过限制";
                        var data = _jss.Serialize(hash);
                        context.Response.Write(data);
                        return;
                    }

                    if (string.IsNullOrEmpty(fileExt) || Array.IndexOf(fileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1)
                    {
                        hash = new Hashtable();
                        hash["error"] = 1;
                        hash["msg"] = "上传文件扩展名是不允许的扩展名";
                        var data = _jss.Serialize(hash);
                        context.Response.Write(data);
                        return;
                    }

                    string newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff") + fileExt;
                    string filePath = dirPath + newFileName;
                    file.SaveAs(filePath);
                    fileUrl = saveUrl + newFileName;
                }

                hash = new Hashtable();
                hash["error"] = false;
                hash["url"] = fileUrl;

                var title = HttpContext.Current.Request["title"] ?? "";
                var id = HttpContext.Current.Request["id"] ?? "";
                var month = context.Request["month"] ?? DateTime.Now.ToString("yyyy-MM");
                InfoReleaseDal infoReleaseDal = new InfoReleaseDal();

                infoReleaseDal.Modify(new InfoRelease()
                {
                    Id = id,
                    Title = title,
                    MaterialContent = fileUrl,
                    Bak1 = month,
                });

                var json = _jss.Serialize(hash);
                context.Response.Write(json);
            }
            catch (Exception ex)
            {
                context.Response.Write("{\"error\":true,\"msg\":\"" + ex.Message + "\"}");
                Log.Error(ex);
            }
        }
예제 #5
0
        /// <summary>
        /// 保存信息
        /// </summary>
        /// <param name="context"></param>
        public void EditPublishInfo(HttpContext context)
        {
            var hashtable = new Hashtable();
            var infoReleaseDal = new InfoReleaseDal();
            var id = context.Request.Params["id"];
            var key = context.Request.Params["key"];
            var type = context.Request.Params["type"];
            var messageDescription = context.Request.Params["messageDescription"];
            var title = context.Request.Params["title"];
            var content = context.Request.Params["contents"];

            var infoRelease = new InfoRelease();
            infoRelease.Id = id;
            infoRelease.BusinessType = key;
            infoRelease.CreateDt = DateTime.Now;
            infoRelease.CreatePerson = "";
            //infoRelease.FlagRelease = "0";
            infoRelease.MaterialContent = content;
            infoRelease.MaterialType = type;
            infoRelease.MessageDescription = messageDescription;
            infoRelease.SendGroup = "";
            infoRelease.SendPerson = "";
            infoRelease.Title = title;

            try
            {
                infoReleaseDal.Modify(infoRelease);
                hashtable["isSuccess"] = true;
                var json = _jss.Serialize(hashtable);
                context.Response.Write(json);
            }
            catch (Exception e)
            {
                Log.Debug("方法名:SavePowerInfo,描述:保存停电信息方法出错,错误原因:" + e.Message);
            }
        }
예제 #6
0
        /// <summary>
        /// 发布信息到人(实际上只是修改了下发布状态,仅此而已)
        /// </summary>
        /// <param name="context"></param>
        public void PublishInfoToPerson(HttpContext context)
        {
            var hashtable = new Hashtable();
            var infoReleaseDal = new InfoReleaseDal();
            var userInfoDal = new UserInfoDal();
            var id = context.Request.Params["id"];
            try
            {
                //var data = userInfoDal.QueryAll();
                //var tmp = string.Join(",",
                //    (
                //        from DataRow da in data.Rows
                //        select da["openid"].ToString()
                //    ).ToArray());

                infoReleaseDal.Modify(new InfoRelease()
                    {
                        Id = id,
                        FlagRelease = "1"
                    });
                hashtable["isSuccess"] = true;
                hashtable["jsMethod"] = "ajax_PublishInfoToPerson";
                var json = _jss.Serialize(hashtable);
                context.Response.Write(json);
            }
            catch (Exception e)
            {
                Log.Debug("方法名:PublishInfoToPerson,,错误原因:" + e.Message);
            }
        }
예제 #7
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);
            }
        }