From b1ccdb760b9c16200831a2617caf9318b1be86b3 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 27 六月 2024 08:11:09 +0800
Subject: [PATCH] 重构用户管理

---
 HTML/js/public.js                                    |    3 
 Wms/Wms/Controllers/WeatherForecastController.cs     |   52 +--
 Wms/Utility/Filter/CustomerExceptionMiddleware.cs    |    7 
 HTML/views/SystemSettings/UserForm.html              |    2 
 HTML/views/Login.html                                |    4 
 Wms/Wms/Startup.cs                                   |   20 +
 HTML/views/set/user/password.html                    |    2 
 HTML/views/SystemSettings/UserManage.html            |    9 
 Wms/WMS.BLL/SysServer/UserInforServer.cs             |  244 +++++++------------
 HTML/views/index.html                                |    2 
 Wms/Utility/Extension/UserManager.cs                 |   30 ++
 Wms/Utility/Extension/ApiResponseActionFilter.cs     |   16 +
 Wms/WMS.IBLL/ISysServer/IUserInforServer.cs          |   16 
 Wms/Utility/Extension/ServiceCollectionExtensions.cs |   14 
 Wms/Utility/Job/InternalMethodJob.cs                 |   10 
 Wms/Wms/Controllers/BasisController.cs               |  279 +++++-----------------
 16 files changed, 275 insertions(+), 435 deletions(-)

diff --git a/HTML/js/public.js b/HTML/js/public.js
index 27b625e..4f657ef 100644
--- a/HTML/js/public.js
+++ b/HTML/js/public.js
@@ -55,13 +55,12 @@
     success: function (res, status, xhr) {
       // console.log(res);
       // console.log(status);
-
       callbackFun(res);
     },
     error: function (res, status, error) {  
       // console.log(res);
       // console.log(status);
-      callbackFun(res, status, error);
+      callbackFun(res.responseJSON, status, error);
       // layer.msg(res.statusText, {
       //   icon: 2,
       //   time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
diff --git a/HTML/views/Login.html b/HTML/views/Login.html
index 2e3b700..69452cf 100644
--- a/HTML/views/Login.html
+++ b/HTML/views/Login.html
@@ -113,7 +113,7 @@
 			sendData(IP + "/WeatherForecast/Login", param, 'post', function (res) {
 				console.log(res);
 				if (res.code == 200) { //鎴愬姛
-					$.cookie('token', res.ToKen.TokenStr);
+					$.cookie('token', res.data);
 					layer.msg("鐧诲綍鎴愬姛", {
 						icon: 1,
 						time: 1200 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
@@ -131,7 +131,7 @@
 					
 					
 				} else { //涓嶆垚鍔�
-					layer.msg(res.ErrorMsg, {
+					layer.msg(res.msg, {
 						icon: 2,
 						time: 1200 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
 					}, function () {
diff --git a/HTML/views/SystemSettings/UserForm.html b/HTML/views/SystemSettings/UserForm.html
index 9ae950b..4d4afe4 100644
--- a/HTML/views/SystemSettings/UserForm.html
+++ b/HTML/views/SystemSettings/UserForm.html
@@ -159,7 +159,7 @@
 								UserId: id,
 							};
 							sendData(IP + "/basis/GetUserinfoListById?Id= " +getQueryString('id')+ "", {}, 'get', function(res) {
-								if (res.code == 0) //鎴愬姛
+								if (res.code == 200) //鎴愬姛
 								{
 									//椤甸潰璧嬪��
 									if(res.data.UserNo != "")
diff --git a/HTML/views/SystemSettings/UserManage.html b/HTML/views/SystemSettings/UserManage.html
index 823c4d4..92084fb 100644
--- a/HTML/views/SystemSettings/UserManage.html
+++ b/HTML/views/SystemSettings/UserManage.html
@@ -145,7 +145,7 @@
 						
 						console.log(res.data)
 
-						if (res.code == 0) //鎴愬姛
+						if (res.code == 200) //鎴愬姛
 						{
 							var list = res.data;
 							$.extend(infoOptions, {
@@ -395,7 +395,7 @@
 													doing = false;
 													sendData(IP + "/basis/InsertUserinfo", param, 'post',function(res) {
 														console.log(res);
-														if (res.code == 0) //鎴愬姛
+														if (res.code == 200) //鎴愬姛
 														{
 															layer.msg(res.msg, {
 																icon: 1,
@@ -459,7 +459,7 @@
 								doing = false;
 								sendData(IP + "/Basis/DeleteUserInfo?Userids="+data.Id+"", {} , 'get', function(res) {
 									console.log(res);
-									if (res.code == 0) { //鎴愬姛
+									if (res.code == 200) { //鎴愬姛
 										layer.msg(res.msg, {
 											icon: 1,
 											time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
@@ -550,7 +550,7 @@
 												doing = false;
 												sendData(IP + "/basis/UpdateUserinfo", param, 'post',
 												function(res) {
-													if (res.code == 0) { //鎴愬姛
+													if (res.code == 200) { //鎴愬姛
 														layer.msg("淇敼鎴愬姛", {
 															icon: 1,
 															time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
@@ -563,6 +563,7 @@
 													}
 													else //涓嶆垚鍔�
 													{
+														debugger;
 														layer.msg(res.msg, {
 															icon: 2,
 															time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
diff --git a/HTML/views/index.html b/HTML/views/index.html
index ba720fe..7536f0f 100644
--- a/HTML/views/index.html
+++ b/HTML/views/index.html
@@ -212,7 +212,7 @@
 				});		
 
 				sendData(IP + "/Basis/IsPassWordTime", "", 'get', function(res) {					
-					if (res.code == 0 && res.data == 1) { //鎴愬姛
+					if (res.code == 200 && res.data == 1) { //鎴愬姛
 						layer.open({
 							type: 2,
 							title: '瀵嗙爜宸茶繃鏈燂紝璇蜂慨鏀瑰瘑鐮�',
diff --git a/HTML/views/set/user/password.html b/HTML/views/set/user/password.html
index 2bd8871..46e1de5 100644
--- a/HTML/views/set/user/password.html
+++ b/HTML/views/set/user/password.html
@@ -77,7 +77,7 @@
               doing = false;
               sendData(IP + "/Basis/UptUserPassWord", param, 'get', function (res) {
                 console.log(res);
-                if (res.code == 0) { //鎴愬姛
+                if (res.code == 200) { //鎴愬姛
                   layer.msg(res.msg, {
                     icon: 1,
                     time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
diff --git a/Wms/Utility/Extension/ApiResponseActionFilter.cs b/Wms/Utility/Extension/ApiResponseActionFilter.cs
index 186f008..f7eb80c 100644
--- a/Wms/Utility/Extension/ApiResponseActionFilter.cs
+++ b/Wms/Utility/Extension/ApiResponseActionFilter.cs
@@ -10,7 +10,7 @@
 
 namespace Utility
 {
-    public class ApiResponseActionFilter: IAsyncActionFilter
+    public class ApiResponseActionFilter : IAsyncActionFilter
     {
         public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
         {
@@ -32,6 +32,20 @@
 
                 await context.HttpContext.Response.WriteAsync(json);
             }
+            if (resultContext.Result is EmptyResult)
+            {
+                var apiResponse = new ApiResponse<object>(
+                    context.HttpContext.Response.StatusCode,
+                    context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒",
+                    "璇锋眰鎴愬姛"
+                );
+
+                var json = JsonConvert.SerializeObject(apiResponse);
+                context.HttpContext.Response.ContentType = "application/json";
+                context.HttpContext.Response.ContentLength = Encoding.UTF8.GetByteCount(json);
+
+                await context.HttpContext.Response.WriteAsync(json);
+            }
         }
     }
 }
diff --git a/Wms/Utility/Extension/ServiceCollectionExtensions.cs b/Wms/Utility/Extension/ServiceCollectionExtensions.cs
index c15adad..2669a82 100644
--- a/Wms/Utility/Extension/ServiceCollectionExtensions.cs
+++ b/Wms/Utility/Extension/ServiceCollectionExtensions.cs
@@ -46,13 +46,13 @@
                     outputTemplate: template,
                     restrictedToMinimumLevel: LogEventLevel.Information))
                 // Debug鏃ュ織鍐欏叆鍒版枃浠�
-                //.WriteTo.Async(c => c.File(
-                //    path: "Logs/Debug.txt",
-                //    rollingInterval: RollingInterval.Day,
-                //    fileSizeLimitBytes: 1024 * 1024 * 10,
-                //    retainedFileCountLimit: 100,
-                //    outputTemplate: template,
-                //    restrictedToMinimumLevel: LogEventLevel.Debug))
+                .WriteTo.Async(c => c.File(
+                    path: "Logs/Verbose.txt",
+                    rollingInterval: RollingInterval.Day,
+                    fileSizeLimitBytes: 1024 * 1024 * 10,
+                    retainedFileCountLimit: 100,
+                    outputTemplate: template,
+                    restrictedToMinimumLevel: LogEventLevel.Verbose))
                 // Warning鏃ュ織鍐欏叆鍒版枃浠�
                 .WriteTo.Async(c => c.File(
                     path: "Logs/Warning_.txt",
diff --git a/Wms/Utility/Extension/UserManager.cs b/Wms/Utility/Extension/UserManager.cs
new file mode 100644
index 0000000..7877cc9
--- /dev/null
+++ b/Wms/Utility/Extension/UserManager.cs
@@ -0,0 +1,30 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using System;
+using System.Collections.Generic;
+using System.Security.Claims;
+using System.Text;
+
+namespace Utility
+{
+    public class UserManager
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        public int UserId
+        {
+            get => int.Parse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimTypes.Name)?.Value);
+        }
+
+
+        public string Account
+        {
+            get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
+        }
+
+
+        public UserManager(IHttpContextAccessor httpContextAccessor)
+        {
+            _httpContextAccessor = httpContextAccessor;
+        }
+    }
+}
diff --git a/Wms/Utility/Filter/CustomerExceptionMiddleware.cs b/Wms/Utility/Filter/CustomerExceptionMiddleware.cs
index f07c390..33fe7af 100644
--- a/Wms/Utility/Filter/CustomerExceptionMiddleware.cs
+++ b/Wms/Utility/Filter/CustomerExceptionMiddleware.cs
@@ -7,6 +7,7 @@
 using Microsoft.Extensions.Logging;
 using Utility.Entity;
 using Newtonsoft.Json;
+using System.Text;
 
 namespace Utility
 {
@@ -40,8 +41,10 @@
                         message: result,
                         data: result
                     );
-
-                await context.Response.WriteAsync(JsonConvert.SerializeObject(apiResponse));
+                var json = JsonConvert.SerializeObject(apiResponse);
+                context.Response.ContentType = "application/json";
+                context.Response.ContentLength = Encoding.UTF8.GetByteCount(json);
+                await context.Response.WriteAsync(json);
             }
         }
     }
diff --git a/Wms/Utility/Job/InternalMethodJob.cs b/Wms/Utility/Job/InternalMethodJob.cs
index 454c46b..87a3087 100644
--- a/Wms/Utility/Job/InternalMethodJob.cs
+++ b/Wms/Utility/Job/InternalMethodJob.cs
@@ -30,7 +30,15 @@
             try
             {
                 /// 鍔犺浇 WMS.BLL 绫诲簱
-                Assembly assembly = Assembly.LoadFrom("bin\\Debug\\netcoreapp3.1\\WMS.BLL.dll");
+                Assembly assembly;
+                try
+                {
+                    assembly = Assembly.LoadFrom("WMS.BLL.dll");
+                }
+                catch (Exception)
+                {
+                    assembly = Assembly.LoadFrom("bin\\Debug\\netcoreapp3.1\\WMS.BLL.dll");
+                }
 
                 // 鑾峰彇 WMS.BLL鐨勭被鍨�
                 Type classType = assembly.GetType("WMS.BLL." + className);
diff --git a/Wms/WMS.BLL/SysServer/UserInforServer.cs b/Wms/WMS.BLL/SysServer/UserInforServer.cs
index c5761eb..6d6ecac 100644
--- a/Wms/WMS.BLL/SysServer/UserInforServer.cs
+++ b/Wms/WMS.BLL/SysServer/UserInforServer.cs
@@ -11,6 +11,11 @@
 using OracleInternal.Secure.Network;
 using Utility.Tools;
 using System.Linq;
+using SqlSugar;
+using WMS.Entity.Context;
+using WMS.Entity.BllTaskEntity;
+using WMS.DAL;
+using Utility;
 
 namespace WMS.BLL.SysServer
 {
@@ -19,37 +24,36 @@
         public IUserInforRepository UserSvc { get; set; }
         readonly IMapper _mapper;
         private readonly IFunSettingServer _setting;
-        public UserInforServer(IUserInforRepository userSvc, IMapper mapper, IFunSettingServer setting)
+        private static readonly SqlSugarScope Db = DataContext.Db;
+        private readonly UserManager _userManager;
+        public UserInforServer(IUserInforRepository userSvc, IMapper mapper, IFunSettingServer setting, UserManager userManager)
         {
             UserSvc = userSvc;
             _mapper = mapper;
             _setting = setting;
+            _userManager = userManager;
         }
 
-        public bool LoginAdmin(string loginName, string loginPwd, out int adminId)
+        public async Task<int> LoginAdmin(string loginName, string loginPwd)
         {
             //loginPwd = Md5Tools.CalcMd5(loginPwd);
-            var date = UserSvc.GetAllAsync().First(m => m.UserName == loginName && m.PassWord == loginPwd);
-            
-            if (date != null) //璐﹀彿瀵嗙爜鏄惁姝g‘
+            var modUser = await Db.Queryable<SysUserInfor>().FirstAsync(m => m.UserName == loginName && m.PassWord == loginPwd);
+            if (modUser != null) //璐﹀彿瀵嗙爜鏄惁姝g‘
             {
-                if (date.Status == "0") //褰撳墠璐﹀彿鏄惁姝e父鍚敤
+                if (modUser.Status == "0") //褰撳墠璐﹀彿鏄惁姝e父鍚敤
                 {
                     //鏈�鍚庣櫥闄嗘椂闂�
-                    UserSvc.UptUserLoginTime(date.Id);
-                    adminId = date.Id;
-                    return true;
+                    await Db.Updateable(modUser).UpdateColumns(s => s.LoginTime == DateTime.Now).ExecuteCommandAsync();
+                    return modUser.Id;
                 }
                 else //褰撳墠璐﹀彿琚鐢�
                 {
-                    adminId = 0;
-                    return true;
+                    return 0;
                 }
             }
             else //璐﹀彿瀵嗙爜涓嶆纭垨娌℃湁姝よ处鍙�
             {
-                adminId = 0;
-                return false;
+                return -1;
             }
         }
         public SysUserInfor CeShi()
@@ -64,37 +68,19 @@
         /// 鑾峰彇鐢ㄦ埛瑙掕壊淇℃伅
         /// </summary>
         /// <returns></returns>
-        public List<UserInfoDto> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status)
+        public async Task<List<UserInfoDto>> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status)
         {
-
-            string str = "select user1.Id Id,user1.UserNo UserNo,user1.UserName UserName,user1.RealName RealName,user1.PassWord PassWord,user1.JobNo JobNo,user1.Status Status,user1.Sex Sex,user1.Nationality Nationality,user1.CreateTime CreateTime,user1.CreateUser CreateUser,user1.Paper Paper,user1.Phone Phone,user1.Email Email,user1.Addres Addres,user1.Demo Demo,role.RoleName,user2.RealName CreateUserName,depa.DepartmentName DepartmentName from SysUserInfor user1 left join SysRoles role on user1.RoleNo = role.RoleNo left join SysUserInfor user2 on user1.CreateUser = user2.Id left join SysDepartment depa on user1.DepartmentNo = depa.DepartmentNo where user1.IsDel = '0'";
-
-            //鍒ゆ柇鐧诲綍鍚嶇О鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(UserName))
-            {
-                str += $" and user1.UserName like '%{UserName}%'";
-            }
-            //鍒ゆ柇閮ㄩ棬鍙锋槸鍚︿负0
-            if (!string.IsNullOrEmpty(DepartmentNo))
-            {
-                str += $" and user1.DepartmentNo = '{DepartmentNo}'";
-            }
-            //鍒ゆ柇瑙掕壊鍙锋槸鍚︿负绌�
-            if (!string.IsNullOrEmpty(RoleNo))
-            {
-                str += $" and user1.RoleNo = '{RoleNo}'";
-            }
-            //鍒ゆ柇鐘舵�佹槸鍚︿负绌�
-            if (!string.IsNullOrEmpty(Status))
-            {
-                str += $" and user1.Status = '{Status}'";
-            }
-
-            List<UserInfoDto> userInfoDtos = UserSvc.GetUserRoleList(str);
-
-            //var arr = Md5Tools.CalcMd5(userInfoDtos[3].PassWord);
-
-            return userInfoDtos;
+            return await Db.Queryable<SysUserInfor>()
+                                        .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+                                        .LeftJoin<SysDepartment>((a, b, c) => a.DepartmentNo == c.DepartmentNo)
+                                        .LeftJoin<SysRoles>((a, b, c, d) => a.RoleNo == d.RoleNo)
+                                        .WhereIF(!string.IsNullOrEmpty(UserName), a => a.UserName.Contains(UserName))
+                                        .WhereIF(!string.IsNullOrEmpty(DepartmentNo), a => a.DepartmentNo == DepartmentNo)
+                                        .WhereIF(!string.IsNullOrEmpty(RoleNo), a => a.RoleNo == RoleNo)
+                                        .WhereIF(!string.IsNullOrEmpty(Status), a => a.Status == Status)
+                                        .Where(a => a.IsDel == "0")
+                                        .Select<UserInfoDto>()
+                                        .ToListAsync();
         }
 
         /// <summary>
@@ -104,15 +90,13 @@
         /// <param name="userName">鐢ㄦ埛鐧诲綍鍚�</param>
         /// <param name="id">鐢ㄦ埛ID</param>
         /// <returns></returns>
-        public int GetUserInfoByNo(string userNo, string userName,int id)
+        public async Task<int> GetUserInfoByNo(string userNo, string userName, int id)
         {
-            string str = $"select * from SysUserInfor where IsDel=0 and (UserNo = '{userNo}' or UserName = '{userName}') ";
-            if (id!=0)
-            {
-                str += $"and Id != {id} ";
-            }
-            List<SysUserInfor> user = UserSvc.GetUserInfoByNo(str);
-            return user.Count;
+            return await Db.Queryable<SysUserInfor>()
+                        .Where(s => s.IsDel == "0")
+                        .Where(s => s.UserNo == userNo || s.UserName == userName)
+                        .WhereIF(id != 0, a => a.Id != id)
+                        .CountAsync();
         }
 
         /// <summary>
@@ -123,30 +107,27 @@
         /// <exception cref="Exception">寮傚父</exception>
         public async Task<int> InsertUserInfo(UserInfoDto UserInfoDto)
         {
-            //寮傚父
-            try
+            //鏁版嵁妯″瀷鏄犲皠
+            SysUserInfor userinfo = _mapper.Map<SysUserInfor>(UserInfoDto);
+            //鍒ゆ柇鐢ㄦ埛鍙锋槸鍚﹀敮涓�
+            int count = await GetUserInfoByNo(userinfo.UserNo, userinfo.UserName, 0);
+            int i = 0;
+            if (count > 0)
             {
-                //鏁版嵁妯″瀷鏄犲皠
-                SysUserInfor userinfo = _mapper.Map<SysUserInfor>(UserInfoDto);
-                //鍒ゆ柇鐢ㄦ埛鍙锋槸鍚﹀敮涓�
-                int count = GetUserInfoByNo(userinfo.UserNo,userinfo.UserName,0);
-                int i = 0;
-                if (count > 0)
-                {
-                    i = 3;
-                }
-                else if (count ==0)
-                {
-                    //鏂板鐢ㄦ埛
-                    i = await UserSvc.InsertUserInfo(userinfo);
-                }
-                return i;
+                throw Oops.Bah("鐢ㄦ埛鍚嶆垨鐧诲綍鍚嶉噸澶�");
             }
-            catch (Exception ex)
+            else if (count == 0)
             {
-                //鎶涘嚭寮傚父
-                throw new Exception("鏂板鐢ㄦ埛淇℃伅寮傚父", ex);
+                //鏂板鐢ㄦ埛
+                //i = await UserSvc.InsertUserInfo(userinfo);
+                userinfo.PassWord = Md5Tools.CalcMd5("boxline");
+                userinfo.SetPasswordTime = DateTime.Now;
+                userinfo.CreateTime = DateTime.Now;
+                i = await Db.Insertable(userinfo).ExecuteCommandAsync();
+                if (i <= 0)
+                    throw Oops.Bah("鏂板鐢ㄦ埛淇℃伅澶辫触");
             }
+            return i;
 
         }
 
@@ -156,21 +137,15 @@
         /// <param name="user">鐢ㄦ埛瀹炰綋妯″瀷</param>
         /// <returns></returns>
         /// <exception cref="Exception">寮傚父</exception>
-        public async Task<int> DeleteUserinfo(SysUserInfor user)
+        public async Task DeleteUserinfo(SysUserInfor user)
         {
-            //寮傚父
-            try
-            {
-                //鍒犻櫎
-                int i = await UserSvc.DeleteUserinfo(user);
-                //杩斿洖鏁版嵁
-                return i;
-            }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("鍒犻櫎鐢ㄦ埛淇℃伅寮傚父", ex);
-            }
+            await Db.Updateable<SysUserInfor>()
+                           .Where(s => s.Id == user.Id)
+                           .SetColumns(s => s.IsDel == "1")
+                           .SetColumns(s => s.UpdateTime == DateTime.Now)
+                           .SetColumns(s => s.UpdateUser == _userManager.UserId)
+                           .ExecuteCommandAsync();
+
         }
 
         /// <summary>
@@ -181,31 +156,25 @@
         /// <exception cref="Exception">寮傚父exception>
         public async Task<int> UpdateUserinfo(UserInfoDto userdto)
         {
-            //寮傚父
-            try
+            //鏄犲皠鏁版嵁妯″瀷
+            SysUserInfor userlist = _mapper.Map<SysUserInfor>(userdto);
+            //鍒ゆ柇鐢ㄦ埛鍙锋槸鍚﹀敮涓�
+            int count = await GetUserInfoByNo(userdto.UserNo, userdto.UserName, userdto.Id);
+            int i = 0;
+            if (count > 0)
             {
-                //鏄犲皠鏁版嵁妯″瀷
-                SysUserInfor userlist = _mapper.Map<SysUserInfor>(userdto);
-                //鍒ゆ柇鐢ㄦ埛鍙锋槸鍚﹀敮涓�
-                int count = GetUserInfoByNo(userdto.UserNo, userdto.UserName,userdto.Id);
-                int i = 0;
-                if (count > 0)
-                {
-                    i = 3;
-                }
-                else if (count == 0)
-                {
-                    //缂栬緫
-                    i = await UserSvc.UpdateUserinfo(userlist);
-                }
-               
-                return i;
+                throw Oops.Bah("鐢ㄦ埛鍚嶆垨鐧诲綍鍚嶉噸澶�");
             }
-            catch (Exception ex)
+            else if (count == 0)
             {
-                //鎶涘嚭寮傚父
-                throw new Exception("缂栬緫鐢ㄦ埛淇℃伅寮傚父", ex);
+                userdto.UpdateTime = DateTime.Now;
+                i = await Db.Updateable(userlist)
+                    .UpdateColumns(s => new { s.UserName, s.UserNo, s.Sex, s.RoleNo, s.RealName, s.Phone, s.Paper, s.Nationality, s.JobNo, s.Email, s.Demo, s.Addres })
+                    .ExecuteCommandAsync();
+                if (i <= 0)
+                    throw Oops.Bah("缂栬緫鐢ㄦ埛淇℃伅澶辫触");
             }
+            return i;
         }
 
         /// <summary>
@@ -213,12 +182,9 @@
         /// </summary>
         /// <param name="userids">鐢ㄦ埛id</param>
         /// <returns></returns>
-        public SysUserInfor GetUserInfoById(int userids)
+        public async Task<SysUserInfor> GetUserInfoById(int userids)
         {
-            //鑾峰彇淇℃伅鍒楄〃
-            SysUserInfor user= UserSvc.GetUserInfoById(userids);
-            //杩斿洖鏁版嵁
-            return user;
+            return await Db.Queryable<SysUserInfor>().FirstAsync(s => s.Id == userids && s.IsDel == "0");
         }
 
         /// <summary>
@@ -230,59 +196,37 @@
         /// <param name="userId">鐢ㄦ埛id</param>
         /// <returns></returns>
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
-        public async Task<int> UptUserPassWord(string pwdOld, string pwdNew, string pwdNewTwo, int userId)
+        public async Task<int> UptUserPassWord(string pwdNew, int userId)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //楠岃瘉涓ゆ鏂板瘑鐮佹槸鍚︿竴鑷�
-                if (pwdNew == pwdNewTwo)
-                {
-                    int i = await UserSvc.UptUserPassWord(pwdOld, pwdNew, pwdNewTwo, userId);
-                    return i;
-                }
-                else
-                {
-                    return 3;
-                }
-            }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("淇敼瀵嗙爜寮傚父",ex);
-            }
+            return await Db.Updateable<SysUserInfor>()
+                            .Where(s => s.Id == userId)
+                            .SetColumns(s => s.UpdateTime == DateTime.Now)
+                            .SetColumns(s => s.UpdateUser == _userManager.UserId)
+                            .SetColumns(s => s.SetPasswordTime == DateTime.Now)
+                            .ExecuteCommandAsync();
         }
         /// <summary>
         /// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜
         /// </summary>
         /// <param name="userId"></param>
         /// <returns></returns>
-        public int IsPassWordTime(int userId)
+        public async Task<int> IsPassWordTime(int userId)
         {
-            //鎹曡幏寮傚父
-            try
+            SysFunSetting funSettings = await Db.Queryable<SysFunSetting>().FirstAsync(a => a.IsDel == "0" && a.FunSetNo == "Fun026");
+            if (funSettings != null && funSettings.IsEnable == "NO")
             {
-                SysFunSetting funSettings = _setting.GetFunSettingByNo("Fun026");
-                if (funSettings != null && funSettings.IsEnable == "NO")
+                SysUserInfor userinfo = await Db.Queryable<SysUserInfor>().FirstAsync(s => s.Id == userId && s.IsDel == "0");
+                if (userinfo.SetPasswordTime != null)
                 {
-                    SysUserInfor userinfo = UserSvc.GetAllAsync().First(m => m.Id == userId);
-                    if (userinfo.SetPasswordTime != null)
+                    int days = string.IsNullOrEmpty(funSettings.SetValue) ? 30 : Convert.ToInt32(funSettings.SetValue);
+                    bool isTime = userinfo.SetPasswordTime.Value.AddDays(days) < DateTime.Now;
+                    if (isTime)
                     {
-                        int days = string.IsNullOrEmpty(funSettings.SetValue) ? 30 : Convert.ToInt32(funSettings.SetValue);
-                        bool isTime = userinfo.SetPasswordTime.Value.AddDays(days) < DateTime.Now;
-                        if (isTime)
-                        {
-                            return 1;
-                        }
+                        return 1;
                     }
                 }
-                return 0;
             }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("淇敼瀵嗙爜寮傚父", ex);
-            }
+            return 0;
         }
     }
 }
diff --git a/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs b/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
index 628b00e..aad638b 100644
--- a/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
+++ b/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
@@ -9,7 +9,7 @@
 {
     public interface IUserInforServer
     {
-        bool LoginAdmin(string loginName, string loginPwd, out int adminId);
+        Task<int> LoginAdmin(string loginName, string loginPwd);
         SysUserInfor CeShi();
 
         /// <summary>
@@ -20,7 +20,7 @@
         /// <param name="RoleNo">瑙掕壊鍙�</param>
         /// <param name="Status">鐘舵��</param>
         /// <returns></returns>
-        List<UserInfoDto> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status);
+        Task<List<UserInfoDto>> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status);
 
         /// <summary>
         /// 鏍规嵁缂栧彿鑾峰彇鐢ㄦ埛淇℃伅鍒楄〃
@@ -29,7 +29,7 @@
         /// <param name="userName">鐢ㄦ埛鐧诲綍鍚�</param>
         /// <param name="id">鐢ㄦ埛ID</param>
         /// <returns></returns>
-        int GetUserInfoByNo(string userNo, string userName,int id);
+        Task<int> GetUserInfoByNo(string userNo, string userName,int id);
 
         /// <summary>
         /// 鏂板鐢ㄦ埛淇℃伅
@@ -43,7 +43,7 @@
         /// </summary>
         /// <param name="user">鐢ㄦ埛瀹炰綋妯″瀷</param>
         /// <returns></returns>
-        Task<int> DeleteUserinfo(SysUserInfor user);
+        Task DeleteUserinfo(SysUserInfor user);
 
         /// <summary>
         /// 缂栬緫鐢ㄦ埛淇℃伅
@@ -58,23 +58,21 @@
         /// </summary>
         /// <param name="userids">鐢ㄦ埛id</param>
         /// <returns></returns>
-        SysUserInfor GetUserInfoById(int userids);
+        Task<SysUserInfor> GetUserInfoById(int userids);
 
         /// <summary>
         /// 淇敼鐢ㄦ埛瀵嗙爜
         /// </summary>
-        /// <param name="pwdOld">鍘熷瘑鐮�</param>
         /// <param name="pwdNew">鏂板瘑鐮�</param>
-        /// <param name="pwdNewTwo">纭瀵嗙爜</param>
         /// <param name="userId">鐢ㄦ埛id</param>
         /// <returns></returns>
-        Task<int> UptUserPassWord(string pwdOld, string pwdNew, string pwdNewTwo, int userId);
+        Task<int> UptUserPassWord(string pwdNew, int userId);
 
         /// <summary>
         /// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜
         /// </summary>
         /// <param name="userId"></param>
         /// <returns></returns>
-        int IsPassWordTime(int userId);
+        Task<int> IsPassWordTime(int userId);
     }
 }
diff --git a/Wms/Wms/Controllers/BasisController.cs b/Wms/Wms/Controllers/BasisController.cs
index 41d72d9..7980ce4 100644
--- a/Wms/Wms/Controllers/BasisController.cs
+++ b/Wms/Wms/Controllers/BasisController.cs
@@ -20,6 +20,7 @@
 using System.Security.Cryptography;
 using System.Data;
 using Model.ModelDto.LogDto;
+using Utility;
 
 namespace Wms.Controllers
 {
@@ -44,6 +45,7 @@
         private readonly IFunSettingServer _setting; //鍔熻兘璁惧畾
         private readonly IInterfaceServer _interface;//鎺ュ彛绠$悊
         private readonly IOperationSysServer _operation; //鎿嶄綔鏃ュ織
+        private readonly UserManager _userManager;
         /// <summary>
         /// 鏋勯�犲嚱鏁�
         /// </summary>
@@ -58,7 +60,7 @@
         /// <param name="department">閮ㄩ棬</param>
         /// <param name="setting">鍔熻兘璁惧畾</param>
         /// <param name="operation">鎿嶄綔鏃ュ織</param>
-        public BasisController(ICustomerServer customerSvc, ILogisticsInfoServer logisticsSvc, IUserInforServer userInforServer, IRolesServer rolesServer, IRoleRightServer roleRightServer, IRBACServer rBACServer, IUnitServer unitSvc, IPackagServer packagServer, IMaterialsServer mate, IDepartmentServer department, IFunSettingServer setting, IInterfaceServer interfaceS, IOperationSysServer operation)
+        public BasisController(ICustomerServer customerSvc, ILogisticsInfoServer logisticsSvc, IUserInforServer userInforServer, IRolesServer rolesServer, IRoleRightServer roleRightServer, IRBACServer rBACServer, IUnitServer unitSvc, IPackagServer packagServer, IMaterialsServer mate, IDepartmentServer department, IFunSettingServer setting, IInterfaceServer interfaceS, IOperationSysServer operation, UserManager userManager)
         {
             _customerSvc = customerSvc;//瀹㈡埛Svc
             _logisticsSvc = logisticsSvc;//鐗╂祦Svc
@@ -73,6 +75,7 @@
             _setting = setting; //鍔熻兘璁惧畾
             _interface = interfaceS;//鎺ュ彛绠$悊
             _operation = operation; //鎿嶄綔鏃ュ織
+            _userManager = userManager;
         }
         //鍩烘湰淇℃伅绠$悊
 
@@ -89,15 +92,10 @@
         /// <param name="Status">鐘舵��</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<List<UserInfoDto>> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status)
         {
-            List<UserInfoDto> userdtolist = _userInforServer.GetUserRoleList(UserName, DepartmentNo, RoleNo, Status);
-            return Ok(new
-            {
-                data = userdtolist,
-                code = 0,
-                mes = "鎴愬姛"
-            });
+            return await _userInforServer.GetUserRoleList(UserName, DepartmentNo, RoleNo, Status);
         }
 
         /// <summary>
@@ -106,15 +104,10 @@
         /// <param name="id">鐢ㄦ埛id</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetUserinfoListById(int id)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SysUserInfor> GetUserinfoListById(int id)
         {
-            SysUserInfor userinfo = _userInforServer.GetUserInfoById(id);
-            return Ok(new
-            {
-                data = userinfo,
-                code = 0,
-                msg = "鎴愬姛"
-            });
+            return await _userInforServer.GetUserInfoById(id);
         }
 
 
@@ -125,38 +118,13 @@
         /// <returns></returns>
         /// <exception cref="System.Exception">鎹曡幏寮傚父</exception>
         [HttpPost]
-        public async Task<IActionResult> InsertUserinfo(UserInfoDto UserInfoDto)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task InsertUserinfo(UserInfoDto UserInfoDto)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
-                var claimsIdentity = this.User.Identity as ClaimsIdentity;
-                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-                int uid = Convert.ToInt32(userId);
-                UserInfoDto.CreateUser = uid;
-                int i = await _userInforServer.InsertUserInfo(UserInfoDto);
+            UserInfoDto.CreateUser = _userManager.UserId;
+            await _userInforServer.InsertUserInfo(UserInfoDto);
+            await _operation.InsertOperation("绯荤粺璁剧疆", "鐢ㄦ埛绠$悊", UserInfoDto.UserNo, "娣诲姞", "娣诲姞鐢ㄦ埛淇℃伅 鐢ㄦ埛鍙凤細" + UserInfoDto.UserNo, _userManager.UserId);
 
-                //鍒ゆ柇鏄惁鏂板鎴愬姛
-                if (i == 0)
-                {
-                    return Ok(new { data = i, code = 1, msg = "鏂板澶辫触" });
-                }
-                else if (i == 3)
-                {
-                    return Ok(new { data = i, code = 3, msg = "鐢ㄦ埛鍚嶆垨鐧诲綍鍚嶉噸澶�" });
-                }
-                else
-                {
-                    await _operation.InsertOperation("绯荤粺璁剧疆", "鐢ㄦ埛绠$悊", UserInfoDto.UserNo, "娣诲姞", "娣诲姞鐢ㄦ埛淇℃伅 鐢ㄦ埛鍙凤細" + UserInfoDto.UserNo, uid);
-                    return Ok(new { data = i, code = 0, msg = "鏂板鎴愬姛" });
-                }
-            }
-            catch (System.Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new System.Exception("鏂板鐢ㄦ埛寮傚父", ex);
-            }
         }
 
 
@@ -167,34 +135,13 @@
         /// <returns></returns>
         /// <exception cref="System.Exception">寮傚父</exception>
         [HttpGet]
-        public async Task<IActionResult> DeleteUserInfo(int userids)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task DeleteUserInfo(int userids)
         {
-            //寮傚父
-            try
-            {
-                //鑾峰彇鐢ㄦ埛淇℃伅
-                SysUserInfor user = _userInforServer.GetUserInfoById(userids);
-                //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
-                var claimsIdentity = this.User.Identity as ClaimsIdentity;
-                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-                int uid = Convert.ToInt32(userId);
-                int i = await _userInforServer.DeleteUserinfo(user);
-                //鍒ゆ柇鏄惁鍒犻櫎鎴愬姛
-                if (i == 0)
-                {
-                    return Ok(new { data = i, code = 1, msg = "鍒犻櫎澶辫触" });
-                }
-                else
-                {
-                    await _operation.InsertOperation("绯荤粺璁剧疆", "鐢ㄦ埛绠$悊", user.UserNo, "鍒犻櫎", "鍒犻櫎鐢ㄦ埛淇℃伅 鐢ㄦ埛鍙凤細" + user.UserNo, uid);
-                    return Ok(new { data = i, code = 0, msg = "鍒犻櫎鎴愬姛" });
-                }
-            }
-            catch (System.Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new System.Exception("鍒犻櫎鐢ㄦ埛淇℃伅寮傚父", ex);
-            }
+            //鑾峰彇鐢ㄦ埛淇℃伅
+            SysUserInfor user = await _userInforServer.GetUserInfoById(userids);
+            await _userInforServer.DeleteUserinfo(user);
+            await _operation.InsertOperation("绯荤粺璁剧疆", "鐢ㄦ埛绠$悊", user.UserNo, "鍒犻櫎", "鍒犻櫎鐢ㄦ埛淇℃伅 鐢ㄦ埛鍙凤細" + user.UserNo, _userManager.UserId);
         }
 
 
@@ -205,41 +152,13 @@
         /// <returns></returns>
         /// <exception cref="System.Exception">鎹曡幏寮傚父</exception>
         [HttpPost]
-        public async Task<IActionResult> UpdateUserinfo(UserInfoDto userdto)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task UpdateUserinfo(UserInfoDto userdto)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
-                var claimsIdentity = this.User.Identity as ClaimsIdentity;
-                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-                int uid = Convert.ToInt32(userId);
-                //userdto.UpdateUser = Convert.ToInt32(userId);
-                //鏇存敼浜�
-                userdto.UpdateUser = uid;
+            userdto.UpdateUser = _userManager.UserId;
+            await _userInforServer.UpdateUserinfo(userdto);
+            await _operation.InsertOperation("绯荤粺璁剧疆", "鐢ㄦ埛绠$悊", userdto.UserNo, "淇敼", "淇敼鐢ㄦ埛淇℃伅 鐢ㄦ埛鍙凤細" + userdto.UserNo, _userManager.UserId);
 
-                //缂栬緫鐢ㄦ埛淇℃伅
-                int i = await _userInforServer.UpdateUserinfo(userdto);
-                //鍒ゆ柇鏄惁缂栬緫鎴愬姛
-                if (i == 0)
-                {
-                    return Ok(new { data = i, code = 1, msg = "缂栬緫澶辫触" });
-                }
-                else if (i == 3)
-                {
-                    return Ok(new { data = i, code = 1, msg = "鐢ㄦ埛鍚嶆垨鐧诲綍鍚嶉噸澶�" });
-                }
-                else
-                {
-                    await _operation.InsertOperation("绯荤粺璁剧疆", "鐢ㄦ埛绠$悊", userdto.UserNo, "淇敼", "淇敼鐢ㄦ埛淇℃伅 鐢ㄦ埛鍙凤細" + userdto.UserNo, uid);
-                    return Ok(new { data = i, code = 0, msg = "缂栬緫鎴愬姛" });
-                }
-            }
-            catch (System.Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new System.Exception("缂栬緫鐢ㄦ埛淇℃伅寮傚父", ex);
-            }
         }
 
 
@@ -252,26 +171,21 @@
         /// </summary>
         /// <param name="PassWord">鐢ㄦ埛鍘熷瘑鐮�</param>
         /// <returns></returns>
-        [HttpGet]
-        public int GetUserUptPassById(string PassWord, int userId)
-        {
-            ////鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
-            //var claimsIdentity = this.User.Identity as ClaimsIdentity;
-            //var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-            //int uid = Convert.ToInt32(userId);
-
-            //鏍规嵁鐢ㄦ埛id鑾峰彇鐢ㄦ埛瀵嗙爜
-            SysUserInfor user = _userInforServer.GetUserInfoById(userId);
-            //鍒ゆ柇鍘熷瘑鐮佹槸鍚︽纭�
-            if (user.PassWord == PassWord)
-            {
-                return 1;
-            }
-            else
-            {
-                return 0;
-            }
-        }
+        //[HttpGet]
+        //public async int GetUserUptPassById(string PassWord, int userId)
+        //{
+        //    //鏍规嵁鐢ㄦ埛id鑾峰彇鐢ㄦ埛瀵嗙爜
+        //    SysUserInfor user = await _userInforServer.GetUserInfoById(userId);
+        //    //鍒ゆ柇鍘熷瘑鐮佹槸鍚︽纭�
+        //    if (user.PassWord == PassWord)
+        //    {
+        //        return 1;
+        //    }
+        //    else
+        //    {
+        //        return 0;
+        //    }
+        //}
 
         ///// <param name="userId">鐢ㄦ埛id</param>
         /// <summary>
@@ -283,69 +197,28 @@
         /// <returns></returns>
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         [HttpGet]
-        public async Task<IActionResult> UptUserPassWord(string pwdOld, string pwdNew, string pwdNewTwo/*, int userId*/)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task UptUserPassWord(string pwdOld, string pwdNew, string pwdNewTwo/*, int userId*/)
         {
-            //鎹曡幏寮傚父
-            try
+            pwdOld = Md5Tools.CalcMd5(pwdOld);
+            pwdNew = Md5Tools.CalcMd5(pwdNew);
+            pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo);
+            //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
+            SysUserInfor user = await _userInforServer.GetUserInfoById(_userManager.UserId);
+            if (user == null)
             {
-                pwdOld = Md5Tools.CalcMd5(pwdOld);
-                pwdNew = Md5Tools.CalcMd5(pwdNew);
-                pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo);
-                //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
-                var claimsIdentity = this.User.Identity as ClaimsIdentity;
-                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-                int uid = Convert.ToInt32(userId);
-                //鍒ゆ柇鍘熷瘑鐮佹槸鍚︽纭�
-                int a = GetUserUptPassById(pwdOld, uid);
-                if (a == 1)
-                {
-                    //淇敼瀵嗙爜
-                    int i = await _userInforServer.UptUserPassWord(pwdOld, pwdNew, pwdNewTwo, uid);
-                    if (i == 0)
-                    {
-                        return Ok(new
-                        {
-                            data = i,
-                            code = 1,
-                            msg = "淇敼澶辫触"
-                        });
-                    }
-                    //鍒ゆ柇涓ゆ鏂板瘑鐮佹槸鍚︿竴鑷�
-                    else if (i == 3)
-                    {
-                        return Ok(new
-                        {
-                            data = i,
-                            code = 0,
-                            msg = "淇敼鎴愬姛 璇烽噸鏂扮櫥褰�"
-                        });
-                    }
-                    else
-                    {
-                        return Ok(new
-                        {
-                            data = i,
-                            code = 0,
-                            msg = "淇敼鎴愬姛 璇烽噸鏂扮櫥褰�"
-                        });
-                    }
-                }
-                else
-                {
-                    //閿欒
-                    return Ok(new
-                    {
-                        data = a,
-                        code = 1,
-                        msg = "鍘熷瘑鐮佷笉姝g‘"
-                    });
-                }
-
+                throw Oops.Bah("鎵句笉鍒扮敤鎴蜂俊鎭�");
             }
-            catch (Exception ex)
+            if (user.PassWord != pwdOld)
             {
-                //鎶涘嚭寮傚父
-                throw new Exception("淇敼瀵嗙爜寮傚父", ex);
+                throw Oops.Bah("鍘熷瘑鐮佷笉姝g‘");
+            }
+            else
+            {
+                //淇敼瀵嗙爜
+                int i = await _userInforServer.UptUserPassWord(pwdNew, _userManager.UserId);
+                if (i <= 0)
+                    throw Oops.Bah("淇敼瀵嗙爜澶辫触");
             }
         }
         /// <summary>
@@ -353,30 +226,10 @@
         /// </summary>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult IsPassWordTime()
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<int> IsPassWordTime()
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
-                var claimsIdentity = this.User.Identity as ClaimsIdentity;
-                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
-                int uid = Convert.ToInt32(userId);
-                //鍒ゆ柇鍘熷瘑鐮佹槸鍚︽纭�
-                int a = _userInforServer.IsPassWordTime(uid);
-                return Ok(new
-                {
-                    data = a,
-                    code = 0,
-                    msg = "淇敼澶辫触"
-                });
-
-            }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("淇敼瀵嗙爜寮傚父", ex);
-            }
+            return await _userInforServer.IsPassWordTime(_userManager.UserId);
         }
         #endregion
 
@@ -1283,7 +1136,7 @@
                 matedto.CreateUser = uid;
                 //鏂板
                 int i = await _mate.AddMate(matedto);
-                
+
                 await _operation.InsertOperation("鍩虹淇℃伅", "鐗╂枡绠$悊", matedto.SkuNo, "娣诲姞", "娣诲姞鐗╂枡淇℃伅 鐗╂枡鍙凤細" + matedto.SkuNo, uid);
                 return Ok(new { data = i, code = 0, msg = "鎴愬姛" });
 
@@ -1291,7 +1144,7 @@
             catch (Exception ex)
             {
                 //鎶涘嚭寮傚父 
-                return Ok(new { code = 1, msg = "鏂板鐗╂枡寮傚父"+ ex.Message });
+                return Ok(new { code = 1, msg = "鏂板鐗╂枡寮傚父" + ex.Message });
             }
         }
 
@@ -1385,7 +1238,7 @@
             catch (Exception ex)
             {
                 //鎶涘嚭寮�
-                return Ok(new { code = 1, msg = "缂栬緫鐗╂枡寮傚父"+ex.Message });
+                return Ok(new { code = 1, msg = "缂栬緫鐗╂枡寮傚父" + ex.Message });
             }
         }
 
@@ -1612,7 +1465,7 @@
         {
             try
             {
-                var bolls = _customerSvc.GetCustomerList(model.CustomerNo,model.CustomerName, model.Type, model.LinkMan, model.Phone, model.Page, model.Limit, out int count);
+                var bolls = _customerSvc.GetCustomerList(model.CustomerNo, model.CustomerName, model.Type, model.LinkMan, model.Phone, model.Page, model.Limit, out int count);
 
                 return Ok(new { code = 0, count, msg = "瀹㈡埛淇℃伅", data = bolls });
             }
diff --git a/Wms/Wms/Controllers/WeatherForecastController.cs b/Wms/Wms/Controllers/WeatherForecastController.cs
index 549f15e..145995d 100644
--- a/Wms/Wms/Controllers/WeatherForecastController.cs
+++ b/Wms/Wms/Controllers/WeatherForecastController.cs
@@ -12,13 +12,13 @@
 using WMS.Entity.Context;
 using WMS.IBLL.ISysServer;
 using Wms.Tools;
+using Utility;
 
 
 namespace Wms.Controllers
 {
     [Route("api/[controller]/[action]")]
     [ApiController]
-    [Authorize]
     public class WeatherForecastController : ControllerBase
     {
         private static readonly string[] Summaries = new[]
@@ -37,25 +37,19 @@
             _userMan = userMan;
         }
 
-        [AllowAnonymous]
         [HttpGet]
         public IEnumerable<WeatherForecast> Get()
         {
             var rng = new Random();
-            //Db.Init();
-            _logger.LogError("杩欐槸璁板綍鐨勪俊鎭�");
-
-           
             var data = Enumerable.Range(1, 5).Select(index => new WeatherForecast
             {
                 Date = DateTime.Now.AddDays(index),
                 TemperatureC = rng.Next(-20, 55),
                 Summary = Summaries[rng.Next(Summaries.Length)]
             })
-            .ToArray(); 
+            .ToArray();
             var list = JsonConvert.SerializeObject(data);
-            string LogAddress = @".\log\CreatMesTask鐗╂枡杞Щ" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
-            LogFile.SaveLogToFile("鎺ユ敹鐗╂枡杞Щ浠诲姟锛�(" + list + "),", LogAddress);
+            _logger.LogWarning("鎺ユ敹鐗╂枡杞Щ浠诲姟锛�(" + list + "),");
             return data;
         }
 
@@ -64,54 +58,46 @@
         /// </summary>
         /// <param name="model">鐧诲綍鍚�</param> 
         /// <returns></returns>
-        [AllowAnonymous]
         [HttpPost]
-        public IActionResult Login(LoginVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<string> Login(LoginVm model)
         {
             if (ModelState.IsValid)
             {
-                try
-                {
-                    var bolls = _userMan.LoginAdmin(model.LoginName, model.LoginPwd, out int userId);
+                var userId = await _userMan.LoginAdmin(model.LoginName, model.LoginPwd);
 
-                    if (bolls) //
+                if (userId != -1) //
+                {
+                    if (userId != 0) //姝g‘杩斿洖
                     {
-                        if (userId != 0) //姝g‘杩斿洖
-                        {
-                            Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
+                        Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
                             {
                                 {"loginID", userId.ToString()},
                                 {"LoginName", model.LoginName}
                             };
-                            var tnToken = tokenHelper.CreateToken(keyValuePairs);
-                            return Ok(new { code = 200, ToKen = tnToken });
-                        }
-                        else //褰撳墠璐﹀彿琚鐢�
-                        {
-                            //return this.ErrorData($"褰撳墠璐﹀彿宸茶绂佺敤");
-                            return Ok(new { code = 400, ErrorMsg = "褰撳墠璐﹀彿宸茶绂佺敤" });
-                        }
+                        var tnToken = tokenHelper.CreateToken(keyValuePairs);
+                        return tnToken.TokenStr;
                     }
-                    else //璐﹀彿瀵嗙爜閿欒
+                    else //褰撳墠璐﹀彿琚鐢�
                     {
-                        return Ok(new { code = 400, ErrorMsg = "褰撳墠璐﹀彿鎴栧瘑鐮侀敊璇�" });
+                        //return this.ErrorData($"褰撳墠璐﹀彿宸茶绂佺敤");
+                        throw Oops.Bah("褰撳墠璐﹀彿宸茶绂佺敤");
                     }
                 }
-                catch (Exception e)
+                else //璐﹀彿瀵嗙爜閿欒
                 {
-                    return Ok(new { code = 400, ErrorMsg = "璇疯仈绯荤鐞嗗憳/" + e.Message });
+                    throw Oops.Bah("褰撳墠璐﹀彿鎴栧瘑鐮侀敊璇�");
                 }
             }
             else //鏁版嵁鏍煎紡閿欒
             {
-                return Ok(new { code = 400, ErrorMsg = "鏁版嵁鏍煎紡閿欒" });
+                throw Oops.Bah("鏁版嵁鏍煎紡閿欒");
             }
         }
         /// <summary>
         /// 鐧诲綍
         /// </summary>
         /// <returns></returns> 
-        [AllowAnonymous]
         [HttpPost]
         public IActionResult ceshi()
         {
@@ -125,7 +111,7 @@
                 var bolls = _userMan.CeShi();
 
                 return Ok(new { code = 200, data = bolls });
-                    
+
             }
             catch (Exception e)
             {
diff --git a/Wms/Wms/Startup.cs b/Wms/Wms/Startup.cs
index fb30816..694afba 100644
--- a/Wms/Wms/Startup.cs
+++ b/Wms/Wms/Startup.cs
@@ -43,9 +43,10 @@
             var url2 = Configuration.GetSection("ApiUrlConfig:AgvHost").Value + Configuration.GetSection("ApiUrlConfig:IssueComApiUrl").Value;
             //调用定时任务
             services.AddHostedService<DailyTaskService>(provider =>
-            new DailyTaskService(url,url2));
+            new DailyTaskService(url, url2));
 
-            services.AddControllers(options => {
+            services.AddControllers(options =>
+            {
                 options.Filters.Add<RequestAuditLogFilter>();
             })
                 .AddJsonOptions(options =>
@@ -91,7 +92,7 @@
                             .SetIsOriginAllowed(_ => true)
                             .AllowAnyHeader()
                             .AllowCredentials();
-                            
+
                     });
             });
             #endregion
@@ -110,13 +111,13 @@
             #endregion
 
             //读取配置文件配置的接口交互的相关配置
-            services.Configure<ApiUrlConfig>(Configuration.GetSection("ApiUrlConfig")); 
+            services.Configure<ApiUrlConfig>(Configuration.GetSection("ApiUrlConfig"));
             //数据库配置
             BaseDbConfig.ConnectionString = Configuration.GetSection("AppSettings:ConnectionString").Value;
             //验签配置文件
-            SignConfig.ERPAppKey = Configuration.GetSection("SignConfig:ERPAppKey").Value;  
-            SignConfig.MESAppKey = Configuration.GetSection("SignConfig:MESAppKey").Value;  
-            SignConfig.LIMSAppKey = Configuration.GetSection("SignConfig:LIMSAppKey").Value;  
+            SignConfig.ERPAppKey = Configuration.GetSection("SignConfig:ERPAppKey").Value;
+            SignConfig.MESAppKey = Configuration.GetSection("SignConfig:MESAppKey").Value;
+            SignConfig.LIMSAppKey = Configuration.GetSection("SignConfig:LIMSAppKey").Value;
             SignConfig.FuMaAppKey = Configuration.GetSection("SignConfig:FuMaAppKey").Value;
             SignConfig.Minutes = double.Parse(Configuration.GetSection("SignConfig:Minutes").Value);
 
@@ -135,6 +136,9 @@
 
             services.AddHostedService<HostedService>();
             services.AddSingleton<SchedulerCenter>();
+
+            services.AddTransient<UserManager>();
+            services.AddTransient<IHttpContextAccessor, HttpContextAccessor>();
         }
         public void ConfigureContainer(ContainerBuilder builder)
         {
@@ -167,7 +171,7 @@
             //app.UseHttpsRedirection();
 
             app.UseRouting();
-            
+
             app.UseAuthentication();
             app.UseAuthorization();
             app.UseCors("MyCors");//跨域

--
Gitblit v1.8.0