public ActionResult TestMsg(string phoneNumber)
        {
            var ajaxResponse = new AjaxResponse();

            try
            {
                var aliMsg =
                    db.Settings_AliMsgs.FirstOrDefault(p => p.TenantId == WeiChatApplicationContext.Current.TenantId);
                if (aliMsg == null)
                {
                    throw new Exception("未对短信接口进行配置!");
                }
                log.Log(Magicodes.Logger.LoggerLevels.Debug, "开始调用测试短信服务");
                ShopSmsService smsServer = new ShopSmsService();
                smsServer.SendTestMsg(phoneNumber);

                log.Log(Magicodes.Logger.LoggerLevels.Debug, "调用测试短信服务完毕");
                ajaxResponse.Success = true;
                ajaxResponse.Message = "测试完毕";
            }
            catch (Exception ea)
            {
                ajaxResponse.Success = false;
                ajaxResponse.Message = "测试失败!原因:" + ea.Message;
            }
            return(Json(ajaxResponse));
        }
Beispiel #2
0
        public IHttpActionResult SendBindPhoneMsg([FromBody] string phoneNumber)
        {
            log.Log(LoggerLevels.Debug, "进入SendBindPhoneMsg方法");
            var res = new AjaxResponse
            {
                Message = "发送成功!",
                Success = true
            };

            try
            {
                var openid = WeiChatApplicationContext.Current.WeiChatUser.OpenId;
                var user   = db.User_Infos.Find(openid);
                if (!string.IsNullOrWhiteSpace(user.Mobile))
                {
                    return(BadRequest("用户已完成了手机验证不需要反复验证!"));
                }
                //TODO:手机短信绑定
                string         errMsg      = "";
                var            checknumber = RandomHelper.CreateNumRandomCode(6);
                ShopSmsService smsServer   = new ShopSmsService();
                if (!smsServer.SendBoundPhoneMsg(phoneNumber, checknumber, out errMsg))
                {
                    throw new Exception(errMsg);
                }
                //var inparamter = new Inparameter_SendMsg();
                //inparamter.ChekOutNumber = checknumber;
                //inparamter.PhoneNumber = phoneNumber;
                //log.Log(LoggerLevels.Debug,
                //    "开始调用SendBindPhoneAsync,inparamter.ChekOutNumber:" + inparamter.ChekOutNumber +
                //    "inparamter.PhoneNumber:" + inparamter.PhoneNumber + "");
                ////ContainerManager.Current.Resolve<IShopSmsService>().SendBindPhoneAsync(inparamter);
                //var server = new AlidayuMsmService();
                //server.SendBindPhoneAsync(inparamter);
                //log.Log(LoggerLevels.Debug, "调用SendBindPhoneAsync完毕");

                //发送成功后需要将验证码保存到数据库用于确定时候的验证
                var model = new User_BindPhone
                {
                    CheckNumber = checknumber,
                    OpenId      = openid,
                    PhoneNumber = phoneNumber,
                    TenantId    = WeiChatApplicationContext.Current.WeiChatUser.TenantId,
                    CreateTime  = DateTime.Now
                };
                log.Log(LoggerLevels.Debug, "User_BindPhone值:" + JsonConvert.SerializeObject(model));
                db.User_BindPhones.Add(model);
                db.SaveChanges();
                log.Log(LoggerLevels.Debug, "保存User_BindPhone成功");
            }
            catch (Exception ea)
            {
                res.Message = "发送失败!";
                res.Success = false;
                log.Log(LoggerLevels.Error, "发送用户手机[" + phoneNumber + "]绑定验证码失败!原因:" + ea.Message);
            }
            return(Json(res));
        }