59 lines
1.8 KiB
C#
59 lines
1.8 KiB
C#
using AutoMapper;
|
|
|
|
using HuanMeng.MiaoYu.Code.DataAccess;
|
|
using HuanMeng.MiaoYu.Model.Dto.Character;
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace HuanMeng.MiaoYu.Code.Cache.Special
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="_dao"></param>
|
|
public class CharacterEntityCache(DAO _dao, IMapper mapper) : MiaoYuDataEntityCache<CharacterCache>(_dao, CharacterCacheLock)
|
|
{
|
|
/// <summary>
|
|
/// 锁
|
|
/// </summary>
|
|
private static object CharacterCacheLock = new object();
|
|
|
|
/// <summary>
|
|
/// 获取缓存数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override List<CharacterCache> GetDataList()
|
|
{
|
|
List<CharacterCache> characterCaches = null;
|
|
//读取角色表
|
|
var characters = _dao.daoDbMiaoYu.context.T_Character.ToList();
|
|
if (characters == null)
|
|
{
|
|
return new List<CharacterCache>();
|
|
}
|
|
characterCaches = mapper.Map<List<CharacterCache>>(characters);
|
|
//查询配置表
|
|
var modelConfigs = _dao.daoDbMiaoYu.context.T_Model_Config.ToList();
|
|
foreach (var characterCache in characterCaches)
|
|
{
|
|
var modelConfig = modelConfigs.FirstOrDefault(it => it.Id == characterCache.ModelConfigId);
|
|
if (modelConfig != null)
|
|
{
|
|
characterCache.ModelConfig = modelConfig;
|
|
}
|
|
}
|
|
//移除没有配置模型的类
|
|
characterCaches.Where(it => it.ModelConfig == null).ToList().ForEach(characterCache =>
|
|
{
|
|
characterCaches.Remove(characterCache);
|
|
});
|
|
return characterCaches;
|
|
}
|
|
}
|
|
|
|
}
|