Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
 private void GetUserName(HttpContext context)
 {
     try
     {
         var yhid = context.Request["yhid"] ?? "";
         InfoReleaseDal dal = new InfoReleaseDal();
         var dt = dal.Query(new InfoRelease() { FlagRelease = "1", BusinessType = "011_youo_dfzd" });
         string file = "";
         if (dt != null && dt.Rows.Count > 0)
         {
             file = dt.Rows[0]["MaterialContent"].ToString();
         }
         string sheetName = GetExcelSheetNames(file)[0];
         string strSql = "select * from [" + sheetName + "$] where 用户编号 =" + yhid + "";
         DataSet ds = GetDataTable(file, strSql);
         if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
         {
             context.Response.Write("{\"error\":false,\"name\":\"" + ds.Tables[0].Rows[0]["用户名称"].ToString() +
                                    "\"}");
         }
         else
         {
             context.Response.Write("{\"error\":true,\"msg\":\"用户号输入错误。\"}");
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         context.Response.Write("{\"error\":true,\"msg\":\"" + ex.Message + "\"}");
     }
 }
Beispiel #3
0
        private void Query(HttpContext context)
        {
            try
            {
                //先查询有没有注册。对于已注册的,查询欠费列表;对于没有注册的,返回{"error":true,"msg":"Unreg"},前台判断后跳转到注册界面
                var phone = context.Request["phone"] ?? "";
                UserRegDal userRegDal = new UserRegDal();
                DataTable dtReg = userRegDal.Query(new UserReg() { PhoneNumber = phone });
                if (dtReg != null && dtReg.Rows.Count > 0)//已注册
                {
                    var yhid = "";
                    foreach (DataRow row in dtReg.Rows)
                    {
                        yhid += row["RNumber"].ToString() + ",";
                    }
                    yhid = yhid.Remove(yhid.Length - 1, 1);

                    InfoReleaseDal dal = new InfoReleaseDal();
                    var dt = dal.Query(new InfoRelease() { FlagRelease = "1", BusinessType = "011_youo_dfzd" });
                    string file = "";
                    string createDt = "";
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        file = dt.Rows[0]["MaterialContent"].ToString();
                        createDt = dt.Rows[0]["CreateDt"].ToString();
                        context.Response.Write(string.IsNullOrEmpty(yhid) ? "{\"error\":true,\"msg\":\"用户号为空。\"}" : ReadExcel(yhid, file, createDt));
                    }
                    else
                    {
                        context.Response.Write("{\"error\":true,\"msg\":\"没有数据。\"}");
                        return;
                    }
                }
                else
                {
                    context.Response.Write("{\"error\":true,\"msg\":\"unreg\"}");//未注册
                    return;
                }
            }
            catch (Exception ex)
            {
                context.Response.Write("{\"error\":true,\"msg\":\"" + ex.Message + "\"}");//未注册
                Log.Error(ex);
            }
        }
Beispiel #4
0
 /// <summary>
 /// 查询信息列表
 /// </summary>
 /// <param name="context"></param>
 public void QueryMessageList(HttpContext context)
 {
     var hashtable = new Hashtable();
     var infoReleaseDal = new InfoReleaseDal();
     var key = context.Request.Params["key"];
     var flag = context.Request.Params["flag"];
     var wxid = context.Request.Params["wxid"];
     try
     {
         var data = new DataTable();
         switch (flag)
         {
             case "0"://0表示风险告知数据
                 data = infoReleaseDal.QueryByWxid(wxid);
                 break;
             case "1"://表示停电告知等数据
                 if (key == "013_youo_jdzs")//这里用电知识只显示前20条数据
                 {
                     data = infoReleaseDal.Query2(new InfoRelease()
                     {
                         BusinessType = key,
                         FlagRelease = "'1','2'"
                     });
                     break;
                 }
                 else
                 {
                     data = infoReleaseDal.Query(new InfoRelease()
                     {
                         BusinessType = key,
                         FlagRelease = "'1','2'"
                     });
                     break;
                 }
         }
         var list = from da in data.AsEnumerable()
                    select new
                    {
                        Id = da.Field<string>("Id"),
                        Title = da.Field<string>("Title"),
                        MessageDescription = da.Field<string>("MessageDescription")
                    };
         hashtable["data"] = list.ToList();
         hashtable["isSuccess"] = true;
         hashtable["jsMethod"] = "ajax_QueryMessageList";
         var json = _jss.Serialize(hashtable);
         context.Response.Write(json);
     }
     catch (Exception e)
     {
         Log.Debug("错误原因:" + e.Message);
     }
 }