public void HandleEvent(OrderPayedEventData eventData)
        {
            AsyncHelper.RunSync(async() =>
            {
                string openid = WechatUserManager.GetOpenid(new UserIdentifier(eventData.Order.TenantId, eventData.Order.UserId));

                if (!string.IsNullOrEmpty(openid))
                {
                    OrderPayedTemplateMessageData data = new OrderPayedTemplateMessageData(
                        new TemplateDataItem(eventData.Order.Title),
                        new TemplateDataItem(eventData.Order.Number),
                        new TemplateDataItem(eventData.Order.PaymentDatetime.ToString()),
                        new TemplateDataItem(eventData.Order.PayMoney.ToString()),
                        new TemplateDataItem(eventData.Order.PayType.ToString()),
                        new TemplateDataItem(L("ThankYouForYourPatronage"))
                        );
                    await TemplateMessageManager.SendTemplateMessageOfOrderPayedAsync(eventData.Order.TenantId, openid, OrderHelper.GetOrderDetailUrl(eventData.Order.Id), data);
                }
            });
        }
Example #2
0
        public async Task <SendTemplateMessageResult> SendTemplateMessageOfOrderPayedAsync(int tenantId, string openId, string url, OrderPayedTemplateMessageData data)
        {
            string accessToken = await WechatCommonManager.GetAccessTokenAsync(tenantId);

            string templateId = await SettingManager.GetSettingValueForTenantAsync(WechatSettings.TemplateMessage.OrderPayed, tenantId);

            SendTemplateMessageResult sendResult = await SendTemplateMessageAsync(accessToken, openId, templateId, url, data);

            return(sendResult);
        }