From b7bebc615cdcc5268326c13731b2dfbb3d3e6f70 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期五, 25 十月 2024 12:38:43 +0800 Subject: [PATCH] 优化下拉框查询,角色权限查询, --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs | 55 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 31 insertions(+), 24 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs" index ee6f4d9..95ced6d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_DictionaryService.cs" @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Common.TaskEnum; +using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Caches; @@ -18,6 +19,7 @@ using WIDESEAWCS_ISystemRepository; using WIDESEAWCS_ISystemServices; using WIDESEAWCS_Model.Models; +using WIDESEAWCS_Model.Models.System; namespace WIDESEAWCS_SystemServices { @@ -25,11 +27,13 @@ { private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly ICacheService _cacheService; + private readonly ISys_RoleService _sys_RoleService; - public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService) : base(BaseDal) + public Sys_DictionaryService(ISys_DictionaryRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_RoleService sys_RoleService) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _cacheService = cacheService; + _sys_RoleService = sys_RoleService; } public List<VueDictionaryDTO> GetVueDictionary(string[] dicNos) @@ -38,38 +42,41 @@ List<VueDictionaryDTO> vueDictionaryDTOs = new List<VueDictionaryDTO>(); List<string> cacheDicNos = new List<string>(); - foreach (string n in dicNos) - { - string str = _cacheService.Get(n); - if (!string.IsNullOrEmpty(str)) - { - VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str); + //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 (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))).Select(s => new VueDictionaryDTO - { - DicNo = s.DicNo, - Config = s.Config, - //dbSql = s.Sql, - Data = s.DicList.OrderByDescending(o => o.OrderNo).Select(list => new { key = list.DicValue, value = list.DicName }) - }).ToList(); + //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()); } } - vueDictionaryDTOs.AddRange(selectDics); } //object GetSourceData(string dicNo, string dbSql, object data) @@ -87,10 +94,10 @@ // Data = GetSourceData(item.dicNo, item.dbSql, item.list) //}).ToList(); - + return vueDictionaryDTOs; } - + } } -- Gitblit v1.9.3