Parcourir la source

邀请资料UPDATE

yuanrf il y a 4 mois
Parent
commit
019ad33306

+ 158 - 37
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -19,6 +19,7 @@ using System.Data;
 using System.Diagnostics;
 using static OASystem.API.OAMethodLib.JWTHelper;
 using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
+using static QRCoder.PayloadGenerator.SwissQrCode;
 
 namespace OASystem.API.Controllers
 {
@@ -1379,18 +1380,34 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
 
                 var ExcludedKeyStr = new string[] { "快递费" };
                 var ClientKeyStr = new string[] { "邀请函翻译" };
-                var expable = Expressionable.Create<Res_InvitationOfficialActivityData>();
-                foreach (var key in ClientKeyStr)
+
+                List<Grp_DelegationInfo> _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0).OrderByDescending(it => it.JietuanTime).ToList();
+                List<Res_InvitationOfficialActivityData> _ioaDatas = _sqlSugar.Queryable<Res_InvitationOfficialActivityData>()
+                    .Where(it => it.IsDel == 0)
+                    .Select(x => new Res_InvitationOfficialActivityData
+                    {
+                        Country = x.Country,
+                        UnitName = x.UnitName,
+                        Contact = x.Contact,
+                        Field = x.Field,
+                    })
+                    .ToList();
+
+                foreach (var item in ExcludedKeyStr)
                 {
-                    expable = expable.And(it => !it.Contact.Contains(key));
+                    _ioaDatas = _ioaDatas.Where(x => string.IsNullOrWhiteSpace(x.UnitName) || !x.UnitName.Contains(item)).ToList();
                 }
-                foreach (var item in ExcludedKeyStr)
+
+                foreach (var item in ClientKeyStr)
                 {
-                    expable = expable.And(it => !it.UnitName.Contains(item));
+                    _ioaDatas = _ioaDatas.Where(x => string.IsNullOrWhiteSpace(x.Contact) || !x.Contact.Contains(item)).ToList();
                 }
 
-                List<Grp_DelegationInfo> _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0).OrderByDescending(it => it.JietuanTime).ToList();
-                List<Res_InvitationOfficialActivityData> _ioaDatas = _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().Where(it => it.IsDel == 0).Where(expable.ToExpression()).ToList();
+                foreach (var item in _ioaDatas)
+                {
+                    EncryptionProcessor.DecryptProperties(item);
+                }
+                
                 List<Sys_Users> _Users = _sqlSugar.Queryable<Sys_Users>().Where(it => it.IsDel == 0).ToList();
 
                 var _countryData = _ioaDatas.Select(it => it.Country).Distinct().ToList(); _countryData.Remove("");
@@ -1430,6 +1447,7 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
 
             var ExcludedKeyStr = new string[] { "快递费" };
             var ClientKeyStr = new string[] { "邀请函翻译" };
+            var columns = "Id,UnitName,Contact";
 
             try
             {
@@ -1442,62 +1460,133 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
                 #endregion
 
                 string sqlWhere = string.Empty;
-                if (!string.IsNullOrWhiteSpace(dto.Country)) { sqlWhere += string.Format(@" And i.Country like '%{0}%'", dto.Country); }
-                if (!string.IsNullOrWhiteSpace(dto.UnitName)) { sqlWhere += string.Format(@" And i.UnitName like '%{0}%'", dto.UnitName); }
-                if (!string.IsNullOrWhiteSpace(dto.Contact)) { sqlWhere += string.Format(@" And i.Contact like '%{0}%'", dto.Contact); }
-                if (!string.IsNullOrWhiteSpace(dto.Delegation)) { sqlWhere += string.Format(@" And i.Delegation like '%{0}%'", dto.Delegation); }
-                if (!string.IsNullOrWhiteSpace(dto.Field)) { sqlWhere += string.Format(@" And i.Field like '%{0}%'", dto.Field); }
-
-                if (dto.CreateUserId != 0 && !string.IsNullOrWhiteSpace(dto.CreateUserId.ToString())) { sqlWhere += string.Format(@" And i.CreateUserId={0}", dto.CreateUserId); }
-                if (!string.IsNullOrWhiteSpace(dto.StartCreateTime) && !string.IsNullOrWhiteSpace(dto.EndCreateTime))
+                if (!string.IsNullOrWhiteSpace(dto.Country)) { columns += ",Country"; }
+                //if (!string.IsNullOrWhiteSpace(dto.UnitName)) { columns += ",UnitName"; }
+                //if (!string.IsNullOrWhiteSpace(dto.Contact)) { columns += ",Contact"; }
+                if (!string.IsNullOrWhiteSpace(dto.Delegation)) { columns += ",Delegation"; }
+                if (!string.IsNullOrWhiteSpace(dto.Field)) { columns += ",Field"; }
+                //if (dto.CreateUserId != 0 && !string.IsNullOrWhiteSpace(dto.CreateUserId.ToString())) { columns += ",CreateUserId"; }
+                //if (!string.IsNullOrWhiteSpace(dto.StartCreateTime) && !string.IsNullOrWhiteSpace(dto.EndCreateTime))
+                //{
+                //    columns += ",CreateUserId";
+                //}
+
+                DateTime endTime = new DateTime();
+                var InvitationOfficialActivityDataList = _sqlSugar.Queryable<Res_InvitationOfficialActivityData>()
+                                                                  .Where(x => x.IsDel == 0)
+                                                                  .WhereIF(dto.CreateUserId != 0 && !string.IsNullOrWhiteSpace(dto.CreateUserId.ToString()), x => x.CreateUserId == dto.CreateUserId)
+                                                                  .WhereIF(DateTime.TryParse(dto.StartCreateTime , out DateTime startTime) && DateTime.TryParse(dto.EndCreateTime, out  endTime), x => x.CreateTime >= startTime && x.CreateTime <= endTime )
+                                                                  .Select(columns)
+                                                                  .ToList();
+
+                foreach (var item in InvitationOfficialActivityDataList)
                 {
-                    sqlWhere += string.Format(@" And i.CreateTime between '{0}' and '{1}'", dto.StartCreateTime, dto.EndCreateTime);
+                    EncryptionProcessor.DecryptProperties(item);
                 }
-                sqlWhere += string.Format(@"And i.Isdel={0}", 0);
+                InvitationOfficialActivityDataList = InvitationOfficialActivityDataList.WhereIF(!string.IsNullOrWhiteSpace(dto.Country), x => !string.IsNullOrWhiteSpace(x.Country) && x.Country.Contains(dto.Country))
+                                                                                       .WhereIF(!string.IsNullOrWhiteSpace(dto.UnitName), x => !string.IsNullOrWhiteSpace(x.UnitName) && x.UnitName.Contains(dto.UnitName))
+                                                                                       .WhereIF(!string.IsNullOrWhiteSpace(dto.Contact), x => !string.IsNullOrWhiteSpace(x.Contact) && x.Contact.Contains(dto.Contact))
+                                                                                       .WhereIF(!string.IsNullOrWhiteSpace(dto.Delegation), x => !string.IsNullOrWhiteSpace(x.Delegation) && x.Delegation.Contains(dto.Delegation))
+                                                                                       .WhereIF(!string.IsNullOrWhiteSpace(dto.Field), x => !string.IsNullOrWhiteSpace(x.Field) && x.Field.Contains(dto.Field))
+                                                                                       .ToList();
 
                 foreach (var item in ExcludedKeyStr)
                 {
-                    sqlWhere += $" And i.UnitName not like '%{item}%' ";
+                    InvitationOfficialActivityDataList = InvitationOfficialActivityDataList.Where(x => string.IsNullOrWhiteSpace(x.UnitName) || !x.UnitName.Contains(item)).ToList();
+                    //sqlWhere += $" And i.UnitName not like '%{item}%' ";
                 }
 
                 foreach (var item in ClientKeyStr)
                 {
-                    sqlWhere += $" And i.Contact not like '%{item}%' ";
+                    InvitationOfficialActivityDataList = InvitationOfficialActivityDataList.Where(x => string.IsNullOrWhiteSpace(x.Contact) || !x.Contact.Contains(item)).ToList();
+                    //sqlWhere += $" And i.Contact not like '%{item}%' ";
                 }
 
-                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
-                {
-                    Regex r = new Regex("And");
-                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
-                }
-                string sql = string.Format(@"Select ROW_NUMBER() Over(Order By i.CreateTime Desc) As Row_Number,
-                                             i.*,u.CnName As CreateUserName 
-                                             From Res_InvitationOfficialActivityData i 
-                                             Left Join Sys_Users u On i.CreateUserId = u.Id {0}", sqlWhere);
+
+                var ids = InvitationOfficialActivityDataList.Select(x => x.Id);
 
                 RefAsync<int> totalCount = 0;
 
-                var _ivitiesViews = await _sqlSugar.SqlQueryable<InvitationOfficialActivityDataView>(sql).ToPageListAsync(dto.PageIndex, dto.PageSize, totalCount);
+                var _ivitiesViews = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>()
+                                             .LeftJoin<Sys_Users>((a, b) => b.IsDel == 0 && a.CreateUserId == b.Id)
+                                             .Where((a, b) => ids.Contains(a.Id))
+                                             .OrderByDescending((a, b) => a.CreateTime)
+                                             .Select((a, b) => new InvitationOfficialActivityDataView
+                                             {
+                                                 FaceBook = a.FaceBook,
+                                                 Id = a.Id,
+                                                 CreateUserId = a.CreateUserId,
+                                                 IsDel = 0,
+                                                 Address = a.Address,
+                                                 Background = a.Background,
+                                                 City = a.City,
+                                                 Contact = a.Contact,
+                                                 Country = a.Country,
+                                                 CreateTime = a.CreateTime,
+                                                 CreateUserName = b.CnName,
+                                                 Delegation = a.Delegation,
+                                                 Email = a.Email,
+                                                 Fax = a.Fax,
+                                                 Field = a.Field,
+                                                 FilePath = a.FilePath,
+                                                 Ins = a.Ins,
+                                                 WeChat = a.WeChat,
+                                                 UnitWeb = a.UnitWeb,
+                                                 UnitName = a.UnitName,
+                                                 UnitInfo = a.UnitInfo,
+                                                 Tel = a.Tel,
+                                                 SndFilePath = a.SndFilePath,
+                                                 SndFileName = a.SndFileName,
+                                                 Remark = a.Remark,
+                                                 OtherInfo = a.OtherInfo,
+                                                 Job = a.Job
+                                             })
+                                             .ToPageListAsync(dto.PageIndex, dto.PageSize, totalCount);
+
+                var allGroupIds = new HashSet<int>();
+                foreach (var item in _ivitiesViews)
+                {
+                    EncryptionProcessor.DecryptProperties(item);    
 
-                //List<Grp_DelegationInfo> _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>().ToList();
+                    if (!string.IsNullOrEmpty(item.Delegation))
+                    {
+                        allGroupIds.UnionWith(item.Delegation.Split(',').Select(x =>
+                        {
+                            int id;
+                            if (int.TryParse(x, out id)) return id;
+                            return 0; 
+                        }).Where(id => id != 0)); 
+                    }
+                }
+
+                var _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>()
+                    .Where(x => allGroupIds.Contains(x.Id) && x.IsDel == 0)
+                    .ToList()
+                    .GroupBy(x => x.Id) 
+                    .ToDictionary(group => group.Key, group => group.Select(g => g.TeamName)); 
 
                 foreach (var item in _ivitiesViews)
                 {
                     string groupNameStr = "";
                     if (!string.IsNullOrEmpty(item.Delegation))
                     {
-                        int[] groupIds = item.Delegation.Split(',').Select(x =>
+                        var groupIds = item.Delegation.Split(',').Select(x =>
                         {
                             int id;
                             if (int.TryParse(x, out id)) return id;
-                            else return id;
-                        }).ToArray();
+                            return 0; 
+                        })
+                        .Where(id => id != 0)
+                        .ToArray(); 
 
-                        var _DelegationInfos = _sqlSugar.Queryable<Grp_DelegationInfo>().Where(x => groupIds.Contains(x.Id) && x.IsDel == 0).ToList();
-                        foreach (var group in _DelegationInfos)
+                        foreach (var id in groupIds)
                         {
-                            groupNameStr += $"{group.TeamName},";
+                            if (_DelegationInfos.ContainsKey(id))
+                            {
+                                groupNameStr += string.Join("", _DelegationInfos[id]) + ",";
+                            }
                         }
+
                         if (groupNameStr.Length > 1)
                         {
                             groupNameStr = groupNameStr.Substring(0, groupNameStr.Length - 1);
@@ -1514,7 +1603,39 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
                 return Ok(JsonView(false, ex.Message));
             }
         }
-        
+
+        //[HttpPost]
+        //public  IActionResult EncipherInvitationOfficialActivityData()
+        //{
+
+        //    var jw = JsonView(false);
+        //    var List_DB = _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().ToList();
+        //    try
+        //    {
+        //        //foreach (var item in List_DB)
+        //        //{
+        //        //    EncryptionProcessor.DecryptProperties(item);
+        //        //}
+
+        //        _sqlSugar.BeginTran();
+        //        foreach (var item in List_DB)
+        //        {
+        //            EncryptionProcessor.EncryptProperties(item);
+        //        }
+
+        //        var updateRow =  _sqlSugar.Updateable<Res_InvitationOfficialActivityData>(List_DB).ExecuteCommand();
+        //        jw = JsonView(true, "success", "修改行数:" + updateRow);
+        //        _sqlSugar.CommitTran();
+        //    }
+        //    catch (Exception ex)
+        //    {
+        //        _sqlSugar.RollbackTran();
+        //        jw.Msg = ex.Message;
+        //    }
+
+        //    return Ok(jw);
+        //}
+
         /// <summary>
         /// 根据商邀资料Id查询信息
         /// </summary>

+ 23 - 1
OASystem/OASystem.Domain/Entities/Resource/Res_InvitationOfficialActivityData.cs

@@ -1,4 +1,5 @@
-using System;
+using OASystem.Domain.Attributes;
+using System;
 using System.Collections.Generic;
 using System.Diagnostics.Metrics;
 using System.Linq;
@@ -19,109 +20,130 @@ namespace OASystem.Domain.Entities.Resource
         /// 邀请方国家
         /// </summary>
         [SugarColumn(IsNullable =true,ColumnDataType ="varchar(150)")]
+        [Encrypted]
         public string Country { get; set; }
         /// <summary>
         /// 城市
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(150)")]
+        [Encrypted]
         public string City { get; set; }
         /// <summary>
         /// 邀请方名称
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(225)")]
+        [Encrypted]
         public string UnitName { get; set; }
         /// <summary>
         ///邀请方官网
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(150)")]
+        [Encrypted]
         public string UnitWeb { get; set; }
         /// <summary>
         /// 涉及领域
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(150)")]
+        [Encrypted]
         public string Field { get; set; }
         /// <summary>
         /// 邀请方地址
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(225)")]
+        [Encrypted]
         public string Address { get; set; }
         /// <summary>
         /// 邀请方信息
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        [Encrypted]
         public string UnitInfo { get; set; }
         /// <summary>
         /// 联系人
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Contact { get; set; }
         /// <summary>
         /// 职务
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Job { get; set; }
         /// <summary>
         /// 联系电话
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Tel { get; set; }
         /// <summary>
         /// 电子邮箱
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Email { get; set; }
         /// <summary>
         /// 微信
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string WeChat { get; set; }
         /// <summary>
         /// fb
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string FaceBook { get; set; }
         /// <summary>
         /// ins
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Ins { get; set; }
         /// <summary>
         /// 团名
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Delegation { get; set; }
 
         /// <summary>
         /// 文件地址
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string FilePath { get; set; }
 
         /// <summary>
         /// 文件地址
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
+        [Encrypted]
         public string SndFileName { get; set; }
 
         /// <summary>
         /// 修改版文件地址
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string SndFilePath { get; set; }
         /// <summary>
         /// 传真号码
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [Encrypted]
         public string Fax { get; set; }
         /// <summary>
         /// 其他信息
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        [Encrypted]
         public string OtherInfo { get; set; }
         /// <summary>
         /// 背景
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        [Encrypted]
         public string Background { get; set; }
     }
 }

+ 21 - 18
OASystem/OASystem.Infrastructure/Repositories/Groups/InvitationOfficialActivitiesRepository.cs

@@ -1,8 +1,10 @@
 using AutoMapper;
 using MathNet.Numerics.Statistics.Mcmc;
 using Newtonsoft.Json;
+using NPOI.SS.Formula.Eval;
 using NPOI.SS.Formula.Functions;
 using OASystem.Domain;
+using OASystem.Domain.AesEncryption;
 using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Entities.Financial;
 using OASystem.Domain.Entities.Groups;
@@ -15,6 +17,7 @@ using System.Linq;
 using System.Security.Cryptography;
 using System.Text;
 using System.Threading.Tasks;
+using static NPOI.HSSF.Util.HSSFColor;
 
 namespace OASystem.Infrastructure.Repositories.Groups
 {
@@ -313,6 +316,7 @@ Order By i.id  Desc ", sqlWhere);
                     res_InvitationData.Country = dto.InviterArea;
                     res_InvitationData.UnitName = dto.Inviter;
                     res_InvitationData.Delegation = dto.DiId.ToString();
+                    EncryptionProcessor.EncryptProperties(res_InvitationData);
                     Res_InvitationOfficialActivityData ifNullUp = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().FirstAsync
                         (a => a.Country == res_InvitationData.Country && a.City == res_InvitationData.City && a.UnitName == res_InvitationData.UnitName && a.IsDel == 0);
                     if (ifNullUp == null)///添加或修改商邀资料
@@ -336,14 +340,14 @@ Order By i.id  Desc ", sqlWhere);
                                                     .Where(a => a.Id == ifNullUp.Id)
                                                     .SetColumns(a => new Res_InvitationOfficialActivityData
                                                     {
-                                                        Address = dto.Address,
-                                                        Contact = dto.Contact,
-                                                        Job = dto.Job,
-                                                        Tel = dto.Tel,
-                                                        Email = dto.Email,
-                                                        Fax = dto.Fax,
-                                                        //OtherInfo = dto.OtherInformation,
-                                                        Remark = dto.OtherInformation,
+                                                        Address = res_InvitationData.Address,
+                                                        Contact = res_InvitationData.Contact,
+                                                        Job = res_InvitationData.Job,
+                                                        Tel = res_InvitationData.Tel,
+                                                        Email = res_InvitationData.Email,
+                                                        Fax = res_InvitationData.Fax,
+                                                        //OtherInfo = res_InvitationData.OtherInformation,
+                                                        //Remark = res_InvitationData.Remark,
                                                     })
                                                     .ExecuteCommandAsync();
                     }
@@ -448,13 +452,12 @@ Order By i.id  Desc ", sqlWhere);
                     Res_InvitationOfficialActivityData res_InvitationData = _mapper.Map<Res_InvitationOfficialActivityData>(dto);
                     res_InvitationData.Country = dto.InviterArea;
                     res_InvitationData.UnitName = dto.Inviter;
+                    res_InvitationData.Delegation = dto.DiId.ToString();
+                    EncryptionProcessor.EncryptProperties(res_InvitationData);
                     Res_InvitationOfficialActivityData ifNullUp = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().FirstAsync
                         (a => a.Country == res_InvitationData.Country && a.City == res_InvitationData.City && a.UnitName == res_InvitationData.UnitName && a.IsDel == 0);
                     if (ifNullUp == null)///添加或修改商邀资料
                     {
-                        res_InvitationData.Remark = dto.OtherInformation;
-                        res_InvitationData.Delegation = dto.DiId.ToString();
-
                         int DataID = await _sqlSugar.Insertable(res_InvitationData).ExecuteReturnIdentityAsync();
                         if (DataID != 0)
                         {
@@ -472,13 +475,13 @@ Order By i.id  Desc ", sqlWhere);
                                                     .Where(a => a.Id == ifNullUp.Id)
                                                     .SetColumns(a => new Res_InvitationOfficialActivityData
                                                     {
-                                                        Contact = dto.Contact,
-                                                        Tel = dto.Tel,
-                                                        Job = dto.Job,
-                                                        Email = dto.Email,
-                                                        Fax = dto.Fax,
-                                                        Address = dto.Address,
-                                                        Remark = dto.OtherInformation,
+                                                        Contact = res_InvitationData.Contact,
+                                                        Tel = res_InvitationData.Tel,
+                                                        Job = res_InvitationData.Job,
+                                                        Email = res_InvitationData.Email,
+                                                        Fax = res_InvitationData.Fax,
+                                                        Address = res_InvitationData.Address,
+                                                        //Remark = res_InvitationData.OtherInformation,
                                                     })
                                                     .ExecuteCommandAsync();
                     }

+ 25 - 23
OASystem/OASystem.Infrastructure/Repositories/Resource/InvitationOfficialActivityDataRepository.cs

@@ -1,6 +1,7 @@
 using AutoMapper;
 using Newtonsoft.Json;
 using OASystem.Domain;
+using OASystem.Domain.AesEncryption;
 using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Dtos.Resource;
 using OASystem.Domain.Entities.Customer;
@@ -203,7 +204,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
             var res = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>()
                                      .Where(x => x.Id == id && x.IsDel == 0)
                                      .FirstAsync();
-            
+            EncryptionProcessor.DecryptProperties(res);
             var _view = _mapper.Map<IOAInfoView>(res);
             return new JsonView() { Code = StatusCodes.Status200OK, Msg = "操作成功", Data = _view };
         }
@@ -232,7 +233,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 }
 
                 #endregion
-
+                EncryptionProcessor.EncryptProperties(_info);
                 var id = await _sqlSugar.Insertable(_info).ExecuteReturnIdentityAsync();
                 if (id < 1) return result;
 
@@ -262,29 +263,30 @@ namespace OASystem.Infrastructure.Repositories.Resource
 
                     fileNameJsonStr = JsonConvert.SerializeObject(fileNames);
                 }
-
+                _info.SndFileName = fileNameJsonStr;
+                EncryptionProcessor.EncryptProperties(_info);
                 bool res = await UpdateAsync(a => a.Id == dto.Id, a => new Res_InvitationOfficialActivityData
                 {
-                    Country = dto.Country,
-                    City = dto.City,
-                    UnitName = dto.UnitName,
-                    UnitWeb = dto.UnitWeb,
-                    Field = dto.Field,
-                    Address = dto.Address,
-                    UnitInfo = dto.UnitInfo,
-                    Contact = dto.Contact,
-                    Job = dto.Job,
-                    Tel = dto.Tel,
-                    Email = dto.Email,
-                    WeChat = dto.WeChat,
-                    FaceBook = dto.FaceBook,
-                    Ins = dto.Ins,
-                    Delegation = dto.Delegation,
-                    FilePath = dto.FilePath,
-                    SndFileName = fileNameJsonStr,
-                    Fax = dto.Fax,
-                    //CreateUserId = dto.CreateUserId,
-                    Remark = dto.Remark
+                    Country = _info.Country,
+                    City = _info.City,
+                    UnitName = _info.UnitName,
+                    UnitWeb = _info.UnitWeb,
+                    Field = _info.Field,
+                    Address = _info.Address,
+                    UnitInfo = _info.UnitInfo,
+                    Contact = _info.Contact,
+                    Job = _info.Job,
+                    Tel = _info.Tel,
+                    Email = _info.Email,
+                    WeChat = _info.WeChat,
+                    FaceBook = _info.FaceBook,
+                    Ins = _info.Ins,
+                    Delegation = _info.Delegation,
+                    FilePath = _info.FilePath,
+                    SndFileName = _info.SndFileName,
+                    Fax = _info.Fax,
+                    //CreateUserId = _info.CreateUserId,
+                    Remark = _info.Remark
                 });
 
                 if (!res) return result;

+ 17 - 1
OASystem/OASystem.Infrastructure/Repositories/Resource/OfficialActivitiesRepository.cs

@@ -4,6 +4,7 @@ using MathNet.Numerics.Statistics.Mcmc;
 using Newtonsoft.Json;
 using NPOI.SS.Formula.Functions;
 using OASystem.Domain;
+using OASystem.Domain.AesEncryption;
 using OASystem.Domain.Dtos.Resource;
 using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.Entities.Resource;
@@ -205,6 +206,7 @@ FROM
             res_InvitationData.Job = dto.Job;
             res_InvitationData.Tel = dto.Tel;
             res_InvitationData.Field = dto.Field;
+            EncryptionProcessor.EncryptProperties(res_InvitationData);
 
             Res_InvitationOfficialActivityData ifNullUp = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>().FirstAsync
                 (a => a.Country == res_InvitationData.Country && a.City == res_InvitationData.City && a.UnitName == res_InvitationData.UnitName && a.IsDel == 0 && a.Address == res_InvitationData.Address);
@@ -216,7 +218,21 @@ FROM
             else
             {
                 res_InvitationData.Id = ifNullUp.Id;
-                await _sqlSugar.Updateable<Res_InvitationOfficialActivityData>(res_InvitationData).ExecuteCommandAsync();
+                await _sqlSugar.Updateable<Res_InvitationOfficialActivityData>(res_InvitationData)
+                        .UpdateColumns(x => new
+                    {
+                        x.Country,
+                        x.City,
+                        x.UnitName,
+                        x.Delegation,
+                        x.Address,
+                        x.CreateUserId,
+                        x.Contact,
+                        x.Job,
+                        x.Tel,
+                        x.Field
+                    })
+                        .ExecuteCommandAsync();
             }
 
             if (dto.Status == 1)//添加