예제 #1
0
 public CustomMessageHandler(Stream inputStream, PostModel postModel)
     : base(inputStream, postModel)
 {
     LocalizationManager           = IocManager.Instance.Resolve <ILocalizationManager>();
     LocalizationSourceName        = ApplicationConsts.LocalizationSourceName;
     _wechatUserManager            = IocManager.Instance.Resolve <WechatUserManager>();
     _autoReplyManager             = IocManager.Instance.Resolve <AutoReplyManager>();
     _wechatCommonManager          = IocManager.Instance.Resolve <WechatCommonManager>();
     _customerServiceMessageHelper = IocManager.Instance.Resolve <CustomerServiceMessageHelper>();
 }
예제 #2
0
        public void HandleEvent(OrderPayedEventData eventData)
        {
            if (eventData.Order is ProductOrder)
            {
                ProductOrder      order             = eventData.Order as ProductOrder;
                DecreaseStockWhen DecreaseStockWhen = (DecreaseStockWhen)(Enum.Parse(typeof(DecreaseStockWhen),
                                                                                     SettingManager.GetSettingValueForTenant(ShopSettings.General.DecreaseStockWhen, eventData.Order.TenantId)));

                foreach (OrderItem orderItem in order.OrderItems)
                {
                    //Decreate stock
                    if (DecreaseStockWhen == DecreaseStockWhen.Pay)
                    {
                        ProductManager.DecreaseStock(orderItem.Specification, orderItem.Count);
                    }

                    //Increse sale
                    ProductManager.IncreaseSale(orderItem.Specification, orderItem.Count);

                    if (!string.IsNullOrEmpty(orderItem.Specification.Product.MasterQrcode))
                    {
                        //Send masterQrcode
                        AsyncHelper.RunSync(async() =>
                        {
                            string accessToken = await WechatCommonManager.GetAccessTokenAsync(order.TenantId);
                            string openid      = WechatUserManager.GetOpenid(order.GetUserIdentifier());

                            if (!string.IsNullOrEmpty(openid))
                            {
                                CustomerServiceMessageHelper.SendImage(accessToken, openid, orderItem.Specification.Product.MasterQrcode);
                            }
                        });
                    }
                }
            }
        }