/// <summary> /// 推送消息给所有APP端 /// </summary> /// <param name="request">request.PushMsg</param> /// <returns></returns> public SnsResponse JpushSendToAll(SnsRequest request) { PushPayload pushPayload = GetPushPayload(request); //写记录 System.Threading.Tasks.Task.Run(() => { Sns _model = new Sns(); _model.CreateTime = DateTime.Now; _model.CreatePersonId = request.UserId; _model.PushMsg = request.PushMsg; _model.IsToAll = 1; if (request.PushExtras != null) { _model.ParamString = request.PushExtras.ToString(); } _core.Insert(_model); }); var result = JPushClient.SendPush(pushPayload); SnsResponse response = new SnsResponse(); response.JpushMsgId = result.msg_id; return(response); }
protected override void Given() { Sns.FindTopicAsync("TopicName") .Returns(new Topic { TopicArn = TopicArn }); }
/// <summary> /// 推送消息给别名用户 /// </summary> /// <param name="request">request.PushUsers 以,分隔的多个别名</param> /// <returns></returns> public SnsResponse JpushSendToAlias(SnsRequest request) { PushPayload pushPayload = GetPushPayload(request); var userlist = request.PushUsers.Split(','); //写记录 System.Threading.Tasks.Task.Run(() => { Sns _model = new Sns(); _model.CreateTime = DateTime.Now; _model.CreatePersonId = request.UserId; _model.IsToAll = 0; _model.PushUserId = request.PushUsers; _model.PushMsg = request.PushMsg; if (request.PushExtras != null) { _model.ParamString = request.PushExtras.ToString(); } _core.Insert(_model); }); SnsResponse response = new SnsResponse(); int splitSize = _defaultPushGroupSize; //分割的块大小 Object[] subAry = LOT.Common.StringToolsHelper.splitAry(userlist, splitSize); //分割后的子块数组 //分批次推送操作 for (int i = 0; i < subAry.Length; i++) { string[] aryItem = (string[])subAry[i]; var itemStr = string.Join(",", aryItem); try { pushPayload.audience = Audience.s_alias(aryItem); var result = JPushClient.SendPush(pushPayload); response.JpushMsgId = result.msg_id; #region 推送日志 System.Threading.Tasks.Task.Run(() => { //写日志 Logger.Error("SnsService———>JpushSendToAlias:" + string.Format("认证用户发送jpush用户ID列表:{0}", itemStr)); }); #endregion } catch (Exception e) { Logger.Error("SnsService———>JpushSendToAlias:" + string.Format("认证用户发送jpush:{0},提供的错误信息:{1},id列表:{2}", e.Message, ((cn.jpush.api.common.APIRequestException)e).ErrorMessage, itemStr)); } //休息一秒 避免:Request times of the app_key exceed the limit of current time window System.Threading.Thread.Sleep(100); } return(response); }
protected override void Given() { _serializationRegister.Serialize(Arg.Any <Message>(), Arg.Is(true)).Returns(Message); Sns.FindTopicAsync("TopicName") .Returns(new Topic { TopicArn = TopicArn }); }
protected override void Given() { Sns.FindTopicAsync("TopicName") .Returns(new Topic { TopicArn = TopicArn }); Sns.PublishAsync(Arg.Any <PublishRequest>()) .Returns(PublishResult); }
protected override void Given() { _tags = new Dictionary <string, string> { ["TagOne"] = "Tag-One", ["TagTwo"] = "Tag-Two" }; Sns.FindTopicAsync(Arg.Any <string>()) .Returns(new Topic { TopicArn = TopicArn }); Sns.When(x => x.TagResourceAsync(Arg.Any <TagResourceRequest>())) .Do(x => _actualCreateRequest = x.Arg <TagResourceRequest>()); }
protected override Task WhenAsync() { Sns.PublishAsync(Arg.Any <PublishRequest>()).Returns(ThrowsException); return(Task.CompletedTask); }
public void MessageAttributeDataTypeIsPublished() { Sns.Received().PublishAsync(Arg.Is <PublishRequest>(x => x.MessageAttributes.Single().Value.DataType == MessageAttributeDataType)); }
public void MessageAttributeKeyIsPublished() { Sns.Received().PublishAsync(Arg.Is <PublishRequest>(x => x.MessageAttributes.Single().Key == MessageAttributeKey)); }
public void MessageIsPublishedToCorrectLocation() { Sns.Received().PublishAsync(Arg.Is <PublishRequest>(x => x.TopicArn == TopicArn)); }
public void MessageSubjectIsObjectType() { Sns.Received().PublishAsync(Arg.Is <PublishRequest>(x => x.Subject == typeof(SimpleMessage).Name)); }
public void MessageIsPublishedToSnsTopic() { Sns.Received().PublishAsync(Arg.Is <PublishRequest>(x => B(x))); }
public void TagResourceRequestIsIssued() { Sns.Received(1).TagResourceAsync(Arg.Any <TagResourceRequest>()); }
public void MessageSubjectIsObjectType() { Sns.Received().PublishAsync(Arg.Is <PublishRequest>(x => x.Subject == new GenericMessageSubjectProvider().GetSubjectForType(typeof(MessageWithTypeParameters <int, string>)))); }