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