From c05003c73bbe527478bccc55efe25c19068b6f50 Mon Sep 17 00:00:00 2001
From: Huangxiaoqiang-03 <1247017146@qq.com>
Date: 星期三, 23 十月 2024 17:30:42 +0800
Subject: [PATCH] 1

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
index 85d5afa..2c740c4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
@@ -10,15 +10,20 @@
 using WIDESEAWCS_ISystemRepository;
 using WIDESEAWCS_Core.BaseRepository;
 using System.Net;
+using WIDESEAWCS_Core.Caches;
 
 namespace WIDESEAWCS_SystemServices
 {
     public class Sys_UserService : ServiceBase<Sys_User, ISys_UserRepository>, ISys_UserService
     {
         private readonly IUnitOfWorkManage _unitOfWorkManage;
-        public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage) : base(repository)
+        private readonly ICacheService _cacheService;
+        private readonly ISys_MenuService _menuService;
+        public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService) : base(repository)
         {
             _unitOfWorkManage = unitOfWorkManage;
+            _cacheService = cacheService;
+            _menuService = menuService;
         }
 
         public WebResponseContent Login(LoginInfo loginInfo)
@@ -44,6 +49,16 @@
                 UserInfo user = BaseDal.GetUserInfo(loginInfo.UserName, loginInfo.Password);
                 if (user != null)
                 {
+                    object obj = _menuService.GetMenuActionList(user.RoleId);
+                    if (obj is not IEnumerable<object> list)
+                    {
+                        return WebResponseContent.Instance.Error("鏃犵櫥褰曟潈闄�");
+                    }
+                    if (!list.Any())
+                    {
+                        return WebResponseContent.Instance.Error("鏃犵櫥褰曟潈闄�");
+                    }
+
                     string token = JwtHelper.IssueJwt(new TokenModelJwt()
                     {
                         UserId = user.UserId,
@@ -52,6 +67,8 @@
                         TenantId = user.TenantId,
                     });
 
+                    _cacheService.AddOrUpdate(user.UserId.ToString(), token);
+
                     content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl });
                 }
                 else

--
Gitblit v1.9.3