/// <summary> /// 群发送短信 /// </summary> /// <param name="mobile"></param> /// <param name="msg"></param> /// <param name="sendTime"></param> /// <remarks>2015-09-12 王耀发 创建</remarks> public SmsResult SendMsg(string mobile, string msg, DateTime?sendTime) { var result = new SmsResult { Status = SmsResultStatus.Success }; result = SmsProviderFactory.CreateProvider().Send(mobile, msg, sendTime); SaveToDb(mobile, msg, result); return(result); }
public SimCorpMobile(IOutput output) { Screen = new OledScreen(); SimCard = new SimCard(SimCard.FormFactor.Nano, "+380000000000"); Battery = new LithiumIonBattery(3.75F, 3600); Microphone = new CarbonMicroPhone(); Speaker = new RegularSpeaker(output); Keyboard = new GboardKeyboard(); SmsStorage = new SmsStorage(output); SmsProvider = SmsProviderFactory.GetProvider(SmsStorage, SmsProviderFactory.Providers.Task); }
/// <summary> /// 各分销商发送短信 /// </summary> /// <param name="mobile">手机号(13811290000;15210950000)</param> /// <param name="dealername">分销商</param> /// <param name="msg">消息</param> /// <param name="sendTime">定时</param> /// 王耀发 2016-1-18 创建 /// <returns>执行结果</returns> public SmsResult DealerSendMsg(string mobile, string dealername, string msg, DateTime?sendTime) { var result = new SmsResult { Status = SmsResultStatus.Success }; try { result = SmsProviderFactory.CreateProvider().DealerSend(mobile, dealername, msg, sendTime); SaveToDb(mobile, msg, result); } catch (Exception ex) { result.Status = SmsResultStatus.Failue; } return(result); }
/// <summary> /// 发送一条短信 /// 调用网关发送短信(不保存到数据库) /// </summary> /// <param name="sysNo">后台管理员编号</param> /// <param name="msg">70字(包含签名)一条短信,超出则按此规则分割成多条短信</param> /// <param name="sendTime">定时发送(精确到秒),为空不需要定时</param> /// <returns>返回受影响行数</returns> /// <remarks> /// 2014-10-03 余勇 创建 /// </remarks> public SmsResult Send(int sysNo, string msg, DateTime?sendTime) { var user = Hyt.BLL.Sys.SyUserBo.Instance.GetSyUser(sysNo); var result = new SmsResult { Status = SmsResultStatus.Success }; if (user != null && !string.IsNullOrEmpty(user.MobilePhoneNumber) && !string.IsNullOrEmpty(msg) && VHelper.ValidatorRule(new Rule_Mobile(user.MobilePhoneNumber)).IsPass && user.MobilePhoneNumber.Length >= 11) { System.Threading.Tasks.Task.Factory.StartNew(() => { try { result = SmsProviderFactory.CreateProvider().Send(user.MobilePhoneNumber, msg + "【】", sendTime); SysLog.Instance.Info(LogStatus.系统日志来源.后台, msg + "(" + user.MobilePhoneNumber + ")", LogStatus.系统日志目标类型.短信咨询, 0, null, "", 0); } catch (Exception ex) { Hyt.BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.外部应用, "短信发送异常", ex); } }); } else { return(new SmsResult { RowCount = 0, Status = SmsResultStatus.Failue }); } return(result); }
/// <summary> /// 发送一条短信 /// 先调用网关发送短信,然后将短信记录到数据库,如果发送失败,则由后台进程重发。 /// </summary> /// <param name="mobile">号码</param> /// <param name="msg">70字(包含签名)一条短信,超出则按此规则分割成多条短信</param> /// <param name="sendTime">定时发送(精确到秒),为空不需要定时</param> /// <returns>返回受影响行数</returns> /// <remarks> /// 2013-02-26 罗雄伟 创建 /// 2014-07-30 黄波 修改 将短信发送放在TASK中执行 /// </remarks> private SmsResult Send(string mobile, string msg, DateTime?sendTime) { var user = Hyt.BLL.CRM.CrCustomerBo.Instance.GetCrCustomer(mobile); if (user != null && user.IsReceiveShortMessage == (int)Hyt.Model.WorkflowStatus.CustomerStatus.是否接收短信.否) { return new SmsResult { RowCount = 0, Status = SmsResultStatus.Failue } } ; var result = new SmsResult { Status = SmsResultStatus.Success }; //添加判断是否为手机号 余勇 2014-06-18 if (!string.IsNullOrEmpty(mobile) && !string.IsNullOrEmpty(msg) && VHelper.ValidatorRule(new Rule_Mobile(mobile)).IsPass&& mobile.Length >= 11) { System.Threading.Tasks.Task.Factory.StartNew(() => { try { result = SmsProviderFactory.CreateProvider().Send(mobile, msg, sendTime); SaveToDb(mobile, msg, result); } catch (Exception ex) { Hyt.BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.外部应用, "短信发送异常", ex); } }); } return(result); }
/// <summary> /// Asynchronously sends an SMS message to a user. /// </summary> /// <param name="message">The message to send.</param> /// <returns>The task representing the asynchronous operation.</returns> public Task SendAsync(IdentityMessage message) { var smsProvider = SmsProviderFactory.GetProvider(); return(smsProvider.SendAsync(message.Destination, message.Body)); }