HuanMengProject/src/0-core/HuanMeng.MiaoYu.Code/Cache/MiaoYuCache.cs
2024-07-16 05:19:32 +08:00

175 lines
4.9 KiB
C#

using AutoMapper;
using HuanMeng.MiaoYu.Code.Cache.Special;
using HuanMeng.MiaoYu.Model.Dto.Character;
namespace HuanMeng.MiaoYu.Code.Cache
{
/// <summary>
/// 缓存类
/// </summary>
/// <param name="dao"></param>
public partial class MiaoYuCache(DAO dao, IMapper mapper)
{
#region
/// <summary>
/// 对话角色缓存表
/// </summary>
private static object CharacterLock = new object();
/// <summary>
/// 对话角色缓存表
/// </summary>
public MiaoYuDataEntityCache<T_Character>? Character { get; set; }
/// <summary>
/// 角色数据表
/// </summary>
public List<T_Character> CharacterInfoList
{
get
{
if (Character == null)
{
Character = new MiaoYuDataEntityCache<T_Character>(dao, CharacterLock);
}
return Character.DataList ?? new List<T_Character>();
}
}
#endregion
#region
/// <summary>
/// 模型缓存表
/// </summary>
private static object ModelConfigLock = new object();
/// <summary>
/// 模型缓存表
/// </summary>
public MiaoYuDataEntityCache<T_Model_Config>? ModelConfig { get; set; }
/// <summary>
/// 模型
/// </summary>
public List<T_Model_Config> ModelConfigList
{
get
{
if (ModelConfig == null)
{
ModelConfig = new MiaoYuDataEntityCache<T_Model_Config>(dao, ModelConfigLock);
}
return ModelConfig.DataList ?? new List<T_Model_Config>();
}
}
#endregion
#region
/// <summary>
/// 角色缓存表
/// </summary>
public CharacterEntityCache? CharacterCache { get; set; }
/// <summary>
/// 角色
/// </summary>
public List<CharacterCache> CharacterList
{
get
{
if (CharacterCache == null)
{
CharacterCache = new CharacterEntityCache(dao, mapper);
}
return CharacterCache.DataList ?? new List<CharacterCache>();
}
}
#endregion
#region
/// <summary>
/// 图片缓存表
/// </summary>
private static object ImageConfigLock = new object();
/// <summary>
/// 图片缓存表
/// </summary>
public MiaoYuDataEntityCache<T_Image_Config>? ImageConfigCache { get; set; }
/// <summary>
/// 图片
/// </summary>
public List<T_Image_Config> ImageConfigList
{
get
{
if (ImageConfigCache == null)
{
ImageConfigCache = new MiaoYuDataEntityCache<T_Image_Config>(dao, ImageConfigLock);
}
return ImageConfigCache.DataList ?? new List<T_Image_Config>();
}
}
#endregion
#region
/// <summary>
///角色类型缓存表
/// </summary>
private static object CharacterTypeLock = new object();
/// <summary>
/// 角色类型缓存表
/// </summary>
public MiaoYuDataEntityCache<T_Character_Type>? CharacterTypeCache { get; set; }
/// <summary>
/// 角色类型
/// </summary>
public List<T_Character_Type> CharacterTypeList
{
get
{
if (CharacterTypeCache == null)
{
CharacterTypeCache = new MiaoYuDataEntityCache<T_Character_Type>(dao, CharacterTypeLock);
}
return CharacterTypeCache.DataList ?? new List<T_Character_Type>();
}
}
#endregion
#region
/// <summary>
/// 类型中的角色缓存表
/// </summary>
private static object CharacterTypeIntimacyLock = new object();
/// <summary>
/// 类型中的角色缓存表
/// </summary>
public MiaoYuDataEntityCache<T_Character_Type_Intimacy>? CharacterTypeIntimacyCache { get; set; }
/// <summary>
/// 类型中的角色
/// </summary>
public List<T_Character_Type_Intimacy> CharacterTypeIntimacyList
{
get
{
if (CharacterTypeIntimacyCache == null)
{
CharacterTypeIntimacyCache = new MiaoYuDataEntityCache<T_Character_Type_Intimacy>(dao, CharacterTypeIntimacyLock);
}
return CharacterTypeIntimacyCache.DataList ?? new List<T_Character_Type_Intimacy>();
}
}
#endregion
}
}