/// <summary> /// 推送消息给特定标签用户 /// </summary> /// <param name="request">request.PushUsers 以,分隔的多个标签</param> /// <returns></returns> public SnsResponse JpushSendToTag(SnsRequest request) { JpushLog _model = new JpushLog(); _model.CreateTime = DateTime.Now; _model.PushId = request.UserId; _model.IsToAll = 0; _model.BePushId = request.PushUsers; _model.PushMsg = request.PushMsg; if (request.PushExtras != null) { _model.ParamString = request.PushExtras.ToString(); } _jpushLog.Insert(_model); PushPayload pushPayload = GetPushPayload(request); var userlist = request.PushUsers.Split(','); pushPayload.audience = Audience.s_tag(userlist); var result = JPushClient.SendPush(pushPayload); SnsResponse response = new SnsResponse(); response.JpushMsgId = result.msg_id; return(response); }
/// <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(() => { JpushLog _model = new JpushLog(); _model.CreateTime = DateTime.Now; _model.PushId = request.UserId; _model.IsToAll = 1; _model.BePushId = request.PushUsers; _model.PushMsg = request.PushMsg; if (request.PushExtras != null) { _model.ParamString = request.PushExtras.ToString(); } _jpushLog.Insert(_model); }); var result = JPushClient.SendPush(pushPayload); SnsResponse response = new SnsResponse(); response.JpushMsgId = result.msg_id; return(response); }
/// <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(() => { JpushLog _model = new JpushLog(); _model.CreateTime = DateTime.Now; _model.PushId = request.UserId; _model.IsToAll = 0; _model.BePushId = request.PushUsers; _model.PushMsg = request.PushMsg; if (request.PushExtras != null) { _model.ParamString = request.PushExtras.ToString(); } _jpushLog.Insert(_model); }); SnsResponse response = new SnsResponse(); int splitSize = _defaultPushGroupSize; //分割的块大小 Object[] subAry = 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); }
public JpushLog Insert(JpushLog model) { return(this._JpushLogBiz.Insert(model)); }
public JpushLog Insert(JpushLog model) { throw new NotImplementedException(); }