示例#1
0
文件: SmsBo.cs 项目: KqSMea8/HS.Admin
        /// <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);
        }
示例#2
0
文件: SmsBo.cs 项目: KqSMea8/HS.Admin
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
文件: SmsBo.cs 项目: KqSMea8/HS.Admin
        /// <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);
        }