Пример #1
0
        /// <summary>
        /// 从 IDataReader 中恢复CouponMySqlInfo对象
        /// </summary>
        /// <param name="IDataReader"></param>
        /// <returns></returns>
        public CouponMySqlInfo RecoverModel(IDataReader dataReader)
        {
            CouponMySqlInfo couponInfo = new CouponMySqlInfo();

            couponInfo.ID         = dataReader["ID"].ToInt();
            couponInfo.UID        = dataReader["UID"].ToInt();
            couponInfo.UserName   = dataReader["UserName"].ToString();
            couponInfo.CouponCode = dataReader["CouponCode"].ToString();
            couponInfo.EndTime    = dataReader["EndTime"].ToDateTime();
            return(couponInfo);
        }
Пример #2
0
        /// <summary>
        ///  优惠券快过期推送数据聚合
        /// </summary>
        public void CouponExpired()
        {
            //优惠券到期时间和收到优惠券通知 属于早8点以后才能发送
            int level1 = 0;
            int level2 = 0;

            GetLevel(SectionSecondType.优惠券将要到期通知, ref level1, ref level2);
            bool isUse = IsUseToTime(level2);

            if (isUse)//是否允许发送
            {
                TimesConfigInfo         timeConfig     = GetImageConfigInfo("coupon");
                IList <CouponMySqlInfo> couponInfoList = null;
                for (int i = 0; i < timeConfig.ChildConfigInfoList.Count; i++)
                {
                    //优惠券过期配置文件
                    if (timeConfig.ChildConfigInfoList[i].Key.Contains("expired"))
                    {
                        int hour = timeConfig.ChildConfigInfoList[i].NumberHour;
                        try
                        {
                            couponInfoList = couponMysqlBLL.CouponMySql_GetAll(hour);
                            PushLog("Coupon到期数据已获取,共" + couponInfoList.Count + "条(未匹配推送表)!");
                        }
                        catch (Exception e)
                        {
                            PushLog("Coupon到期数据获取异常:" + e.Message);
                        }
                    }
                }
                if (couponInfoList != null)
                {
                    for (int j = 0; j < couponInfoList.Count; j++)
                    {
                        CouponMySqlInfo couponInfo = couponInfoList[j];
                        //验证此优惠是否已推送过
                        bool state = mobilePushBLL.MobilePush_IsExist(couponInfo.UID, level1, level2, couponInfo.CouponCode);
                        if (state)//已推送过
                        {
                            continue;
                        }
                        else//if(state==false)
                        {
                            try
                            {
                                PushMessageInfo pushMessageInfo = new PushMessageInfo();
                                pushMessageInfo.ChannelID  = 0;
                                pushMessageInfo.Contents   = GetContentsByLevel2(level2, couponInfo.CouponCode, null);
                                pushMessageInfo.CreateTime = DateTime.Now;
                                pushMessageInfo.DataID     = couponInfo.CouponCode;
                                pushMessageInfo.TypeID     = level1;
                                pushMessageInfo.Section    = level2;
                                pushMessageInfo.PushType   = "single";
                                pushMessageInfo.Status     = 0;
                                pushMessageInfo.TargetList = couponInfo.UID.ToString();
                                pushMessageInfo.Creator    = "后台推送程序";
                                pushMessageInfo.PushCount  = 0;
                                pushMessageInfo.Template   = 1;
                                pushMessageInfo.Updater    = "后台推送程序";
                                pushMessageInfo.UpdateTime = DateTime.Now;
                                mobilePushBLL.InsertMobilePush(pushMessageInfo);
                            }
                            catch (Exception e)
                            {
                                PushLog("Coupon到期数据写入异常:" + e.Message);
                            }
                        }
                    }
                }
            }
        }