public async Task <TenPayV3Info> GetTenPayV3Info() { if (_tenPayV3Info == null) { _tenPayV3Info = await WechatCommonManager.GetTenPayV3InfoAsync(InfrastructureSession.TenantId.Value, null); } return(_tenPayV3Info); }
public async Task <TenPayV3Info> GetTenPayV3Info(int tenantId) { TenPayV3Info tenPayV3Info = await WechatCommonManager.GetTenPayV3InfoAsync( tenantId, Url.Action("PayNotify", "Pay", null, Request.Url.Scheme)); return(tenPayV3Info); }
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>(); }
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); } }); } } } }