private void AddOrderTimeoutdalRun(object o)
 {
     if (_glb == null)
     {
         _glb = new JushGoldBookRemind_DAL();
     }
     if (payload == null)
     {
         payload = new PushPayload();
     }
     list = _glb.GoldAddList();
     if (list.Count > 0)
     {
         List<string> list_users = new List<string>();
         list.ForEach(z => list_users.Add(z.UsedId.ToString().DESEncrypt().StringToMd5().Md532SubString()));
         //PushPayload payload = new PushPayload();
         payload.platform = Platform.all();
         payload.audience = Audience.s_alias(list_users.ToArray());
         payload.notification = new Notification().setAlert(Config.JushAddGoldBookRemindRemingMsg).setAndroid(new AndroidNotification().AddExtra("key", Config.JushGoPageGoldBook)).setIos(new IosNotification().AddExtra("key", Config.JushGoPageGoldBook));
         try
         {
             client.SendPush(payload);
             //记录日志
             Config.PushLogAPP("APP获取到优惠卷提醒", list_users.ListToStrings(), Config.JushAddGoldBookRemindRemingMsg);
         }
         catch (Jpush.api.common.APIRequestException ee)
         {
             string.Format("\r\n>>>APP获取到优惠卷提醒 推送异常:{0},time:{1}",
             ee.Message,
             DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
             ).WriteLog("ERROR");
         }
     }
 }
        private void OrderTimeoutdalRun(object o)
        {
            if (_ordertimeoutdal == null)
            {
                _ordertimeoutdal = new JushOrderTimeOutRemind_DAL();
            }
            list = _ordertimeoutdal.OrderOutList();
            if (list.Count > 0)
            {
                List<string> list_users = new List<string>();
                list.ForEach(z => list_users.Add(z.UserId.ToString().DESEncrypt().StringToMd5().Md532SubString()));
                //JPushClient client = new JPushClient(Config.PushApp_key, Config.PushMaster_secret);
                PushPayload payload = new PushPayload();

                payload.platform = Platform.all();
                payload.audience = Audience.s_alias(list_users.ToArray());

                payload.notification = new Notification().setAlert(Config.JushOrderTimeOutRemindMsg).setAndroid(new AndroidNotification().AddExtra("key", Config.JushGoPageOrder)).setIos(new IosNotification().AddExtra("key", Config.JushGoPageOrder));
                try
                {
                    client.SendPush(payload);
                    //记录日志
                    Config.PushLogAPP("APP订单超时推送提醒", list_users.ListToStrings(), Config.JushOrderTimeOutRemindMsg);
                }
                catch (Jpush.api.common.APIRequestException ee)
                {
                    string.Format("\r\n>>>APP订单超时推送提醒 推送异常:{0},time:{1}",
                    ee.Message,
                    DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                    ).WriteLog("ERROR");
                }
            }
        }
Beispiel #3
0
 public MessageResult sendPush(PushPayload payload)
 {
     Preconditions.checkArgument(payload != null, "pushPayload should not be empty");
     payload.Check();
     String payloadJson = payload.ToJson();
     return sendPush(payloadJson);
 }
Beispiel #4
0
 // ----------------------------- Push API
 /// <summary>
 /// 想某个设备或者某设别列表推送一条通知,或者消息
 /// </summary>
 /// <param name="PushPayload">推送的数据结构,包含平台信息推送目标,通知内容,消息内容与可选参数</param>
 /// <returns>成功时返回sendno和messageid,失败时有异常抛出</returns>
 /// <exception cref="APIRequestException">包含http错误码:如401,404等,错误信息,JPush returen code和JPush returen mssage</exception>
 /// <exception cref="APIConnectionException">包含错误的信息</exception>
 /// <see cref="http://docs.jpush.cn/display/dev/Push-API-v3"/>
 public MessageResult SendPush(PushPayload payload)
 {
     Preconditions.checkArgument(payload!=null, "pushPayload should not be empty");
     return _pushClient.sendPush(payload);
 }
        private void TimingJush(object o)
        {
            if (_j_time == null)
            {
                _j_time = new JushTiming_DAL();
            }
            if (payload == null)
            {
                payload = new PushPayload();
            }

            list = _j_time.PushTiming();
            if (list.Count > 0)
            {
                foreach (var item in list)
                {

                    long MessageID = 0;
                    int ErrorCode = 0;
                    switch (item.SendPlatform)
                    {
                        case 1: payload.platform = Platform.android();
                            break;
                        case 2: payload.platform = Platform.ios();
                            break;
                        case 3: payload.platform = Platform.android_ios();
                            break;
                        default:
                            break;
                    }
                    switch (item.SendAudience)
                    {
                        case 0: payload.audience = Audience.all();
                            break;
                        case 1:
                            string[] tagArray = item.AudienceName.Split(',');
                            payload.audience = Audience.s_tag(tagArray);
                            break;
                        case 2: payload.audience = Audience.s_alias(item.AudienceName);
                            break;
                        case 3: payload.audience = Audience.s_registrationId(item.AudienceName);
                            break;
                        default:
                            break;
                    }
                    string strJosn = item.Extras == null ? "" : item.Extras;
                    if (strJosn.Length > 0)
                    {
                        data = strJosn.JsonToDocuments();
                        if (data.Count > 0)
                        {
                            android = new AndroidNotification();
                            ios = new IosNotification();
                            foreach (var tt in data)
                            {
                                android.AddExtra(tt.Key, tt.Value.ToString());
                                ios.AddExtra(tt.Key, tt.Value.ToString());
                            }
                        }
                        payload.notification = new Notification().setAlert(item.Content).setAndroid(android).setIos(ios);
                    }
                    else
                    {
                        payload.notification = new Notification().setAlert(item.Content);
                    }

                    try
                    {
                        var result = client.SendPush(payload);
                        //由于统计数据并非非是即时的,所以等待一小段时间再执行下面的获取结果方法
                        System.Threading.Thread.Sleep(5000);
                        MessageID = Convert.ToInt64(result.msg_id);
                        //记录日志
                        Config.PushLogAPP("APP定时发送", "所有", item.Content);
                    }
                    catch (Jpush.api.common.APIRequestException ee)
                    {
                        MessageID = ee.MsgId;
                        ErrorCode = ee.ErrorCode;

                        string.Format("\r\n>>>APP定时发送 推送异常:{0},time:{1}",
                        ee.Message,
                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                        ).WriteLog("ERROR");
                    }

                    _j_time.PushTimingUpdateStatu(MessageID, ErrorCode, item.Id);
                    android = null;
                    ios = null;
                }
            }
        }