190 lines
7.0 KiB
C#
190 lines
7.0 KiB
C#
using Atomx.Common.Constant;
|
|
using Atomx.Common.Entities;
|
|
|
|
namespace Atomx.Data.CacheServices
|
|
{
|
|
//public partial interface ICacheService
|
|
//{
|
|
// /// <summary>
|
|
// /// 获取可付款的货币类型和支付通道信息
|
|
// /// </summary>
|
|
// /// <param name="reload"></param>
|
|
// /// <returns></returns>
|
|
// Task<CurrencyChannelModel> GetCurrencyChannel(bool? reload = false);
|
|
|
|
// /// <summary>
|
|
// /// 获取支持充值的货币信息
|
|
// /// </summary>
|
|
// /// <returns></returns>
|
|
// Task<List<Currency>> GetDepositCurrencies();
|
|
|
|
// /// <summary>
|
|
// /// 获取所有可用的货币信息
|
|
// /// </summary>
|
|
// /// <param name="reload"></param>
|
|
// /// <returns></returns>
|
|
// Task<List<Currency>?> GetCurrencies(bool? reload = null);
|
|
|
|
// /// <summary>
|
|
// /// 通过ID获取或更新缓存
|
|
// /// </summary>
|
|
// /// <param name="id"></param>
|
|
// /// <param name="data"></param>
|
|
// /// <returns></returns>
|
|
// Task<Currency> GetCurrenciesById(long id, Currency? data = null);
|
|
|
|
// /// <summary>
|
|
// /// 根据代码获取货币信息
|
|
// /// </summary>
|
|
// /// <param name="code"></param>
|
|
// /// <returns></returns>
|
|
// Task<Currency> GetCurrency(string code);
|
|
|
|
// /// <summary>
|
|
// /// 从缓存中删除数据
|
|
// /// </summary>
|
|
// /// <param name="id"></param>
|
|
// /// <returns></returns>
|
|
// Task RemoveCurrencies(long id);
|
|
|
|
//}
|
|
//public partial class CacheService : ICacheService
|
|
//{
|
|
// /// <summary>
|
|
// /// 获取可付款的货币类型和支付通道信息
|
|
// /// </summary>
|
|
// /// <param name="reload"></param>
|
|
// /// <returns></returns>
|
|
// public async Task<CurrencyChannelModel> GetCurrencyChannel(bool? reload = false)
|
|
// {
|
|
// var cacheData = await GetCacheAsync<CurrencyChannelModel>(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;
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// 获取支持充值的货币信息
|
|
// /// </summary>
|
|
// /// <returns></returns>
|
|
// public async Task<List<Currency>> GetDepositCurrencies()
|
|
// {
|
|
// var data = await GetCurrencies();
|
|
// return data.Where(p => p.EnablePay).ToList();
|
|
// }
|
|
|
|
// public async Task<List<Currency>?> GetCurrencies(bool? reload = null)
|
|
// {
|
|
// var cacheData = await GetCacheAsync<List<Currency>>(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<Currency> 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();
|
|
// }
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// 根据代码获取货币信息
|
|
// /// </summary>
|
|
// /// <param name="code"></param>
|
|
// /// <returns></returns>
|
|
// public async Task<Currency> 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);
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
}
|