From 1b108e8d7335d5a5a59dfcf2f4eeef034a53b9b8 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期五, 06 九月 2024 12:33:06 +0800
Subject: [PATCH] 用户管理页角色问题和密码增加验证问题

---
 HTML/views/WareHouseSetting/WareHouseFrom.html |    2 +-
 Wms/WMS.BLL/SysServer/UserInforServer.cs       |   41 ++++++++++++++++++++++++++++++++++-------
 HTML/views/SystemSettings/Role.html            |    1 +
 Wms/WMS.IBLL/ISysServer/IUserInforServer.cs    |    2 +-
 Wms/Wms/Controllers/BasisController.cs         |    4 ++--
 5 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/HTML/views/SystemSettings/Role.html b/HTML/views/SystemSettings/Role.html
index f4150c2..2e9c1c4 100644
--- a/HTML/views/SystemSettings/Role.html
+++ b/HTML/views/SystemSettings/Role.html
@@ -312,6 +312,7 @@
 				form.on("submit(LAY-app-contlist-search)", function (data) {
 					var RoleNo = data.field.RoleNo;
 					var RoleName = data.field.RoleName;
+					console.log("roleno:"+RoleNo+" rolename:"+RoleName);
 					refreshTable(RoleNo, RoleName);
 				});
 
diff --git a/HTML/views/WareHouseSetting/WareHouseFrom.html b/HTML/views/WareHouseSetting/WareHouseFrom.html
index f44a0cf..f70a31d 100644
--- a/HTML/views/WareHouseSetting/WareHouseFrom.html
+++ b/HTML/views/WareHouseSetting/WareHouseFrom.html
@@ -31,7 +31,7 @@
 				</div>
 			</div>
 			<div class="layui-form-item">
-				<label class="layui-form-label">浠撳簱绫诲瀷</label>
+				<label class="layui-form-label">瀛樺偍鐜</label>
 				<div class="layui-input-block" >
 					<select name="Temp" id="Temp" lay-filter="Temp" lay-search>
 						<option value=""></option>
diff --git a/Wms/WMS.BLL/SysServer/UserInforServer.cs b/Wms/WMS.BLL/SysServer/UserInforServer.cs
index 30997b1..29fbd2d 100644
--- a/Wms/WMS.BLL/SysServer/UserInforServer.cs
+++ b/Wms/WMS.BLL/SysServer/UserInforServer.cs
@@ -16,6 +16,7 @@
 using WMS.Entity.BllTaskEntity;
 using WMS.DAL;
 using Utility;
+using System.Text.RegularExpressions;
 
 namespace WMS.BLL.SysServer
 {
@@ -61,6 +62,7 @@
         /// <returns></returns>
         public async Task<List<UserInfoDto>> GetUserRoleList(string UserName, string DepartmentNo, string RoleNo, string Status)
         {
+            var modUser = await Db.Queryable<SysUserInfor>().FirstAsync(s => s.Id == _userManager.UserId);
             return await Db.Queryable<SysUserInfor>()
                                         .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                                         .LeftJoin<SysDepartment>((a, b, c) => a.DepartmentNo == c.DepartmentNo)
@@ -70,6 +72,7 @@
                                         .WhereIF(!string.IsNullOrEmpty(DepartmentNo), a => a.DepartmentNo == DepartmentNo)
                                         .WhereIF(!string.IsNullOrEmpty(RoleNo), a => a.RoleNo == RoleNo)
                                         .WhereIF(!string.IsNullOrEmpty(Status), a => a.Status == Status)
+                                        .WhereIF(modUser.UserName.ToUpper() != "ADMIN", a => a.CreateUser == _userManager.UserId)
                                         .Where(a => a.IsDel == "0")
                                         .Select<UserInfoDto>((a, b, c, d) => new UserInfoDto()
                                         {
@@ -192,15 +195,39 @@
         /// <param name="userId">鐢ㄦ埛id</param>
         /// <returns></returns>
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
-        public async Task<int> UptUserPassWord(string pwdNew, int userId)
+        public async Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId)
         {
+            var funSet = Db.Queryable<SysFunSetting>().Where(m => m.IsDel == "0" && m.FunSetName == "瀵嗙爜瑙勫垯" && m.IsEnable == "NO").ToList().FirstOrDefault();
+            if (funSet != null)
+            {
+                bool t = false;
+                switch (funSet.FunSetNo)
+                {
+                    case "Fun052":  //鏁板瓧锛屽瓧姣嶏紝绗﹀彿
+                        t = Regex.IsMatch(pwdNewTwo, @"^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)(?=.*[^0-9A-Za-z].*)).{3,}");
+                        break;
+                    case "Fun053":  //瀛楁瘝锛屾暟瀛�
+                        t = Regex.IsMatch(pwdNewTwo, @"^(?:(?=.*[0-9].*)(?=.*[A-Za-z].*)).{2,}");
+                        break;
+                    case "Fun051":  //鏁板瓧锛屽瓧姣嶏紝绗﹀彿锛岄暱搴�
+                        t = Regex.IsMatch(pwdNewTwo, @"^(?=.*[0-9])(?=.*[a-zA-Z])(?=([\x21-\x7e]+)[^a-zA-Z0-9]).{8,30}");
+                        break;
+                    default:
+                        break;
+                }
+                if (!t)
+                {
+                    throw Oops.Bah("杈撳叆瀵嗙爜涓嶇鍚堝瘑鐮佽鍒�");
+                }
+            }
             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.PassWord == pwdNew)
-                            .SetColumns(s => s.SetPasswordTime == DateTime.Now)
-                            .ExecuteCommandAsync();
+                       .Where(s => s.Id == userId)
+                       .SetColumns(s => s.UpdateTime == DateTime.Now)
+                       .SetColumns(s => s.UpdateUser == _userManager.UserId)
+                       .SetColumns(s => s.PassWord == pwdNew)
+                       .SetColumns(s => s.SetPasswordTime == DateTime.Now)
+                       .ExecuteCommandAsync();
+
         }
         /// <summary>
         /// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜
diff --git a/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs b/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
index 2c01207..ee85053 100644
--- a/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
+++ b/Wms/WMS.IBLL/ISysServer/IUserInforServer.cs
@@ -64,7 +64,7 @@
         /// <param name="pwdNew">鏂板瘑鐮�</param>
         /// <param name="userId">鐢ㄦ埛id</param>
         /// <returns></returns>
-        Task<int> UptUserPassWord(string pwdNew, int userId);
+        Task<int> UptUserPassWord(string pwdNew,string pwdNewTwo, int userId);
 
         /// <summary>
         /// x澶╁悗鎻愰啋鐢ㄦ埛淇敼瀵嗙爜
diff --git a/Wms/Wms/Controllers/BasisController.cs b/Wms/Wms/Controllers/BasisController.cs
index 95d7afc..87c97b8 100644
--- a/Wms/Wms/Controllers/BasisController.cs
+++ b/Wms/Wms/Controllers/BasisController.cs
@@ -201,7 +201,7 @@
         {
             pwdOld = Md5Tools.CalcMd5(pwdOld);
             pwdNew = Md5Tools.CalcMd5(pwdNew);
-            pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo);
+            //pwdNewTwo = Md5Tools.CalcMd5(pwdNewTwo);
             //鑾峰彇褰撳墠鎿嶄綔鐢ㄦ埛id
             SysUserInfor user = await _userInforServer.GetUserInfoById(_userManager.UserId);
             if (user == null)
@@ -209,7 +209,7 @@
             if (user.PassWord != pwdOld)
                 throw Oops.Bah("鍘熷瘑鐮佷笉姝g‘");
             //淇敼瀵嗙爜
-            int i = await _userInforServer.UptUserPassWord(pwdNew, _userManager.UserId);
+            int i = await _userInforServer.UptUserPassWord(pwdNew, pwdNewTwo, _userManager.UserId);
             if (i <= 0)
                 throw Oops.Bah("淇敼瀵嗙爜澶辫触");
         }

--
Gitblit v1.8.0