| | |
| | | 锘縰sing Newtonsoft.Json; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | |
| | | List<VueDictionaryDTO> vueDictionaryDTOs = new List<VueDictionaryDTO>(); |
| | | |
| | | List<string> cacheDicNos = new List<string>(); |
| | | //var content = _sys_RoleService.GetCurrentTreePermission(); |
| | | //foreach (string n in dicNos) |
| | | //{ |
| | | // string str = _cacheService.Get(n); |
| | | // if (!string.IsNullOrEmpty(str)) |
| | | // { |
| | | // VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str); |
| | | |
| | | // if (vueDictionary != null) |
| | | // { |
| | | // vueDictionaryDTOs.Add(vueDictionary); |
| | | // cacheDicNos.Add(n); |
| | | // } |
| | | // } |
| | | //} |
| | | if (dicNos.Where(x => !cacheDicNos.Contains(x)).Count() > 0) |
| | | { |
| | | //List<VueDictionaryDTO> selectDics = BaseDal.GetDictionaries(dicNos.Where(x => !cacheDicNos.Contains(x)), _sys_RoleService.GetAllChildren(App.User.RoleId)).Select(s => new VueDictionaryDTO |
| | | //{ |
| | | // DicNo = s.DicNo, |
| | | // Config = s.Config, |
| | | // //dbSql = s.Sql, |
| | | // Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { id = 1, parentId = 0, key = list.DicValue, value = list.DicName }) |
| | | //}).ToList(); |
| | | var selectDics = BaseDal.GetDictionaries(dicNos.Where(x => !cacheDicNos.Contains(x)), _sys_RoleService.GetAllChildren(App.User.RoleId)); |
| | | |
| | | foreach (var item in selectDics) |
| | | { |
| | | var a = item.Data; |
| | | if (!_cacheService.Exists(item.DicNo)) |
| | | { |
| | | vueDictionaryDTOs.Add(item); |
| | | _cacheService.Add(item.DicNo, item.Serialize()); |
| | | } |
| | | else |
| | | { |
| | | VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(_cacheService.Get(item.DicNo)); |
| | | if (vueDictionary != null && vueDictionary.Data.ToJson() != item.Data.ToJson()) |
| | | { |
| | | vueDictionaryDTOs.Add(item); |
| | | _cacheService.AddOrUpdate(item.DicNo, item.Serialize()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //object GetSourceData(string dicNo, string dbSql, object data) |
| | | //{ |
| | | // if (string.IsNullOrEmpty(dbSql)) |
| | | // { |
| | | // return data; |
| | | // } |
| | | // return BaseDal.QueryObjectDataBySql(dbSql, null); |
| | | //} |
| | | //List<VueDictionaryDTO> vueDictionaryDTOs = dicConfig.Select(item => new VueDictionaryDTO |
| | | //{ |
| | | // DicNo = item.dicNo, |
| | | // Config = item.config, |
| | | // Data = GetSourceData(item.dicNo, item.dbSql, item.list) |
| | | //}).ToList(); |
| | | |
| | | |
| | | return vueDictionaryDTOs; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |