调用外部第三方短信发送接口之阿里云短信原创
金蝶云社区-BobbyLIU
BobbyLIU
18人赞赏了该文章 49次浏览 未经作者许可,禁止转载编辑于2024年08月13日 16:45:09

最近做了一个调用阿里云短信发送功能 

/// <summary>

 /// 执行短信发送

 /// </summary>

 /// <param name="ctx"></param>

 /// <param name="datas"></param>

 private void Excute(Context ctx, DynamicObject[] datas)

 {

     List<long> executeSuccessIds = new List<long>();

     foreach (DynamicObject curDy in datas)

     {

         try

         {

             string msgContent = curDy["MsgContent"].ToString();// 消息内容

             DynamicObjectCollection phoneInofs = curDy["PhoneInfo"] as DynamicObjectCollection;

             if (phoneInofs == null || phoneInofs.Count == 0)

             {

                 executeSuccessIds.Add(ObjectUtils.Object2Int64(curDy["id"]));//没有手机号,需更新状态

                 continue;

             }

            string[] phoneLst = phoneInofs.Select(t => ObjectUtils.Object2String(t["RecptPhone"])).ToArray();//手机号,可能有多个


             #region 执行业务,调用三方短信接口

             int code = Convert.ToInt32(msgContent.Substring(msgContent.IndexOf(":") + 1, 6));

             string message = SendSms(phoneLst[0], code);

             #endregion

             JObject jmes = (JObject)JsonConvert.DeserializeObject(message);

             string resmes = Convert.ToString(jmes["Message"]);

             if (resmes.Contains("OK")) {

                 executeSuccessIds.Add(ObjectUtils.Object2Int64(curDy["id"]));

             }

             else

             {

                 throw new Exception("发送短信失败!请稍后重新验证。");

             }

         }

         catch (Exception ex)

         {

             Logger.Error("SMS", "发送短信失败:", new KDException("?", "调用阿里云短信发送异常,请检查接收人电话和短信配置信息。"+ex.Message));

         }

     }

     this.UpdateStatus(ctx, executeSuccessIds);//业务执行完成后,跟新状态为已处理

 }


赞 18