using Atomx.Common.Constant; using Atomx.Common.Entities; namespace Atomx.Data.CacheServices { //public partial interface ICacheService //{ // /// // /// 获取可付款的货币类型和支付通道信息 // /// // /// // /// // Task GetCurrencyChannel(bool? reload = false); // /// // /// 获取支持充值的货币信息 // /// // /// // Task> GetDepositCurrencies(); // /// // /// 获取所有可用的货币信息 // /// // /// // /// // Task?> GetCurrencies(bool? reload = null); // /// // /// 通过ID获取或更新缓存 // /// // /// // /// // /// // Task GetCurrenciesById(long id, Currency? data = null); // /// // /// 根据代码获取货币信息 // /// // /// // /// // Task GetCurrency(string code); // /// // /// 从缓存中删除数据 // /// // /// // /// // Task RemoveCurrencies(long id); //} //public partial class CacheService : ICacheService //{ // /// // /// 获取可付款的货币类型和支付通道信息 // /// // /// // /// // public async Task GetCurrencyChannel(bool? reload = false) // { // var cacheData = await GetCacheAsync(CacheKeys.CurrencyChannel); // bool needReload = reload.HasValue ? reload.Value : false; // if (cacheData == null || needReload) // { // cacheData = new CurrencyChannelModel(); // var relation = _dbContext.CurrencyChannelRelations.ToList(); // var currency = _dbContext.Currencies.Where(p => p.EnablePay).ToList(); // var channels = _dbContext.PaymentChannels.Where(p => p.Status == (int)PaymentChannelStatus.Enable).ToList(); // cacheData.Currencies = currency; // foreach (var item in relation) // { // var channel = channels.SingleOrDefault(p => p.Id == item.PayChannelId); // if (channel != null) // { // var data = new CurrencyPaymentChannelModel() // { // Id = channel.Id, // Config = channel.Config, // CreateTime = channel.CreateTime, // Description = channel.Description, // DisplayOrder = channel.DisplayOrder, // EndTime = item.EndTime, // Extended = item.Extended, // Name = channel.Name, // Network = channel.Network, // StartTime = item.StartTime, // Status = channel.Status, // TimeZone = item.TimeZone, // Type = channel.Type, // UpdateTime = channel.UpdateTime, // CurrencyId = item.CurrencyId, // Account = channel.Account, // Title = channel.Title, // }; // cacheData.CurrencyPaymentChannels.Add(data); // } // } // await SetCacheAsync(CacheKeys.CurrencyChannel, cacheData); // } // return cacheData; // } // /// // /// 获取支持充值的货币信息 // /// // /// // public async Task> GetDepositCurrencies() // { // var data = await GetCurrencies(); // return data.Where(p => p.EnablePay).ToList(); // } // public async Task?> GetCurrencies(bool? reload = null) // { // var cacheData = await GetCacheAsync>(CacheKeys.Currencies); // if (cacheData == null || reload.HasValue) // { // var data = _dbContext.Currencies.Where(p => p.Enabled).ToList(); // if (data != null) // { // cacheData = data; // await SetCacheAsync(CacheKeys.Currencies, cacheData); // } // } // return cacheData; // } // public async Task GetCurrenciesById(long id, Currency? data = null) // { // var cacheData = await GetCurrencies(); // if (data != null) // { // var manufacturer = cacheData.SingleOrDefault(p => p.Id == id); // if (manufacturer != null) // { // cacheData.Remove(manufacturer); // cacheData.Add(data); // await SetCacheAsync(CacheKeys.Currencies, cacheData); // } // else // { // cacheData.Add(data); // await SetCacheAsync(CacheKeys.Currencies, cacheData); // } // return data; // } // else // { // var manufacturer = cacheData.SingleOrDefault(p => p.Id == id); // if (manufacturer != null) // { // return manufacturer; // } // return new Currency(); // } // } // /// // /// 根据代码获取货币信息 // /// // /// // /// // public async Task GetCurrency(string code) // { // var cacheData = await GetCurrencies(); // if (cacheData != null) // { // return cacheData.SingleOrDefault(p => p.CurrencyCode == code); // } // return new Currency(); // } // public async Task RemoveCurrencies(long id) // { // var cacheData = await GetCurrencies(); // if (cacheData != null) // { // var data = cacheData.SingleOrDefault(p => p.Id == id); // if (data != null) // { // cacheData.Remove(data); // await SetCacheAsync(CacheKeys.Currencies, cacheData); // } // } // } //} }