/// <summary>
        /// 出 订单支付完成 队列
        /// </summary>
        public void ProcessCouponNotice()
        {
            //一次最多取100条数据
            var numCount  = 100;
            var commonBLL = new CommonBLL();
            //
            var customerIDs = CustomerBLL.Instance.GetCustomerList();

            foreach (var customer in customerIDs)
            {
                //
                var count = RedisOpenAPI.Instance.CCCouponNotice().GetCouponNoticeLength(new CC_CouponNotice
                {
                    CustomerID = customer.Key
                });
                if (count.Code != ResponseCode.Success)
                {
                    continue;
                }
                if (count.Result <= 0)
                {
                    continue;
                }

                //
                if (count.Result < numCount)
                {
                    numCount = Convert.ToInt32(count.Result);
                }

                //
                for (var i = 0; i < numCount; i++)
                {
                    //
                    var response = RedisOpenAPI.Instance.CCCouponNotice().GetCouponNotice(new CC_CouponNotice
                    {
                        CustomerID = customer.Key
                    });
                    if (response.Code == ResponseCode.Success)
                    {
                        var templateID         = response.Result.ConfigData.TemplateID;
                        var openID             = response.Result.ConfigData.OpenID;
                        var vipID              = response.Result.ConfigData.VipID;
                        var loggingSessionInfo = CustomerBLL.Instance.GetBSLoggingSession(customer.Key, "1");//response.Result.ConfigData.LogSession.JsonDeserialize<LoggingSessionInfo>();

                        var CouponsArrivalData = new CouponsArrival();
                        CouponsArrivalData.first = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.first.value, color = response.Result.CouponNoticeData.first.color
                        };
                        CouponsArrivalData.keyword1 = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.keyword1.value, color = response.Result.CouponNoticeData.keyword1.color
                        };                                                                                                                                                                //券码
                        CouponsArrivalData.keyword2 = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.keyword2.value, color = response.Result.CouponNoticeData.keyword2.color
                        };                                                                                                                                                                //券名称
                        CouponsArrivalData.keyword3 = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.keyword3.value, color = response.Result.CouponNoticeData.keyword3.color
                        };                                                                                                                                                                //可用数量
                        CouponsArrivalData.keyword4 = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.keyword4.value, color = response.Result.CouponNoticeData.keyword4.color
                        };                                                                                                                                                                //有效期
                        CouponsArrivalData.keyword5 = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.keyword5.value, color = response.Result.CouponNoticeData.keyword5.color
                        };                                                                                                                                                                //
                        CouponsArrivalData.Remark = new DataInfo()
                        {
                            value = response.Result.CouponNoticeData.remark.value, color = response.Result.CouponNoticeData.remark.color
                        };
                        //
                        //return commonBLL.SendMatchWXTemplateMessage(wxTMConfigData.TemplateID, null, null, null, PaySuccessData, null, "15", OpenID, VipID, loggingSessionInfo);

                        commonBLL.SendMatchWXTemplateMessage(templateID, null, null, null, null, null, CouponsArrivalData, null, null, "3", openID, null, loggingSessionInfo);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public void CouponsArrivalMessage(string CouponCode, string CouponName, string ValidityData, string Scope, string OpenID, LoggingSessionInfo loggingSessionInfo, string CouponCount = "1")
        {
            var CommonBLL      = new JIT.CPOS.BS.BLL.WX.CommonBLL();
            var WXTMConfigData = new WXTMConfigBLL(loggingSessionInfo).QueryByEntity(new WXTMConfigEntity()
            {
                TemplateIdShort = "OPENTM207444083", CustomerId = loggingSessionInfo.ClientID, IsDelete = 0
            }, null).FirstOrDefault();


            var CouponsArrivalData = new CouponsArrival();

            CouponsArrivalData.first = new DataInfo()
            {
                value = WXTMConfigData.FirstText, color = WXTMConfigData.FirstColour
            };
            CouponsArrivalData.keyword1 = new DataInfo()
            {
                value = CouponCode, color = WXTMConfigData.Colour1
            };                                                                                                  //券码
            CouponsArrivalData.keyword2 = new DataInfo()
            {
                value = CouponName, color = WXTMConfigData.Colour1
            };                                                                                                  //券名称
            CouponsArrivalData.keyword3 = new DataInfo()
            {
                value = CouponCount, color = WXTMConfigData.Colour1
            };                                                                                                   //可用数量
            CouponsArrivalData.keyword4 = new DataInfo()
            {
                value = ValidityData, color = WXTMConfigData.Colour1
            };                                                                                                    //有效期
            CouponsArrivalData.keyword5 = new DataInfo()
            {
                value = Scope, color = WXTMConfigData.Colour1
            };                                                                                             //
            CouponsArrivalData.Remark = new DataInfo()
            {
                value = WXTMConfigData.RemarkText, color = WXTMConfigData.RemarkColour
            };

            //下面往redis里存入数据
            var response = RedisOpenAPI.Instance.CCCouponNotice().SetCouponNotice(new CC_CouponNotice
            {
                CustomerID = loggingSessionInfo.ClientID,
                ConfigData = new CC_ConfigData
                {
                    LogSession = loggingSessionInfo.JsonSerialize(),
                    OpenID     = OpenID,
                    TemplateID = WXTMConfigData.TemplateID,
                    //   VipID = VipID
                },
                CouponNoticeData = new CC_CouponNoticeData
                {
                    first = new CC_DataInfo {
                        value = CouponsArrivalData.first.value, color = CouponsArrivalData.first.color
                    },
                    keyword1 = new CC_DataInfo {
                        value = CouponsArrivalData.keyword1.value, color = CouponsArrivalData.keyword1.color
                    },
                    keyword2 = new CC_DataInfo {
                        value = CouponsArrivalData.keyword2.value, color = CouponsArrivalData.keyword2.color
                    },
                    keyword3 = new CC_DataInfo {
                        value = CouponsArrivalData.keyword3.value, color = CouponsArrivalData.keyword3.color
                    },
                    keyword4 = new CC_DataInfo {
                        value = CouponsArrivalData.keyword4.value, color = CouponsArrivalData.keyword4.color
                    },
                    keyword5 = new CC_DataInfo {
                        value = CouponsArrivalData.keyword5.value, color = CouponsArrivalData.keyword4.color
                    },
                    remark = new CC_DataInfo {
                        value = CouponsArrivalData.Remark.value, color = CouponsArrivalData.Remark.color
                    }
                }
            });

            //如果往缓存redis里写入不成功,还是按照原来的老方法直接发送**
            if (response.Code != ResponseCode.Success)
            {
                CommonBLL.CouponsArrivalMessage(CouponCode, CouponName, ValidityData, Scope, OpenID, loggingSessionInfo, CouponCount);//传入优惠券数量

                new RedisXML().RedisReadDBCount("CouponsUpcomingExpired", "优惠券发送成功通知", 2);
            }
            else
            {
                new RedisXML().RedisReadDBCount("CouponsUpcomingExpired", "优惠券发送成功通知", 1);
            }
        }