Beispiel #1
0
        public SmsResponseModel SendOneToOneSingleSmsUsingApi(string sendTo, string smsText)
        {
            if (!IsEnabledSmsFeature)
            {
                return(null);
            }

            SmsResponseModel smsResponse = null;

            try
            {
                var sms      = new SendSms();
                var response = sms.NumberSms(_smsApiKey, smsText, sendTo, _smsTypeText, _smsMaskName, _smsCampaignName);

                smsResponse = new SmsResponseModel(response);

                SendLowBalanceAlertToManagementUsingApi(sms);
            }
            catch (Exception ex)
            {
                // ignored
            }

            return(smsResponse);
        }
Beispiel #2
0
        public SmsResponseModel GetDeliveryStatusUsingApi(string responseId)
        {
            SmsResponseModel smsResponse = null;

            try
            {
                var sms      = new SendSms();
                var response = sms.SMSDeliveryStatus(_smsApiKey, responseId);

                smsResponse = new SmsResponseModel(response);
            }
            catch (Exception ex)
            {
                // ignored
            }

            return(smsResponse);
        }
Beispiel #3
0
 public static void InsertSmsResponse(SmsResponseModel smsResponseModel)
 {
     using (var con = new SqlConnection(ConnectionString))
     {
         //Store the SMS result in the database
         con.Open();
         var cmnd2 = new SqlCommand("InsertSMSResponse", con)
         {
             CommandType = CommandType.StoredProcedure
         };
         cmnd2.Parameters.AddWithValue("@smsUrl", smsResponseModel.SmsUrl);
         cmnd2.Parameters.AddWithValue("@response", smsResponseModel.Response);
         // cmnd2.Parameters.AddWithValue("@status", smsResponseModel.Response.Substring(0, smsResponseModel.Response.IndexOf(':') - 1));
         cmnd2.Parameters.AddWithValue("@status", smsResponseModel.Status);
         cmnd2.ExecuteNonQuery();
         con.Close();
     }
 }
 public void ConfirmCompanyMobileNumber(SmsResponseModel smsResponseModel, string companyId)
 {
     try
     {
         //var deliveryResponseModel = _smsService.GetDeliveryStatusUsingApi(smsResponseModel.ResponseId);
         //if (deliveryResponseModel?.IsDeliveredSuccess != null && deliveryResponseModel.IsDeliveredSuccess.GetValueOrDefault())
         //{
         var company = _companyRepository.GetById(companyId);
         if (smsResponseModel.RecipientNumbers.Contains(company.Phone))
         {
             company.IsPhoneConfirmed = true;
             _companyRepository.EditAsHost(company);
             _companyRepository.Commit();
         }
         //}
     }
     catch (Exception e)
     {
         // ignored
     }
 }
        public async Task ConfirmAdminMobileNumberAsync(SmsResponseModel smsResponseModel, string userId)
        {
            try
            {
                //var deliveryResponseModel = _smsService.GetDeliveryStatusUsingApi(smsResponseModel.ResponseId);
                //if (deliveryResponseModel?.IsDeliveredSuccess != null && deliveryResponseModel.IsDeliveredSuccess.GetValueOrDefault())
                //{
                var user = await _userManager.FindByIdAsync(userId);

                if (smsResponseModel.RecipientNumbers.Contains(user.PhoneNumber))
                {
                    user.PhoneNumberConfirmed  = true;
                    user.PhoneConfirmationCode = null;
                    user.PasswordChangeConfirmationCodeExpireTime = null;
                    await _userManager.UpdateAsync(user);
                }
                //}
            }
            catch (Exception e)
            {
                // ignored
            }
        }
        public JsonResult SendWithdrawSms(string mobile, string verifyCode)
        {
            JsonResult json = new JsonResult();

            if (string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(verifyCode))
            {
                json.Data = new { Code = "NO", Message = "手机号和图形验证码不可为空。" };
                return(json);
            }
            string verify = SessionTool.Get <string>("verifyCode");

            log.Info("修改提现密码,Session中的图形验证码为:" + verify);
            if (verify != verifyCode)
            {
                json.Data = new { Code = "NO", Message = "图形验证码错误。" };
                return(json);
            }
            //01生成随机码
            long   tick = DateTime.Now.Ticks;
            Random ran  = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));
            int    iResult;
            int    iUp   = 99999;
            int    iDown = 10000;

            iResult = ran.Next(iDown, iUp);
            string code = "8" + iResult.ToString();

            log.Info("修改提现密码,手机验证码为:" + code);
            SessionTool.Set("SmsCode", code);
            //02 调用阿里云短信接口
            IClientProfile   profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAI4Fe7cxYGwM7MfJ2WHBuM", "EcwdmQTE3SlTgnRPU8EiCDv9LC5Rku");
            DefaultAcsClient client  = new DefaultAcsClient(profile);
            CommonRequest    request = new CommonRequest();

            request.Method  = MethodType.POST;
            request.Domain  = "dysmsapi.aliyuncs.com";
            request.Version = "2017-05-25";
            request.Action  = "SendSms";
            request.AddQueryParameters("PhoneNumbers", mobile);
            request.AddQueryParameters("SignName", "鑫汇");
            request.AddQueryParameters("TemplateCode", "SMS_174651230");
            request.AddQueryParameters("TemplateParam", "{\"code\":\"" + code + "\"}");
            try
            {
                log.Info("修改提现密码,发送短信,请求报文:" + JsonConvert.SerializeObject(request));
                CommonResponse response = client.GetCommonResponse(request);
                log.Info("修改提现密码,发送短信,response:" + JsonConvert.SerializeObject(response.Data));
                SmsResponseModel model = JsonConvert.DeserializeObject <SmsResponseModel>(response.Data);
                if (model.Code == "OK")
                {
                    json.Data = new { Code = "OK", Message = "验证码发送成功。" };
                }
                else
                {
                    json.Data = new { Code = "NO", Message = "验证码发送失败。" };
                }
            }
            catch (Aliyun.Acs.Core.Exceptions.ServerException e)
            {
                log.Info("修改提现密码,发送短信报异常,ServerException:" + JsonConvert.SerializeObject(e));
                json.Data = new { Code = "NO", Message = "验证码发送失败,ServerException异常。" };
            }
            catch (ClientException e)
            {
                log.Info("修改提现密码,发送短信报异常,ClientException:" + JsonConvert.SerializeObject(e));
                json.Data = new { Code = "NO", Message = "验证码发送失败,ClientException异常。" };
            }
            return(json);
        }