Преглед изворни кода

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

yuanrf пре 5 месеци
родитељ
комит
09b643e2f0

+ 0 - 29
OASystem/OASystem.Api/Controllers/MarketCustomerResourcesController.cs

@@ -22,35 +22,6 @@ namespace OASystem.API.Controllers
             this._clientDataRepository = clientDataRepository;
         }
 
-
-        /// <summary>
-        /// 客户资料数据
-        /// 批量加密
-        /// </summary>
-        /// <returns></returns>
-        [HttpGet]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> MarketCustomerBatchEncryption()
-        {
-            JsonView jw = new JsonView();
-         
-            
-            var infos = await _clientDataRepository._sqlSugar.Queryable< Crm_NewClientData >().ToListAsync();
-
-            Stopwatch stopwatch = Stopwatch.StartNew();
-
-            foreach (var info in infos) EncryptionProcessor.EncryptProperties(info);
-
-            var updCount = await _clientDataRepository._sqlSugar.Updateable(infos).ExecuteCommandAsync();
-            stopwatch.Stop();
-
-            jw.Count = 200;
-            jw.Msg = $"AES加密耗时: {stopwatch.ElapsedMilliseconds} 毫秒";
-            jw.Count = updCount;
-
-            return Ok(jw);
-        }
-
         /// <summary>
         /// 客户资料数据
         /// 基础数据

+ 4 - 1
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -1,6 +1,7 @@
 using Aspose.Cells;
 using NPOI.SS.Formula.Functions;
 using OASystem.API.OAMethodLib;
+using OASystem.Domain.AesEncryption;
 using OASystem.Domain.Dtos.Statistics;
 using OASystem.Domain.Entities.Customer;
 using OASystem.Domain.Entities.Groups;
@@ -1978,7 +1979,9 @@ ORDER BY
                 int group_number = 0;
                 if (!string.IsNullOrEmpty(info.ClientUnit))
                 {
-                    var _NewClientData = await _sqlSugar.Queryable<Crm_NewClientData>().Where(it => it.IsDel == 0 && it.Client.Equals(info.ClientUnit)).FirstAsync();
+                    var _NewClientData = await _sqlSugar.Queryable<Crm_NewClientData>()
+                        .Where(it => it.IsDel == 0 && it.Client.Equals(AesEncryptionHelper.Encrypt(info.ClientUnit)))
+                        .FirstAsync();
                     if (_NewClientData != null)
                     {
                         var regionInfo = await _sqlSugar.Queryable<Sys_SetData>().Where(it => it.Id == _NewClientData.Lvlid).FirstAsync();

+ 1 - 0
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -2258,6 +2258,7 @@ And u.UId = {0} And u.FId = 1 ", dto.UserId);
                             ncd.CreateTime,
                         })
                         .ToListAsync();
+                    foreach (var item in marketData) EncryptionProcessor.DecryptProperties(item);
                     var marketDataGroup = marketData.GroupBy(x => x.CreateUserId).Select(g => new { CreateUserId = g.Key, Items = g.ToList(), Count = g.Count() });
 
                     var marketData2 = new List<dynamic>();

+ 17 - 1
OASystem/OASystem.Domain/ViewModels/CRM/NewClientDataView.cs

@@ -1,4 +1,5 @@
-using OASystem.Domain.Entities.Customer;
+using OASystem.Domain.Attributes;
+using OASystem.Domain.Entities.Customer;
 using Org.BouncyCastle.Asn1.Ocsp;
 using Org.BouncyCastle.Asn1.X9;
 using System;
@@ -27,11 +28,13 @@ namespace OASystem.Domain.ViewModels.CRM
         /// <summary>
         /// 权重
         /// </summary>
+        [Encrypted]
         public string Weight { get; set; }
 
         /// <summary>
         /// 联系人
         /// </summary>
+        [Encrypted]
         public string Contact { get; set; }
 
         /// <summary>
@@ -42,56 +45,67 @@ namespace OASystem.Domain.ViewModels.CRM
         /// <summary>
         /// 联系手机号
         /// </summary>
+        [Encrypted]
         public string Telephone { get; set; }
 
         /// <summary>
         /// 联系座机号
         /// </summary>
+        [Encrypted]
         public string Phone { get; set; }
 
         /// <summary>
         /// 邮件
         /// </summary>
+        [Encrypted]
         public string Email { get; set; }
 
         /// <summary>
         /// 职位
         /// </summary>
+        [Encrypted]
         public string Job { get; set; }
 
         /// <summary>
         /// 客户单位
         /// </summary>
+        [Encrypted]
         public string Client { get; set; }
 
         /// <summary>
         /// 客户单位简写
         /// </summary>
+        [Encrypted]
         public string ClientShort { get; set; }
 
         /// <summary>
         /// 所属区域(所在城市)
         /// </summary>
+        [Encrypted]
         public string Location { get; set; }
 
         /// <summary>
         /// 地址
         /// </summary>
+        [Encrypted]
         public string Address { get; set; }
 
         /// <summary>
         /// 护照
         /// </summary>
+        [Encrypted]
         public string Passport { get; set; }
 
         /// <summary>
         /// 护照日期
         /// </summary>
+        [Encrypted]
         public string? PassportDate { get; set; }
 
         /// <summary>
         /// 生日
         /// </summary>
+        [Encrypted]
         public string Birthday { get; set; }
 
         /// <summary>
@@ -118,11 +132,13 @@ namespace OASystem.Domain.ViewModels.CRM
         /// <summary>
         /// 微信
         /// </summary>
+        [Encrypted]
         public string WeChat { get; set; }
 
         /// <summary>
         /// 备注
         /// </summary>
+        [Encrypted]
         public string Remark { get; set; }
     }
 

+ 25 - 6
OASystem/OASystem.Infrastructure/Repositories/CRM/NewClientDataRepository.cs

@@ -219,7 +219,6 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 #region 交集
                 List<int> NewClientDataId1 = new List<int>();
                 List<int> NewClientDataId2 = new List<int>();
-                string NewClientDataId = "";
                 int state = 0;
 
                 #region 负责人
@@ -291,6 +290,13 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 {
                     intList = NewClientDataId2;
                 }
+
+                if (state == -1)
+                {
+                    if (intList.Count < 1) intList.Add(-1);
+                }
+
+                
                 #endregion
 
                 #region 省域条件
@@ -337,6 +343,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 }
                 #endregion
 
+
                 var NewClientDataView = new List<NewClientDataView>();
                 var count = 0;
                 string contact = dto.Contact, location = dto.Location, clientDto = dto.Client;
@@ -345,7 +352,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                     RefAsync<int> total = 0;
                     var clientDatas = await _sqlSugar.Queryable<Crm_NewClientData>()
                     .Where(x => x.IsDel == 0)
-                    .WhereIF(intList.Count > 0, x => intList.Contains(x.Id))
+                    .WhereIF(state == -1 && intList.Count > 0, x => intList.Contains(x.Id))
                     .WhereIF(dto.Lvlid != 0, x => x.Lvlid == dto.Lvlid) //地市州条件
                     .WhereIF(rangeSetDataList.Count > 0, x => rangeSetDataList.Contains(x.Lvlid)) //省域条件
                     .WhereIF(dto.Category > 0, x => x.Category == dto.Category) //客户类别
@@ -360,7 +367,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 {
                     var clientDatas = await _sqlSugar.Queryable<Crm_NewClientData>()
                     .Where(x => x.IsDel == 0)
-                    .WhereIF(intList.Count > 0, x => intList.Contains(x.Id))
+                    .WhereIF(state == -1 && intList.Count > 0, x => intList.Contains(x.Id))
                     .WhereIF(dto.Lvlid != 0, x => x.Lvlid == dto.Lvlid) //地市州条件
                     .WhereIF(rangeSetDataList.Count > 0, x => rangeSetDataList.Contains(x.Lvlid)) //省域条件
                     .WhereIF(dto.Category > 0, x => x.Category == dto.Category) //客户类别
@@ -390,7 +397,9 @@ namespace OASystem.Infrastructure.Repositories.CRM
                     }
                     else if (dto.PortType == 2 || dto.PortType == 3)
                     {
-                        clientDatas = clientDatas.Where(x => x.Contact.Contains(clientDto) || x.Location.Contains(clientDto) || x.Client.Contains(clientDto)).ToList();
+                        clientDatas = clientDatas.Where(x => (!string.IsNullOrEmpty(x.Contact) && x.Contact.Contains(clientDto)) ||
+                                                             (!string.IsNullOrEmpty(x.Location) && x.Location.Contains(clientDto)) ||
+                                                             (!string.IsNullOrEmpty(x.Client) && x.Client.Contains(clientDto))).ToList();
                     }
 
                     int pIndex = dto.PageIndex * dto.PageSize - dto.PageSize + 1;
@@ -398,7 +407,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                     int skip = (dto.PageIndex - 1) * dto.PageSize;
                     count = clientDatas.Count;
                     var pageData = clientDatas.OrderByDescending(x => x.CreateTime).Skip(skip).Take(dto.PageSize).ToList();
-                    NewClientDataView = _mapper.Map<List<NewClientDataView>>(clientDatas);
+                    NewClientDataView = _mapper.Map<List<NewClientDataView>>(pageData);
                 }
 
                 var setDatas = _sqlSugar.Queryable<Sys_SetData>().Where(x => x.IsDel == 0).ToList();
@@ -434,7 +443,17 @@ namespace OASystem.Infrastructure.Repositories.CRM
                         int index = 1;
                         foreach (var item in NewClientDataView)
                         {
-                            EncryptionProcessor.DecryptProperties(item); //解密
+                            //EncryptionProcessor.DecryptProperties(item); //解密
+
+                            item.Wechat = AesEncryptionHelper.Decrypt(item.Wechat);
+                            item.Job = AesEncryptionHelper.Decrypt(item.Job);
+                            item.Phone = AesEncryptionHelper.Decrypt(item.Phone);
+                            item.Telephone = AesEncryptionHelper.Decrypt(item.Telephone);
+                            item.Remark = AesEncryptionHelper.Decrypt(item.Remark);
+                             if(string.IsNullOrEmpty(contact)) item.Contact = AesEncryptionHelper.Decrypt(item.Contact);
+                            if (string.IsNullOrEmpty(clientDto)) item.Client = AesEncryptionHelper.Decrypt(item.Client);
+                            if (string.IsNullOrEmpty(location)) item.Location = AesEncryptionHelper.Decrypt(item.Location);
+
                             item.RowNumber = index;
                             item.CategoryStr = setDatas.Find(x => x.Id == item.Category)?.Name ?? "-";
                             item.LvlidStr = setDatas.Find(x => x.Id == item.Lvlid)?.Name ?? "-";

+ 7 - 1
OASystem/OASystem.Infrastructure/Repositories/Groups/DelegationInfoRepository.cs

@@ -527,7 +527,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     var clientData = await _sqlSugar.SqlQueryable<Crm_NewClientData>(clientSql).ToListAsync();
                     if (clientData.Count > 0)
                     {
-                        clientData1 = clientData.Select(it => new { it.Client,it.Contact,it.Telephone,it.Wechat }).ToList();
+                        clientData1 = clientData.Select(it => new
+                        {
+                            Client = AesEncryptionHelper.Decrypt(it.Client),
+                            Contact = AesEncryptionHelper.Decrypt(it.Contact),
+                            Telephone = AesEncryptionHelper.Decrypt(it.Telephone),
+                            Wechat = AesEncryptionHelper.Decrypt(it.Wechat)
+                        }).ToList();
                     }
 
                     result.Code = 0;