public async Task <WalletRecord> IncomeOfOrderRebate(UserIdentifier userIdentifier, decimal money, string remark, Order order) { WalletRecord walletRecord = BuildWalletRecord(WalletRecordType.Recharge, userIdentifier.UserId, money, remark); WalletRecordRepository.Insert(walletRecord); Wallet wallet = GetWalletOfUser(userIdentifier); wallet.Money += money; WalletRepository.Update(wallet); CurrentUnitOfWork.SaveChanges(); string openid = WechatUserManager.GetOpenid(userIdentifier); if (!string.IsNullOrEmpty(openid)) { OrderRebateTemplateMessageData data = new OrderRebateTemplateMessageData( new TemplateDataItem(remark), new TemplateDataItem(order.Number), new TemplateDataItem(order.PayMoney.ToString()), new TemplateDataItem(order.PaymentDatetime.ToString()), new TemplateDataItem(money.ToString()), new TemplateDataItem(L("ThankYouForYourPatronage")) ); await TemplateMessageManager.SendTemplateMessageOfOrderRebateAsync(order.TenantId, openid, null, data); } return(walletRecord); }
public async Task <SendTemplateMessageResult> SendTemplateMessageOfOrderRebateAsync(int tenantId, string openId, string url, OrderRebateTemplateMessageData data) { string accessToken = await WechatCommonManager.GetAccessTokenAsync(tenantId); string templateId = await SettingManager.GetSettingValueForTenantAsync(WechatSettings.TemplateMessage.OrderRebate, tenantId); SendTemplateMessageResult sendResult = await SendTemplateMessageAsync(accessToken, openId, templateId, url, data); return(sendResult); }