public void SendMsgToDevice(Model.MsgTextModel model, string TargetDeviceId, string SendDeviceId) { List <string> l = new List <string>(); l.Add(TargetDeviceId); SendMsgToDevice(l, model, SendDeviceId, 1999); }
public void SaveMsgText(Model.MsgTextModel model) { DAL.MsgTextDAL dal = new DAL.MsgTextDAL(); if (model.MsgTextId == 0) { dal.Add(model); } else { dal.Update(model); } }
public void SendMsgToUser(string BranchId, Model.MsgTextModel MsgTextModel) { StringBuilder s = new StringBuilder(); s.Append(" SELECT MerchantId FROM dbo.Branch WHERE BranchId='" + BranchId + "' "); s.Append(" SELECT DeviceId FROM DBMSG.dbo.DevicePush WHERE PushType='" + MsgTextModel.MsgType + "' GROUP BY DeviceId "); DataSet ds = DAL.DalComm.BackData(s.ToString()); DataTable dtMer = ds.Tables[0]; if (dtMer.Rows.Count != 1) { throw new Exception(" dtMer行数不能为" + dtMer.Rows.Count + " "); } DataRow drMer = dtMer.Rows[0]; decimal MerId = decimal.Parse(drMer["MerchantId"].ToString()); DataTable dtUser = ds.Tables[1]; if (dtUser.Rows.Count == 0) { return; } List <string> UserList = new List <string>(); foreach (DataRow drUser in dtUser.Rows) { UserList.Add(drUser["DeviceId"].ToString()); } if (MsgTextModel.MsgTitle == "") { MsgTextModel.MsgTitle = Common.StringPlus.GetLeftStr(Common.StringPlus.OutHtmlText(MsgTextModel.MsgContent), 100); } MsgTextModel.MsgClassId = 100;//100为发送给后台用户的消息提醒 SendMsgToDevice(UserList, MsgTextModel, "messager", MerId); }
public void SendMsgToDevice(int MsgClassId, string MsgContent, string MsgType, string TargetDeviceId, string SendDeviceId, string Extra) { SendDeviceId = SendDeviceId.Trim(); if (SendDeviceId == "") { SendDeviceId = "messager"; } Model.MsgTextModel model = new Model.MsgTextModel(); model.CreateTime = DateTime.Now; model.EndTime = DateTime.Now.AddDays(2); model.Extra = Extra; model.MsgContent = MsgContent; model.MsgTitle = Common.StringPlus.GetLeftStr(Common.StringPlus.OutHtmlText(MsgContent), 100); model.MsgType = MsgType; model.MsgClassId = MsgClassId; List <string> l = new List <string>(); l.Add(TargetDeviceId); SendMsgToDevice(l, model, SendDeviceId, 1999); }
public void SendMsgToDevice(List <string> DeviceList, Model.MsgTextModel MsgTextModel, string SendDeviceId, decimal MerId) { Dictionary <string, string> MerConfig = BLL.StaticBLL.MerConfigCache(MerId, 2000); DAL.MsgTextDAL dal = new DAL.MsgTextDAL(); if (MsgTextModel.MsgClassId == 0) { throw new Exception("消息类型(MsgClassId)不能为0"); } dal.Add(MsgTextModel); Model.MsgModel model = new Model.MsgModel(); model.MsgTextId = MsgTextModel.MsgTextId; model.SendDeviceId = SendDeviceId; model.ZoneId = "1"; model.MsgStatusId = 10; string reJson = ""; DAL.MsgDAL MsgDal = new DAL.MsgDAL(); foreach (string DeviceId in DeviceList) { model.TargetDeviceId = DeviceId; SaveMsg(model); StringBuilder s = new StringBuilder(); s.Append(" DECLARE @MsgNum AS INT = (SELECT COUNT(0) FROM DBMSG.dbo.Msg WHERE TargetDeviceId='" + DeviceId + "' AND MsgStatusId=10) "); s.Append(" DECLARE @MsgTypeName AS VARCHAR(50) =(SELECT MsgTypeName FROM DBMSG.dbo.MsgType WHERE MsgTypeId='" + MsgTextModel.MsgType + "') "); s.Append(" UPDATE DBMSG.dbo.Device SET MsgNum=@MsgNum where DeviceId='" + DeviceId + "' "); s.Append(" SELECT @MsgNum as MsgNum, @MsgTypeName as MsgTypeName "); JObject Extra = new JObject(); try { Extra = JObject.Parse(MsgTextModel.Extra); } catch (Exception) { } finally { DataSet ds = CountMsg(DeviceId); //统计消息数量 DataTable dt = ds.Tables[0]; DataRow dr = dt.Rows[0]; Extra["MsgTypeId"] = MsgTextModel.MsgType; Extra["MsgNum"] = int.Parse(dr["MsgNum"].ToString()); // Extra["MsgTypeName"] = dr["MsgTypeName"].ToString(); } reJson = RongCloudServer.PublishMessage(MerConfig["RongAppKey"], MerConfig["RongAppSecret"], SendDeviceId, DeviceId, "RC:TxtMsg", //消息类型 " {\"content\":\"" + MsgTextModel.MsgTitle + "\",\"extra\":" + Extra.ToString() + "}" //消息内容 , ""); } //BLL.WxBLL wxBll = new WxBLL(); //try //{ // wxBll.SendQyTextMsg(DeviceList, MsgTextModel.MsgTitle, 7); //这个地方, 以后必须改为配置,这个7是写死的数字 //} //catch (Exception) //{ // //如果微信推送不成功就算完吧.可能因为网络问题 //} }