public ActionResult Add(Msg_MessageStrategy model) { Result <int> result = new Result <int>(); ResultView <int> view = new ResultView <int>(); if (Request.Form["IsEnable"] == EnumState.Enable.ToString()) { model.IsEnable = true; } else { model.IsEnable = false; } if (Request.Form["IsConfirm"] == EnumState.Confirmed.ToString()) { model.IsConfirm = true; } else { model.IsConfirm = false; } using (MessageClientProxy proxy = new MessageClientProxy(ProxyEx(Request))) { result = proxy.AddStrategy(model); view = result.ToResultView(); } return(Json(view)); }
/// <summary> /// 发送短信 /// </summary> /// <param name="model"></param> /// <param name="setting"></param> /// <param name="strategy"></param> public static async void SendSMSAsync(Msg_SMS model, Msg_SMSSetting setting, Msg_MessageStrategy strategy) { await Task.Run(() => { Result <int> result = null; //阿里大鱼 result = UtilitySendMessage.SendMessageByAlidayuSms(setting.URL, setting.AppKey, setting.AppSecret, ConstString.SMSFORMAT, ConstString.SMSTYPE, model.SignName, model.Params, model.ReceivePhone, model.ServerNo); //以下为回调 //更新状态 model.SendCount += 1; model.State = result.Data == 1; //超出重发次数 if (model.SendCount > strategy.ResendStra) { model.State = true; } model.SenderTime = DateTime.Now; //执行更新 MsgDataContext db = new MsgDataContext(); var entry = db.Entry(model); db.Entry <Msg_SMS>(model).State = EntityState.Modified; db.SaveChanges(); }); }
/// <summary> /// 获取消息发送策略 /// </summary> /// <param name="type"></param> /// <returns></returns> public Msg_MessageStrategy GetStrategy(MessageType type) { MsgDataContext db = new MsgDataContext(); Msg_MessageStrategy model = null; var list = db.Msg_MessageStrategy.ToList(); model = list.FirstOrDefault(i => i.IsConfirm && i.IsEnable && i.Type == type.ToString()); return(model); }
/// <summary> /// 修改消息发送策略 /// </summary> /// <param name="model"></param> /// <returns></returns> public Result <int> UpdateStrategy(Msg_MessageStrategy model) { Result <int> result = new Result <int>(); try { var rows = DataOperateMsg <Msg_MessageStrategy> .Get().Update(model); result.Data = rows; result.Flag = EResultFlag.Success; WriteLog(AdminModule.MessageStrategy.GetText(), SystemRight.Add.GetText(), "修改消息发送策略:" + model.Id); } catch (Exception ex) { result.Data = -1; result.Flag = EResultFlag.Failure; result.Exception = new ExceptionEx(ex, "UpdateStrategy"); } return(result); }
/// <summary> /// 添加消息发送策略 /// </summary> /// <param name="model"></param> /// <returns></returns> public Result <int> AddStrategy(Msg_MessageStrategy model) { return(base.Channel.AddStrategy(model)); }
/// <summary> /// 发送邮件 /// </summary> /// <param name="model"></param> /// <param name="setting"></param> /// <param name="strategy"></param> /// <param name="displayName"></param> public static async void SendEmailAsync(Msg_Email model, Msg_EmailSetting setting, Msg_MessageStrategy strategy, string displayName = "") { await Task.Run(() => { Result <bool> result = null; result = EmailHelper.SendEmail(model.Title, model.EmailCon, model.ReceiveEmaile, setting.MailProtocol, setting.UserName, setting.PassWord, displayName); //以下为回调 //更新状态 model.SendCount += 1; model.State = result.Data; //超出重发次数 if (model.SendCount > strategy.ResendStra) { model.State = true; } model.SenderTime = DateTime.Now; //执行更新 MsgDataContext db = new MsgDataContext(); var entry = db.Entry(model); db.Entry <Msg_Email>(model).State = EntityState.Modified; db.SaveChanges(); }); }