1
yanjinhui
2025-06-20 b7103dbef68e872c9222a36d7366d45ab031bb47
ÏîÄ¿´úÂë/ºó¶Ë/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs
@@ -18,6 +18,8 @@
using System.Runtime.InteropServices;
using System.IO;
using WIDESEAWCS_DTO.Telescopic;
using System.Reflection.PortableExecutable;
using Microsoft.AspNetCore.Mvc;
namespace WIDESEAWCS_SystemServices
{
@@ -31,8 +33,9 @@
        private readonly IRepository<Dt_Maintenance> _MainServer;
        private readonly IRepository<Sys_Role> _RoleServer;
        private readonly IRepository<Dt_AuthorizationRecord> _AuthorizatRecServer;
        private readonly IRepository<Sys_UserFace> _userFace;
        public Sys_UserService(IRepository<Dt_AuthorizationRecord> AuthorizatRecServer,IRepository<Sys_Role> RoleServer,IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService, IRepository<Dt_Maintenance> MainServer) : base(repository)
        public Sys_UserService(IRepository<Sys_UserFace> _userFace,IRepository<Dt_AuthorizationRecord> AuthorizatRecServer,IRepository<Sys_Role> RoleServer,IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService, IRepository<Dt_Maintenance> MainServer) : base(repository)
        {
            _faceServer = faceServer;
            _LoginhsyServer = LoginhsyServer;
@@ -693,7 +696,7 @@
                        UserTeam = addUserDTO.userteam,
                        EnableTime = addUserDTO.enable == 1 ? DateTime.Now : (DateTime?)null, //启用
                        DisableTime = addUserDTO.enable == 0 ? DateTime.Now : (DateTime?)null,//不启用
                    };
@@ -724,6 +727,7 @@
        public WebResponseContent DeleteUserData(string account)
        {
            try
            {
                // 2. æŸ¥è¯¢äººè„¸åº“分组 ID
@@ -739,15 +743,17 @@
                //dynamic resultObj = JsonConvert.DeserializeObject(apiResult);
                //if (resultObj.error_code == 0)
                //{
                    // ç™¾åº¦åˆ é™¤æˆåŠŸåŽï¼Œåˆ é™¤æ•°æ®åº“ä¸­çš„ç”¨æˆ·
                  var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault();
                // ç™¾åº¦åˆ é™¤æˆåŠŸåŽï¼Œåˆ é™¤æ•°æ®åº“ä¸­çš„ç”¨æˆ·
                var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault();
                var main = _MainServer.QueryData(x => x.UserAccount == account).FirstOrDefault();
                if (user != null&&main!=null)
                    {
                        BaseDal.DeleteData(user);
                var face = _userFace.QueryData(x => x.UserName == account).FirstOrDefault();
                if (user != null && main != null && face != null)
                {
                    BaseDal.DeleteData(user);
                    _MainServer.DeleteData(main);
                    _userFace.DeleteData(face);
                }
                    return WebResponseContent.Instance.OK("用户删除成功");
                return WebResponseContent.Instance.OK("用户删除成功");
                //}
                //else
                //{
@@ -936,22 +942,27 @@
            try
            {
                int totalCount = 0;
                var Role = _RoleServer.Db.Queryable<Sys_Role>();
                var query = Role.InnerJoin<Sys_User>((a, b) => a.RoleId == b.Role_Id);
                //var Role = _RoleServer.Db.Queryable<Sys_Role>();
                //var query = Role.InnerJoin<Sys_User>((a, b) => a.RoleId == b.Role_Id)
                //                .InnerJoin<Sys_UserFace>((a, b, c) => b.UserName == c.UserName);
                var User = BaseDal.Db.Queryable<Sys_User>();   //查出用户表
                var query = User.LeftJoin<Sys_UserFace>((a, b) => a.UserName == b.UserName);
                //搜索关键字
                if (!string.IsNullOrEmpty(pagination.searchKeyword))
                {
                    query = query.Where((a, b) =>
                    b.UserName.Contains(pagination.searchKeyword) ||
                    b.UserTrueName.Contains(pagination.searchKeyword) ||
                    b.PhoneNo.Contains(pagination.searchKeyword) ||
                    a.UserName.Contains(pagination.searchKeyword) ||
                    a.UserTrueName.Contains(pagination.searchKeyword) ||
                    a.PhoneNo.Contains(pagination.searchKeyword) ||
                    a.RoleName.Contains(pagination.searchKeyword));
                }
                //时间查询
                if (pagination.startDate.HasValue && pagination.endDate.HasValue)
                {
                    query = query.Where((a, b) => b.CreateDate >= pagination.startDate.Value && b.CreateDate <= pagination.endDate.Value);
                    query = query.Where((a, b) => a.CreateDate >= pagination.startDate.Value && a.CreateDate <= pagination.endDate.Value);
                }
                //排序
                if (!string.IsNullOrEmpty(pagination.sortField))
@@ -961,38 +972,38 @@
                    {
                        "CreateDate" => isAcs ? query.OrderBy((a, b) => b.CreateDate) : query.OrderByDescending((a, b) => b.CreateDate),
                        "CreateDate" => isAcs ? query.OrderBy((a, b) => a.CreateDate) : query.OrderByDescending((a, b) => a.CreateDate),
                        _ => query.OrderByDescending((a, b) => b.Creater) // é»˜è®¤æŒ‰åˆ›å»ºæ—¶é—´é™åº
                        _ => query.OrderByDescending((a, b) => a.Creater) // é»˜è®¤æŒ‰åˆ›å»ºæ—¶é—´é™åº
                    };
                }
                else
                {
                    query = query.OrderByDescending((a, b) => b.Creater);
                    query = query.OrderByDescending((a, b) => a.Creater);
                }
                var reslut = query.Select((a, b) => new
                { 
                  b.User_Id,
                  b.UserName,
                  b.UserTrueName,
                  b.Unit,
                  b.Userteam,
                  b.Role_Id,
                  b.IsLeader,
                  //b.RoleName,
                  b.CardNumber,
                  b.PhoneNo,
                  b.UserPwd,
                  b.DeptName,
                  b.Dept_Id,
                  b.Email,
                  b.Enable,
                  b.Gender,
                  b.HeadImageUrl,
                  b.Address,
                  b.CreateDate,
                  b.Creater,
                  a.User_Id,
                  a.UserName,
                  a.UserTrueName,
                  a.Unit,
                  a.Userteam,
                  a.Role_Id,
                  a.IsLeader,
                  a.CardNumber,
                  a.PhoneNo,
                  a.UserPwd,
                  a.DeptName,
                  a.Dept_Id,
                  a.Email,
                  a.Enable,
                  a.Gender,
                  //b.HeadImageUrl,
                  b.UserFaceImageName,
                  a.Address,
                  a.CreateDate,
                  a.Creater,
                  a.RoleName,
                }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount);
@@ -1017,7 +1028,37 @@
                return new WebResponseContent { Status = false, Message = ex.Message };
                }
            }
        /// <summary>
        /// æ‰¹é‡åˆ é™¤
        /// </summary>
        /// <param name="keys">用户id</param>
        /// <returns></returns>
        public WebResponseContent DelUserList(int[] keys)
        {
            WebResponseContent webResponse=new WebResponseContent();
            foreach (int key in keys)
            {
                var user = BaseDal.QueryData(x => x.User_Id == key).FirstOrDefault();
                if (user == null)
                {
                    return webResponse.Error("没有找到该用户");
                }
                var main = _MainServer.QueryData(x => x.UserAccount == user.UserName).FirstOrDefault();
                var face = _userFace.QueryData(x => x.UserName == user.UserName).FirstOrDefault();
                if (face==null)
                {
                    BaseDal.DeleteData(user);
                    _MainServer.DeleteData(main);
                }
                BaseDal.DeleteData(user);
                _MainServer.DeleteData(main);
                _userFace.DeleteData(face);
            }
            return webResponse.OK();
        }
    }
}