private void save(string sender, string text, string date) { DateTime dt = DateTime.Parse(date);//DateTime.ParseExact(date, "yyyyMMddHHmmss", null, System.Globalization.DateTimeStyles.None); byte[] b = Convert.FromBase64String(text); string content = Utility.GetHex(b); //try { TX300 x300 = new TX300(content); x300.package_to_msg(); x300.TerminalID = sender + "000"; //save(x300); if (x300.CommandID == 0xBB0F) { handleBB0F(sender, x300.TerminalType); } var SMSInstance = new SmsBLL(); var sms = SMSInstance.GetObject(); sms.SendTime = dt; sms.Sender = sender; sms.Data = text; // 这里接收到的都是终端汇报回来的信息 sms.Type = Common.SMSUtility.SMS_TERMINAL; SMSInstance.Add(sms); } }
/// <summary> /// 处理tracker汇报的数据 /// </summary> /// <param name="obj"></param> private void HandleReportData(Api obj) { var tmp = ParseJson <Account>(obj.content); if (null != tmp && !string.IsNullOrEmpty(tmp.data)) { string base64 = HttpUtility.UrlDecode(tmp.data); try { using (var bll = new SmsBLL()) { TB_SMS sms = bll.GetObject(); sms.Data = base64; sms.Sender = tmp.name; sms.Type = SMSUtility.SMS_TRACKER; bll.Add(sms); ResponseData(0, "Data saved"); } } catch (Exception e) { ResponseData(-1, string.Format("Can not handle your [report] request: {0}", e.Message)); } } else { ResponseData(-1, "Cannot handler data report request with error content."); } }
public ActionResult SendSms(string telphone) { // 短信应用SDK AppID int appid = 1400247845; // 短信应用SDK AppKey string appkey = "e4f356f4cf5927e06994b73df3fa86c5"; // 需要发送短信的手机号码 // string[] phoneNumbers = { "139094236879", "18193169220" }; // string smsPhone = "13909426879"; // 短信模板ID,需要在短信应用中申请 int templateId = 444799; // // 签名 string smsSign = "五点科技"; // NOTE: 这里的签名只是示例,请使用真实的已申请的签名, 签名参数使用的是`签名内容`,而不是`签名ID` //验证码 Random r1 = new Random(); int smsCode = r1.Next(100000, 999999); //消息 string smsMeg = "甘肃土木建筑学年会登录"; //单发短信 try { SmsSingleSender ssender = new SmsSingleSender(appid, appkey); var result = ssender.send(0, "86", "" + telphone + "", "【" + smsSign + "】验证码" + smsCode + ",用于" + smsMeg + ",5分钟内有效。验证码提供给他人可能导致帐号被盗,请勿泄露,谨防被骗。", "", ""); Console.WriteLine(result); ViewBag.code = smsCode; ViewBag.msg = "消息已发送!"; Sms obj = new Sms() { Code = smsCode, TelPhone = telphone }; var result2 = new SmsBLL().AddCoreInfo(obj); } catch (JSONException e) { Console.WriteLine(e); ViewBag.msg = e; } catch (HTTPException e) { Console.WriteLine(e); ViewBag.msg = e; } catch (Exception e) { Console.WriteLine(e); ViewBag.msg = e; } return(View("Reg")); }
public async Task <IActionResult> SendSmsCode([FromServices] SmsBLL service, string mobile = "", string sendFor = "") { try { return(Json(await service.SendVerifyCode(mobile, sendFor))); } catch (Exception exp) { return(MyJsonResultError(exp)); } }
/// <summary> /// 每5秒获取一次未处理的SMS数据 /// </summary> public void CheckSMSData() { if (_lastCheckSMSData.Subtract(DateTime.Now).Duration().TotalSeconds < 5) { return; } _lastCheckSMSData = DateTime.Now; using (var bll = new SmsBLL()) { var sms = bll.Find(f => f.Handled == false); if (null != sms) { using (var data = new AsyncUserDataBuffer()) { data.Buffer = Convert.FromBase64String(sms.Data); data.DataType = AsyncUserDataType.ReceivedData; data.IP = ""; data.PackageType = AsyncDataPackageType.SMS; data.Port = 0; data.ReceiveTime = sms.SendTime.Value; data.SocketHandle = 0; ShowUnhandledMessage(format("{0}SMS data from {1}: {2}", Now, sms.Sender, CustomConvert.GetHex(data.Buffer))); // 如果数据中的sim号码是000000000000则将sender直接放入其中 2015/09/02 15:18 if (data.Buffer[9] == 0 && data.Buffer[10] == 0) { byte[] t = SimToByte(sms.Sender); Buffer.BlockCopy(t, 0, data.Buffer, 9, 6); t = null; } HandleData(data); } bll.Update(f => f.id == sms.id, act => { act.Handled = true; }); } } }