コード例 #1
0
ファイル: WechatPayProvider.cs プロジェクト: llenroc/Movie
 public async Task <TenPayV3Info> GetTenPayV3Info()
 {
     if (_tenPayV3Info == null)
     {
         _tenPayV3Info = await WechatCommonManager.GetTenPayV3InfoAsync(InfrastructureSession.TenantId.Value, null);
     }
     return(_tenPayV3Info);
 }
コード例 #2
0
        public async Task <TenPayV3Info> GetTenPayV3Info(int tenantId)
        {
            TenPayV3Info tenPayV3Info = await WechatCommonManager.GetTenPayV3InfoAsync(
                tenantId,
                Url.Action("PayNotify", "Pay", null, Request.Url.Scheme));

            return(tenPayV3Info);
        }
コード例 #3
0
ファイル: CustomMessageHandler.cs プロジェクト: llenroc/Movie
 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>();
 }
コード例 #4
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);
                            }
                        });
                    }
                }
            }
        }