Przeglądaj źródła

翻译人员(加密解密--> CRUD、其他相关接口代码更改、测试(本地、生产环境))

LEIYI 3 miesięcy temu
rodzic
commit
9e989e3273

+ 25 - 16
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -1638,7 +1638,9 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
 
             var _DeleFile = _sqlSugar.Queryable<Grp_DeleFile>().Where(a => a.Diid == dto.DiId && a.IsDel == 0 && a.Category == 970).ToList();
 
-            var translatorData = _sqlSugar.Queryable<Res_TranslatorLibrary>().Where(a => a.IsDel == 0).Select(x => new { x.Id, x.Name }).ToList();
+            var translatorData = _sqlSugar.Queryable<Res_TranslatorLibrary>().Where(a => a.IsDel == 0).Select(x => new TranslatorLibraryNameView() { Id = x.Id, Name = x.Name }).ToList();
+            foreach (var item in translatorData) EncryptionProcessor.DecryptProperties(item);
+
             return Ok(JsonView(true, "查询成功!", new { Delegation = groupInfos, SetData = data, DeleFile = _DeleFile , TranslatorData = translatorData }));
         }
 
@@ -3669,6 +3671,7 @@ WHERE
 
         #region 翻译人员
 
+
         /// <summary>
         /// 翻译人员库
         /// Init
@@ -3727,6 +3730,8 @@ WHERE
 
             var info = await _translatorRep.Query(x => x.Id == id).FirstAsync();
 
+            EncryptionProcessor.DecryptProperties(info);
+
             var view = _mapper.Map<TranslatorLibraryInfoView>(info);
 
             //var data1 = await _sqlSugar.Queryable<Grp_OfficialDutyLinkTranslator>().Where(x => x.TranslatorId == id).Select(x => x.Id).ToArrayAsync();
@@ -3752,30 +3757,33 @@ WHERE
         {
             if (dto.PortType < 1 || dto.PortType > 3) return Ok(JsonView(false, MsgTips.Port));
 
+            var name = AesEncryptionHelper.Encrypt(dto.Name);
+
             RefAsync<int> total = 0;
             var view = await _sqlSugar.Queryable<Res_TranslatorLibrary>()
                 .Where(x => x.IsDel == 0)
-                .WhereIF(!string.IsNullOrEmpty(dto.Name), x => x.Name.Contains(dto.Name))
-                .Select(x => new
+                .WhereIF(!string.IsNullOrEmpty(name), x => x.Name.Contains(name))
+                .Select(x => new TranslatorLibraryItemView()
                 {
-                    x.Id,
-                    x.Area,
-                    x.Name,
+                    Id = x.Id,
+                    Area = x.Area,
+                    Name = x.Name,
                     Sex = x.Sex == 0 ? "未设置" : x.Sex == 1 ? "男" : "女",
-                    x.Tel,
-                    x.Email,
-                    x.WechatNo,
-                    x.Language,
-                    x.Price,
-                    //x.Currency,
+                    Tel = x.Tel,
+                    Email = x.Email,
+                    WechatNo = x.WechatNo,
+                    Language = x.Language,
+                    Price = x.Price,
                     Currency = SqlFunc.Subqueryable<Sys_SetData>().Where(x1 => x1.Id == x.Currency).Select(x1 => x1.Name) ?? "-",
                     CreateUserName = SqlFunc.Subqueryable<Sys_Users>().Where(x1 => x1.Id == x.CreateUserId).Select(x1 => x1.CnName) ?? "-",
-                    x.CreateTime,
-                    x.Remark
+                    CreateTime = x.CreateTime,
+                    Remark = x.Remark
                 })
                 .OrderByDescending(x => x.CreateTime)
                 .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
 
+            foreach (var item in view) EncryptionProcessor.DecryptProperties(item);
+
             return Ok(JsonView(view, total));
         }
 
@@ -3836,6 +3844,7 @@ WHERE
 
             #region 参数处理
 
+            EncryptionProcessor.EncryptProperties(dto);
             var translatorInfo = _mapper.Map<Res_TranslatorLibrary>(dto);
 
             #endregion
@@ -3851,7 +3860,7 @@ WHERE
                 translatorInfo.CreateUserId = currUserInfo.UserId;
                 if (fileNames.Count > 0)
                 {
-                    translatorInfo.Files = JsonConvert.SerializeObject(fileNames);
+                    translatorInfo.Files = AesEncryptionHelper.Encrypt(JsonConvert.SerializeObject(fileNames));
                 }
 
                 var id = await _translatorRep.AddAsync(translatorInfo);
@@ -3902,7 +3911,7 @@ WHERE
                 }
                 if (fileNames.Count > 0)
                 {
-                    translatorInfo.Files = JsonConvert.SerializeObject(fileNames);
+                    translatorInfo.Files = AesEncryptionHelper.Encrypt(JsonConvert.SerializeObject(fileNames));
                 }
 
                 var upd = await _translatorRep

+ 10 - 0
OASystem/OASystem.Domain/Dtos/Resource/TranslatorLibraryDto.cs

@@ -1,4 +1,5 @@
 using Microsoft.AspNetCore.Http;
+using OASystem.Domain.Attributes;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -35,11 +36,13 @@ namespace OASystem.Domain.Dtos.Resource
         /// <summary>
         /// 所在地区
         /// </summary>
+        [Encrypted]
         public string Area { get; set; }
 
         /// <summary>
         /// 姓名
         /// </summary>
+        [Encrypted]
         public string Name { get; set; }
 
         /// <summary>
@@ -51,31 +54,37 @@ namespace OASystem.Domain.Dtos.Resource
         /// 照片
         /// 传输图片转base64字符串
         /// </summary>
+        [Encrypted]
         public string Photo { get; set; }
 
         /// <summary>
         /// 联系电话
         /// </summary>
+        [Encrypted]
         public string Tel { get; set; }
 
         /// <summary>
         /// 邮箱号
         /// </summary>
+        [Encrypted]
         public string Email { get; set; }
 
         /// <summary>
         /// 微信号
         /// </summary>
+        [Encrypted]
         public string WechatNo { get; set; }
 
         /// <summary>
         /// 其他社交账号
         /// </summary>
+        [Encrypted]
         public string OtherSocialAccounts { get; set; }
 
         /// <summary>
         /// 语种
         /// </summary>
+        [Encrypted]
         public string Language { get; set; }
 
         /// <summary>
@@ -96,6 +105,7 @@ namespace OASystem.Domain.Dtos.Resource
         /// <summary>
         /// 备注
         /// </summary>
+        [Encrypted]
         public string Remark { get; set; }
     }
 }

+ 19 - 10
OASystem/OASystem.Domain/Entities/Resource/Res_TranslatorLibrary.cs

@@ -1,4 +1,5 @@
-using System;
+using OASystem.Domain.Attributes;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -15,13 +16,15 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 所在地区
         /// </summary>
-        [SugarColumn(ColumnDescription = "所在地区", IsNullable = true, ColumnDataType = "nvarchar(100)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "所在地区", IsNullable = true, ColumnDataType = "nvarchar(200)")]
         public string Area { get; set; }
 
         /// <summary>
         /// 姓名
         /// </summary>
-        [SugarColumn(ColumnDescription = "翻译人员姓名", IsNullable = true, ColumnDataType = "nvarchar(100)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "翻译人员姓名", IsNullable = true, ColumnDataType = "nvarchar(200)")]
         public string Name { get; set; }
 
         /// <summary>
@@ -33,38 +36,43 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 照片
         /// </summary>
+        [Encrypted]
         [SugarColumn(ColumnDescription = "照片", IsNullable = true, ColumnDataType = "nvarchar(max)")]
         public string Photo { get; set; }
 
-
         /// <summary>
         /// 联系电话
         /// </summary>
-        [SugarColumn(ColumnDescription = "联系电话", IsNullable = true, ColumnDataType = "varchar(50)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "联系电话", IsNullable = true, ColumnDataType = "nvarchar(100)")]
         public string Tel { get; set; }
 
         /// <summary>
         /// 邮箱号
         /// </summary>
-        [SugarColumn(ColumnDescription = "邮箱号", IsNullable = true, ColumnDataType = "varchar(50)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "邮箱号", IsNullable = true, ColumnDataType = "nvarchar(100)")]
         public string Email { get; set; }
 
         /// <summary>
         /// 微信号
         /// </summary>
-        [SugarColumn(ColumnDescription = "微信号", IsNullable = true, ColumnDataType = "varchar(50)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "微信号", IsNullable = true, ColumnDataType = "nvarchar(100)")]
         public string WechatNo { get; set; }
 
         /// <summary>
         /// 其他社交账号
         /// </summary>
-        [SugarColumn(ColumnDescription = "其他社交账号", IsNullable = true, ColumnDataType = "varchar(200)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "其他社交账号", IsNullable = true, ColumnDataType = "nvarchar(500)")]
         public string OtherSocialAccounts { get; set; }
 
         /// <summary>
         /// 语种
         /// </summary>
-        [SugarColumn(ColumnDescription = "语种", IsNullable = true, ColumnDataType = "varchar(50)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "语种", IsNullable = true, ColumnDataType = "nvarchar(100)")]
         public string Language { get; set; }
 
         /// <summary>
@@ -82,7 +90,8 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 简历或其他证书
         /// </summary>
-        [SugarColumn(ColumnDescription = "简历或其他证书", IsNullable = true, ColumnDataType = "varchar(200)")]
+        [Encrypted]
+        [SugarColumn(ColumnDescription = "简历或其他证书", IsNullable = true, ColumnDataType = "text")]
         public string Files { get; set; }
 
     }

+ 44 - 0
OASystem/OASystem.Domain/ViewModels/Resource/TranslatorLibraryView.cs

@@ -1,4 +1,5 @@
 using Newtonsoft.Json;
+using OASystem.Domain.Attributes;
 using OASystem.Domain.Entities.Resource;
 using System;
 using System.Collections.Generic;
@@ -125,4 +126,47 @@ namespace OASystem.Domain.ViewModels.Resource
         public string FileName { get; set; }
         public string FilePathName { get; set; }
     }
+
+    public class TranslatorLibraryItemView 
+    {
+        public int Id { get; set; }
+
+        [Encrypted]
+        public string Area { get; set; }
+
+        [Encrypted]
+        public string Name { get; set; }
+
+        public string Sex { get; set; }
+        [Encrypted]
+        public string Tel { get; set; }
+
+        [Encrypted]
+        public string Email { get; set; }
+
+        [Encrypted]
+        public string WechatNo { get; set; }
+
+        [Encrypted]
+        public string Language { get; set; }
+
+        public decimal Price { get; set; }
+
+        public string Currency { get; set; }
+
+        public string CreateUserName { get; set; }
+
+        public DateTime CreateTime { get; set; }
+        [Encrypted]
+        public string Remark { get; set; }
+    }
+
+
+    public class TranslatorLibraryNameView
+    {
+        public int Id { get; set; }
+
+        [Encrypted]
+        public string Name { get; set; }
+    }
 }