Mini.Crm/Mini.Services/Bas/BasConfigService.cs

45 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Air.Model;
using Microsoft.EntityFrameworkCore;
using Mini.Common;
using Mini.Model;
using Mini.Model.Entity;
using Mini.Model.Enum;
namespace Mini.Services.Bas
{
public class BasConfigService : IBasConfigService
{
private readonly IAdminRepository<Bas_Config> _basConfigRepository;
public BasConfigService(IAdminRepository<Bas_Config> basConfigRepository)
{
this._basConfigRepository = basConfigRepository;
}
public string GetConfig(BasConfigEnums config)
{
string configCache = "Mini.Crm.Config";
Dictionary<string, string> dic = CacheHelper.Get<Dictionary<string, string>>(configCache);
if (dic == null)
{
dic = new Dictionary<string, string>();
List<Bas_Config> model = _basConfigRepository.GetList().AsNoTracking().ToList();
foreach (var item in model)
{
if (!dic.ContainsKey(item.code))
dic.Add(item.code, item.value);
}
CacheHelper.CacheInsertAddMinutes(configCache,dic,2);//缓存存在两分钟就会过期
}
if (dic.ContainsKey(config.ToString()))
return dic[config.ToString()];
return "";
}
}
}