Browse Source

车资料(加密解密 CRUD、其他相关接口代码更改、测试(本地、生产环境))

LEIYI 3 months ago
parent
commit
dd86fe80ca

+ 59 - 137
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -16,7 +16,6 @@ using OASystem.Domain.ViewModels.QiYeWeChat;
 using OASystem.Infrastructure.Repositories.Groups;
 using Org.BouncyCastle.Utilities.Encoders;
 using System.Data;
-using XAct.Users;
 using static OASystem.API.OAMethodLib.JWTHelper;
 using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
 
@@ -111,25 +110,15 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryCarData(QueryCarDataDto dto)
         {
-            try
+            Result LocalGuide = await _carDataRep.QueryCarData(dto);
+            if (LocalGuide.Code == 0)
             {
-                Result LocalGuide = await _carDataRep.QueryCarData(dto);
-                if (LocalGuide.Code == 0)
-                {
-                    return Ok(JsonView(true, "查询成功", LocalGuide.Data));
-                }
-                else
-                {
-                    return Ok(JsonView(false, LocalGuide.Msg));
-                }
+                return Ok(JsonView(true, "查询成功", LocalGuide.Data));
             }
-            catch (Exception)
+            else
             {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
+                return Ok(JsonView(false, LocalGuide.Msg));
             }
-
-
         }
 
         /// <summary>
@@ -140,31 +129,26 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryCarSelect()
         {
-            try
+            var carData = _carDataRep.QueryDto<Res_CarData, CarDataSelectView>().ToList();
+            if (carData.Count == 0)
             {
-                var CarData = _carDataRep.QueryDto<Res_CarData, CarDataSelectView>().ToList();
-                if (CarData.Count == 0)
-                {
-                    return Ok(JsonView(false, "暂无数据!"));
-                }
-                CarData.Add(new CarDataSelectView { Id = 0, UnitArea = "全部" });
-                CarData = CarData.Where((x, i) => CarData.FindIndex(z => z.UnitArea == x.UnitArea) == i).ToList();
-                CarData = CarData.OrderBy(x => x.Id).ToList();
-                List<CarDataSelectView> data = new List<CarDataSelectView>();
-                foreach (CarDataSelectView car in CarData)
-                {
-                    if (!string.IsNullOrWhiteSpace(car.UnitArea))
-                    {
-                        data.Add(car);
-                    }
-                }
-                return Ok(JsonView(true, "查询成功", data));
+                return Ok(JsonView(false, "暂无数据!"));
             }
-            catch (Exception)
+
+            foreach (var item in carData) EncryptionProcessor.DecryptProperties(item);
+
+            carData.Add(new CarDataSelectView { Id = 0, UnitArea = "全部" });
+            carData = carData.Where((x, i) => carData.FindIndex(z => z.UnitArea == x.UnitArea) == i).ToList();
+            carData = carData.OrderBy(x => x.Id).ToList();
+            var data = new List<CarDataSelectView>();
+            foreach (CarDataSelectView car in carData)
             {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
+                if (!string.IsNullOrWhiteSpace(car.UnitArea))
+                {
+                    data.Add(car);
+                }
             }
+            return Ok(JsonView(true, "查询成功", data));
         }
 
         /// <summary>
@@ -176,12 +160,12 @@ namespace OASystem.API.Controllers
         public async Task<IActionResult> QuerCarDataDetailById(QueryCarDataDetailDto dto)
         {
             string sql = string.Format(@" Select * From Res_CarData With(Nolock) Where Id = {0} ", dto.Id);
-            CarDataDetailDataView info = _resItemInfoRep._sqlSugar.SqlQueryable<CarDataDetailDataView>(sql).First();
+            var info = _resItemInfoRep._sqlSugar.SqlQueryable<CarDataDetailDataView>(sql).First();
             if (info == null)
             {
                 return Ok(JsonView(false, "未找到相关数据!"));
             }
-
+            EncryptionProcessor.DecryptProperties(info);
             return Ok(JsonView(true, "查询成功", info));
         }
 
@@ -194,43 +178,24 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> AddCarData(AddCarDataDto dto)
         {
-            try
-            {
-                if (dto.UnitArea == "")
-                {
-                    return Ok(JsonView(false, "请检查单位区域是否填写!"));
-                }
-                if (dto.UnitName == "")
-                {
-                    return Ok(JsonView(false, "请检查单位名称是否填写!"));
-                }
-                if (dto.Contact == "")
-                {
-                    return Ok(JsonView(false, "请检查单位联系人是否填写!"));
-                }
-                if (dto.ContactTel == "")
-                {
-                    return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
-                }
-
-                var carDada = _carDataRep.QueryDto<Res_CarData, CarDataView>(a => a.UnitArea == dto.UnitArea && a.UnitName == dto.UnitName && a.Contact == dto.Contact && a.ContactTel == dto.ContactTel).ToList();
-                if (carDada.Count != 0)
-                {
-                    return Ok(JsonView(false, "该信息已存在,请勿重复添加!"));
-                }
-                Res_CarData _CarData = _mapper.Map<Res_CarData>(dto);
-                int id = await _carDataRep.AddAsyncReturnId(_CarData);
-                if (id == 0)
-                {
-                    return Ok(JsonView(false, "添加失败!"));
-                }
-                return Ok(JsonView(true, "添加成功", new { Id = id }));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
+            if (string.IsNullOrEmpty(dto.UnitArea)) return Ok(JsonView(false, "请检查单位区域是否填写!"));
+            if (string.IsNullOrEmpty(dto.UnitName)) return Ok(JsonView(false, "请检查单位名称是否填写!"));
+            if (string.IsNullOrEmpty(dto.Contact)) return Ok(JsonView(false, "请检查单位联系人是否填写!"));
+            if (string.IsNullOrEmpty(dto.ContactTel)) return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
+
+            var carDadaInfo = _carDataRep
+                .QueryDto<Res_CarData, CarDataView>(a => a.UnitArea == dto.UnitArea &&
+                                                         a.UnitName == dto.UnitName &&
+                                                         a.Contact == dto.Contact &&
+                                                         a.ContactTel == dto.ContactTel
+                                                    )
+                .First();
+            if (carDadaInfo != null) return Ok(JsonView(false, "该信息已存在,请勿重复添加!"));
+            var carData = _mapper.Map<Res_CarData>(dto);
+            EncryptionProcessor.EncryptProperties(carData);
+            int id = await _carDataRep.AddAsyncReturnId(carData);
+            if (id < 1) return Ok(JsonView(false, "添加失败!"));
+            return Ok(JsonView(true, "添加成功", new { Id = id }));
         }
 
         /// <summary>
@@ -241,57 +206,22 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> UpCarData(UpCarDataDto dto)
         {
-            try
-            {
-                if (dto.UnitArea == "")
-                {
-                    return Ok(JsonView(false, "请检查单位区域是否填写!"));
-                }
-                if (dto.UnitName == "")
-                {
-                    return Ok(JsonView(false, "请检查单位名称是否填写!"));
-                }
-                if (dto.Contact == "")
-                {
-                    return Ok(JsonView(false, "请检查单位联系人是否填写!"));
-                }
-                if (dto.ContactTel == "")
-                {
-                    return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
-                }
-                bool res = await _carDataRep.UpdateAsync(a => a.Id == dto.Id, a => new Res_CarData
-                {
-                    UnitArea = dto.UnitArea,
-                    UnitName = dto.UnitName,
-                    Address = dto.Address,
-                    Contact = dto.Contact,
-                    ContactTel = dto.ContactTel,
-                    ContactEmail = dto.ContactEmail,
-                    ContactFax = dto.ContactFax,
-                    CarDes = dto.CarDes,
-                    CarPicPaths = dto.CarPicPaths,
-                    OtherInfo = dto.OtherInfo,
-                    Score = dto.Score,
-                    QualificationScore = dto.QualificationScore,
-                    CarAgeScore = dto.CarAgeScore,
-                    CleanImgScore = dto.CleanImgScore,
-                    SmellScore = dto.SmellScore,
-                    WaterPaperScore = dto.WaterPaperScore,
-                    HardwareScore = dto.HardwareScore,
-                    TimeScore = dto.TimeScore,
-                    SafetyScore = dto.SafetyScore,
-                    DrivingAgeScore = dto.DrivingAgeScore,
-                    Remark = dto.Remark,
-                });
-                if (!res) { return Ok(JsonView(false, "修改失败!")); }
-                return Ok(JsonView(true, "修改成功"));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
+            if (string.IsNullOrEmpty(dto.UnitArea)) return Ok(JsonView(false, "请检查单位区域是否填写!"));
+            if (string.IsNullOrEmpty(dto.UnitName)) return Ok(JsonView(false, "请检查单位名称是否填写!"));
+            if (string.IsNullOrEmpty(dto.Contact)) return Ok(JsonView(false, "请检查单位联系人是否填写!"));
+            if (string.IsNullOrEmpty(dto.ContactTel)) return Ok(JsonView(false, "请检查联系方式是否填写正确!"));
+
+            var carData = _mapper.Map<Res_CarData>(dto);
+            EncryptionProcessor.EncryptProperties(carData);
+
+            var res = await _sqlSugar.Updateable(carData)
+                .IgnoreColumns(x => new { x.CreateUserId, x.CreateTime, x.DeleteTime, x.DeleteUserId, x.IsDel })
+                .ExecuteCommandAsync();
+
+            if (res < 1) { return Ok(JsonView(false, "修改失败!")); }
+            return Ok(JsonView(true, "修改成功"));
         }
+
         /// <summary>
         /// 车公司信息删除
         /// </summary>
@@ -300,17 +230,9 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> DelCarData(DelCarDataDto dto)
         {
-            try
-            {
-                bool res = await _carDataRep.SoftDeleteByIdAsync<Res_CarData>(dto.Id.ToString(), dto.DeleteUserId);
-                if (!res) { return Ok(JsonView(false, "删除失败!")); }
-                return Ok(JsonView(true, "删除成功"));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
+            bool res = await _carDataRep.SoftDeleteByIdAsync<Res_CarData>(dto.Id.ToString(), dto.DeleteUserId);
+            if (!res) { return Ok(JsonView(false, "删除失败!")); }
+            return Ok(JsonView(true, "删除成功"));
         }
         #endregion
 

+ 7 - 5
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -15,6 +15,7 @@ using static Quartz.Logging.OperationName;
 using static OASystem.API.OAMethodLib.JWTHelper;
 using System.Runtime.Intrinsics.Arm;
 using OASystem.Domain.Dtos.Statistics;
+using OASystem.Domain.AesEncryption;
 
 namespace OASystem.API.Controllers
 {
@@ -2332,18 +2333,19 @@ And u.UId = {0} And u.FId = 1 ", dto.UserId);
                     var opCarData = await _sqlSugar.Queryable<Res_CarData>()
                         .LeftJoin<Sys_Users>((cd, u) => cd.CreateUserId == u.Id)
                         .Where((cd, u) => cd.IsDel == 0 && cd.CreateTime >= startDateTime && cd.CreateTime <= endDateTime)
-                        .Select((cd, u) => new
+                        .Select((cd, u) => new CarDataMsgTipsView()
                         {
-                            Area = cd.UnitArea,
+                            Area =  cd.UnitArea,
                             Client = cd.UnitName,
-                            cd.Contact,
+                            Contact = cd.Contact,
                             Job = "",
                             Tel = cd.ContactTel,
-                            cd.CreateUserId,
+                            CreateUserId = cd.CreateUserId,
                             CreatleUserName = u.CnName,
-                            cd.CreateTime,
+                            CreateTime = cd.CreateTime,
                         })
                         .ToListAsync();
+                    foreach (var item in opCarData) EncryptionProcessor.DecryptProperties(item);
                     var opCarDataGroups = opCarData.GroupBy(x => x.CreateUserId)
                         .Select(g => new {
                             uId = g.Key,

+ 1 - 1
OASystem/OASystem.Domain/AesEncryption/AesEncryptionHelper.cs

@@ -23,7 +23,7 @@ namespace OASystem.Domain.AesEncryption
         public static string Encrypt(string plainText)
         {
             if (string.IsNullOrEmpty(plainText)) return plainText;
-            if (!EncryptionProcessor.IsEncrypted(plainText)) return plainText;
+            if (EncryptionProcessor.IsEncrypted(plainText)) return plainText;
             using var aes = Aes.Create();
             aes.Key = Encoding.UTF8.GetBytes(Key);
             aes.IV = Encoding.UTF8.GetBytes(IV);

+ 3 - 0
OASystem/OASystem.Domain/AesEncryption/EncryptionProcessor.cs

@@ -8,6 +8,9 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.AesEncryption
 {
+    /// <summary>
+    /// AES 加密/解密
+    /// </summary>
     public static class EncryptionProcessor
     {
        

+ 1 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -198,6 +198,7 @@ namespace OASystem.Domain.AutoMappers
             #region 车公司资料
             CreateMap<Res_CarData, CarDataView>();
             CreateMap<AddCarDataDto, Res_CarData>();
+            CreateMap<UpCarDataDto, Res_CarData>();
             CreateMap<Res_CarData, CarDataSelectView>();
             #endregion
             #region 导游地接资料

+ 23 - 4
OASystem/OASystem.Domain/Dtos/Resource/CarDataDto.cs

@@ -1,4 +1,5 @@
-using System;
+using OASystem.Domain.Attributes;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -169,52 +170,61 @@ namespace OASystem.Domain.Dtos.Resource
         /// <summary>
         /// 区域
         /// </summary>
+        [Encrypted]
         public string UnitArea { get; set; }
 
         /// <summary>
         /// 公司名称
         /// </summary>
+        [Encrypted]
         public string UnitName { get; set; }
 
         /// <summary>
         /// 地址
         /// </summary>
+        [Encrypted]
         public string Address { get; set; }
 
         /// <summary>
         /// 联系人
         /// </summary>
+        [Encrypted]
         public string Contact { get; set; }
         /// <summary>
         /// 联系方式
         /// </summary>
+        [Encrypted]
         public string ContactTel { get; set; }
 
         /// <summary>
         /// 联系人邮箱
         /// </summary>
+        [Encrypted]
         public string ContactEmail { get; set; }
 
         /// <summary>
         /// 联系人传真
         /// </summary>
+        [Encrypted]
         public string ContactFax { get; set; }
 
         /// <summary>
         /// 车描述
         /// </summary>
+        [Encrypted]
         public string CarDes { get; set; }
 
         /// <summary>
         /// 车图片路径
         /// 存储多个 使用/r/n
         /// </summary>
+        [Encrypted]
         public string CarPicPaths { get; set; }
 
-
         /// <summary>
         /// 其他信息
         /// </summary>
+        [Encrypted]
         public string OtherInfo { get; set; }
 
         /// <summary>
@@ -226,60 +236,69 @@ namespace OASystem.Domain.Dtos.Resource
         /// 相关的车辆资质
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string QualificationScore { get; set; }
 
         /// <summary>
         /// 车辆2-4年新,VIP及以上需要2年新
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string CarAgeScore { get; set; }
 
         /// <summary>
         /// 车身干净,无文字图片等
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string CleanImgScore { get; set; }
 
         /// <summary>
         /// 车内整洁、无异味
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string SmellScore { get; set; }
 
         /// <summary>
         /// 提前备水,纸巾等
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string WaterPaperScore { get; set; }
 
         /// <summary>
         /// 车辆配置高(皮座椅等)
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string HardwareScore { get; set; }
 
         /// <summary>
         /// 时间概念强
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string TimeScore { get; set; }
 
         /// <summary>
         /// 安全意识高
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string SafetyScore { get; set; }
 
         /// <summary>
         /// 司机驾龄时间长,提前熟悉路线
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string DrivingAgeScore { get; set; }
-       
+
         /// <summary>
         /// 备注
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        [Encrypted]
         public string Remark { get; set; }
     }
 

+ 3 - 1
OASystem/OASystem.Domain/Entities/EntityBase.cs

@@ -1,4 +1,5 @@
-using System.ComponentModel.DataAnnotations.Schema;
+using OASystem.Domain.Attributes;
+using System.ComponentModel.DataAnnotations.Schema;
 
 namespace OASystem.Domain.Entities
 {
@@ -35,6 +36,7 @@ namespace OASystem.Domain.Entities
         /// <summary>
         /// 备注
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
         public string Remark { get; set; }
         /// <summary>

+ 24 - 5
OASystem/OASystem.Domain/Entities/Resource/Res_CarData.cs

@@ -1,4 +1,5 @@
-using System;
+using OASystem.Domain.Attributes;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -15,48 +16,56 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 区域
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        [Encrypted]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
         public string UnitArea { get; set; }
 
         /// <summary>
         /// 公司名称
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
         public string UnitName { get; set; }
 
         /// <summary>
         /// 地址
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]        
         public string Address { get; set; }
 
         /// <summary>
         /// 联系人
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true,ColumnDataType = "varchar(50)")]
         public string Contact { get; set; }
 
         /// <summary>
         /// 联系人手机号
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")] 
+        [Encrypted]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")] 
         public string ContactTel { get; set; }
 
         /// <summary>
         /// 联系人邮箱
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         public string ContactEmail { get; set; }
 
         /// <summary>
         /// 联系人传真
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
+        [Encrypted]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         public string ContactFax { get; set; }
 
         /// <summary>
         /// 车描述
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         public string CarDes { get; set; }
 
@@ -64,13 +73,14 @@ namespace OASystem.Domain.Entities.Resource
         /// 车图片路径
         /// 存储多个 使用/r/n
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         public string CarPicPaths { get; set; }
 
-
         /// <summary>
         /// 其他信息
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
         public string OtherInfo { get; set; }
 
@@ -84,6 +94,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 相关的车辆资质
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string QualificationScore { get; set; }
 
@@ -91,6 +102,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 车辆2-4年新,VIP及以上需要2年新
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string CarAgeScore { get; set; }
 
@@ -98,6 +110,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 车身干净,无文字图片等
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string CleanImgScore { get; set; }
 
@@ -105,6 +118,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 车内整洁、无异味
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string SmellScore { get; set; }
 
@@ -112,6 +126,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 提前备水,纸巾等
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string WaterPaperScore { get; set; }
 
@@ -119,6 +134,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 车辆配置高(皮座椅等)
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string HardwareScore { get; set; }
 
@@ -126,6 +142,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 时间概念强
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string TimeScore { get; set; }
 
@@ -133,6 +150,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 安全意识高
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string SafetyScore { get; set; }
 
@@ -140,6 +158,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 司机驾龄时间长,提前熟悉路线
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
         public string DrivingAgeScore { get; set; }
     }

+ 38 - 9
OASystem/OASystem.Domain/ViewModels/Resource/CarDataView.cs

@@ -1,4 +1,5 @@
-using OASystem.Domain.Entities;
+using OASystem.Domain.Attributes;
+using OASystem.Domain.Entities;
 using OASystem.Domain.Entities.Resource;
 using System;
 using System.Collections.Generic;
@@ -15,6 +16,7 @@ namespace OASystem.Domain.ViewModels.Resource
     public class CarDataSelectView
     {
         public int Id { get; set; }
+        [Encrypted]
         public string UnitArea { get; set; }
     }
 
@@ -31,115 +33,142 @@ namespace OASystem.Domain.ViewModels.Resource
         /// <summary>
         /// 区域
         /// </summary>
+        [Encrypted]
         public string UnitArea { get; set; }
 
         /// <summary>
         /// 公司名称
         /// </summary>
+        [Encrypted]
         public string UnitName { get; set; }
 
         /// <summary>
         /// 地址
         /// </summary>
+        [Encrypted]
         public string Address { get; set; }
 
-
-
-
         /// <summary>
         /// 联系人
         /// </summary>
+        [Encrypted]
         public string Contact { get; set; }
 
         /// <summary>
         /// 联系人手机号
         /// </summary>
+        [Encrypted]
         public string ContactTel { get; set; }
 
         /// <summary>
         /// 联系人邮箱
         /// </summary>
+        [Encrypted]
         public string ContactEmail { get; set; }
 
         /// <summary>
         /// 联系人传真
         /// </summary>
+        [Encrypted]
         public string ContactFax { get; set; }
 
         /// <summary>
         /// 其他信息
         /// </summary>
+        [Encrypted]
         public string OtherInfo { get; set; }
 
-
-
-
         /// <summary>
         /// 车描述
         /// </summary>
+        [Encrypted]
         public string CarDes { get; set; }
 
         /// <summary>
         /// 车图片路径
         /// 存储多个 使用/r/n
         /// </summary>
+        [Encrypted]
         public string CarPicPaths { get; set; }
 
-
-        
         /// <summary>
         /// 相关的车辆资质
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string QualificationScore { get; set; }
 
         /// <summary>
         /// 车辆2-4年新,VIP及以上需要2年新
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string CarAgeScore { get; set; }
 
         /// <summary>
         /// 车身干净,无文字图片等
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string CleanImgScore { get; set; }
 
         /// <summary>
         /// 车内整洁、无异味
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string SmellScore { get; set; }
 
         /// <summary>
         /// 提前备水,纸巾等
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string WaterPaperScore { get; set; }
 
         /// <summary>
         /// 车辆配置高(皮座椅等)
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string HardwareScore { get; set; }
 
         /// <summary>
         /// 时间概念强
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string TimeScore { get; set; }
 
         /// <summary>
         /// 安全意识高
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string SafetyScore { get; set; }
 
         /// <summary>
         /// 司机驾龄时间长,提前熟悉路线
         /// A B C  选择
         /// </summary>
+        [Encrypted]
         public string DrivingAgeScore { get; set; }
 
     }
+
+    public class CarDataMsgTipsView
+    {
+        [Encrypted]
+        public string Area { get; set; }
+        [Encrypted]
+        public string Client { get; set; }
+        [Encrypted]
+        public string Contact { get; set; }
+        public string Job { get; set; }
+        [Encrypted]
+        public string Tel { get; set; }
+        public int CreateUserId { get; set; }
+        public string CreatleUserName { get; set; }
+        public DateTime CreateTime { get; set; }
+    }
 }

+ 77 - 115
OASystem/OASystem.Infrastructure/Repositories/Resource/CarDataRepository.cs

@@ -1,5 +1,6 @@
 using AutoMapper;
 using OASystem.Domain;
+using OASystem.Domain.AesEncryption;
 using OASystem.Domain.Dtos.Resource;
 using OASystem.Domain.Entities.Resource;
 using OASystem.Domain.ViewModels.Resource;
@@ -21,138 +22,99 @@ namespace OASystem.Infrastructure.Repositories.Resource
         /// <returns></returns>
         public async Task<Result> QueryCarData(QueryCarDataDto dto)
         {
-            Result result = new Result() { Code = -2, Msg = "未知错误" };
-            try
+            string sqlWhere = string.Empty;
+            if (!string.IsNullOrWhiteSpace(dto.UnitName)) sqlWhere += string.Format(@" And UnitName like '%{0}%'", dto.UnitName);
+            if (!string.IsNullOrWhiteSpace(dto.UnitArea) && dto.UnitArea != "全部") sqlWhere += string.Format(@" And UnitArea like '%{0}%'", dto.UnitArea);
+            if (!string.IsNullOrWhiteSpace(dto.Contact)) sqlWhere += string.Format(@" And Contact like '%{0}%'", dto.Contact);
+            if (!string.IsNullOrWhiteSpace(dto.ContactTel)) sqlWhere += string.Format(@" And ContactTel like '%{0}%'", dto.ContactTel);
+
+            sqlWhere += string.Format(@" And IsDel={0}", 0);
+            if (!string.IsNullOrEmpty(sqlWhere.Trim()))
             {
-                string sqlWhere = string.Empty;
-                if (!string.IsNullOrWhiteSpace(dto.UnitName))
-                {
-                    sqlWhere += string.Format(@" And UnitName like '%{0}%'", dto.UnitName);
-                }
-                if (!string.IsNullOrWhiteSpace(dto.UnitArea) && dto.UnitArea!="全部")
-                {
-                    sqlWhere += string.Format(@" And UnitArea like '%{0}%'", dto.UnitArea);
-                }
-                if (!string.IsNullOrWhiteSpace(dto.Contact))
-                {
-                    sqlWhere += string.Format(@" And Contact like '%{0}%'", dto.Contact);
-                }
-                if (!string.IsNullOrWhiteSpace(dto.ContactTel))
-                {
-                    sqlWhere += string.Format(@" And ContactTel like '%{0}%'", dto.ContactTel);
-                }
-                sqlWhere += string.Format(@" And IsDel={0}", 0);
-                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                Regex r = new Regex("And");
+                sqlWhere = r.Replace(sqlWhere, "Where", 1);
+            }
+            if (dto.PortType == 1)
+            {
+                string sql = string.Format(@"select * from Res_CarData {0}", sqlWhere);
+                var carDatas = await _sqlSugar.SqlQueryable<Res_CarData>(sql).ToListAsync();
+                if (carDatas.Count == 0) return  new Result() { Code = -1, Msg = "暂无数据" };
+
+                carDatas = carDatas.OrderByDescending(x => x.CreateTime).ToList();
+
+                if (dto.PageSize == 0 && dto.PageIndex == 0)
                 {
-                    Regex r = new Regex("And");
-                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                    return new Result()
+                    {
+                        Code = 0,
+                        Msg = "查询成功",
+                        Data = carDatas,
+                    };
                 }
-                if (dto.PortType == 1)
+                else
                 {
-                    string sql = string.Format(@"select * from Res_CarData {0}", sqlWhere);
-                    List<Res_CarData> CarData = await _sqlSugar.SqlQueryable<Res_CarData>(sql).ToListAsync();
-                    if (CarData.Count==0)
-                    {
-                        return result = new Result() { Code = -1, Msg = "暂无数据" };
-                    }
-                    CarData= CarData.OrderByDescending(x => x.CreateTime).ToList();
+                    int count = carDatas.Count;
+                    float totalPage = (float)count / dto.PageSize;//总页数
+                    if (totalPage == 0) totalPage = 1;
+                    else totalPage = (int)Math.Ceiling((double)totalPage);
 
-                    if (dto.PageSize==0 && dto.PageIndex==0)
+                    var ListData = new List<Res_CarData>();
+                    for (int i = 0; i < dto.PageSize; i++)
                     {
-                        return result = new Result()
-                        {
-                            Code = 0,
-                            Msg = "查询成功",
-                            Data = CarData,
-                        };
+                        var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                        if (RowIndex < carDatas.Count) ListData.Add(carDatas[RowIndex]);
+                        else break;
                     }
-                    else
+                    foreach (var item in ListData) EncryptionProcessor.DecryptProperties(item);
+                    return new Result()
                     {
-                        int count = CarData.Count;
-                        float totalPage = (float)count / dto.PageSize;//总页数
-                        if (totalPage == 0) totalPage = 1;
-                        else totalPage = (int)Math.Ceiling((double)totalPage);
-
-                        List<Res_CarData> ListData = new List<Res_CarData>();
-                        for (int i = 0; i < dto.PageSize; i++)
-                        {
-                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
-                            if (RowIndex < CarData.Count)
-                            {
-                                ListData.Add(CarData[RowIndex]);
-                            }
-                            else
-                            {
-                                break;
-                            }
-                        }
-                        return result = new Result()
-                        {
-                            Code = 0,
-                            Msg = "查询成功",
-                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
-                        };
-                    }
-                    
+                        Code = 0,
+                        Msg = "查询成功",
+                        Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
+                    };
                 }
-                else if (dto.PortType == 2)
+            }
+            else if (dto.PortType == 2 || dto.PortType == 3)
+            {
+                string sql = string.Format(@"select * from Res_CarData {0}", sqlWhere);
+                var carDatas = await _sqlSugar.SqlQueryable<Res_CarData>(sql).ToListAsync();
+                if (carDatas.Count == 0) return new Result() { Code = -1, Msg = "暂无数据" };
+
+                carDatas = carDatas.OrderByDescending(x => x.CreateTime).ToList();
+
+                if (dto.PageSize == 0 || dto.PageIndex == 0)
                 {
-                    string sql = string.Format(@"select * from Res_CarData {0}", sqlWhere);
-                    List<Res_CarData> CarData = await _sqlSugar.SqlQueryable<Res_CarData>(sql).ToListAsync();
-                    if (CarData.Count == 0)
+                    return new Result()
                     {
-                        return result = new Result() { Code = -1, Msg = "暂无数据" };
-                    }
-                    CarData = CarData.OrderByDescending(x => x.CreateTime).ToList();
+                        Code = 0,
+                        Msg = "查询成功",
+                        Data = carDatas,
+                    };
+                }
+                else
+                {
+                    int count = carDatas.Count;
+                    float totalPage = (float)count / dto.PageSize;//总页数
+                    if (totalPage == 0) totalPage = 1;
+                    else totalPage = (int)Math.Ceiling((double)totalPage);
 
-                    if (dto.PageSize == 0 || dto.PageIndex == 0)
+                    var ListData = new List<Res_CarData>();
+                    for (int i = 0; i < dto.PageSize; i++)
                     {
-                        return result = new Result()
-                        {
-                            Code = 0,
-                            Msg = "查询成功",
-                            Data = CarData,
-                        };
+                        var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                        if (RowIndex < carDatas.Count) ListData.Add(carDatas[RowIndex]);
+                        else break;
                     }
-                    else
+                    foreach (var item in ListData) EncryptionProcessor.DecryptProperties(item);
+                    return new Result()
                     {
-                        int count = CarData.Count;
-                        float totalPage = (float)count / dto.PageSize;//总页数
-                        if (totalPage == 0) totalPage = 1;
-                        else totalPage = (int)Math.Ceiling((double)totalPage);
-
-                        List<Res_CarData> ListData = new List<Res_CarData>();
-                        for (int i = 0; i < dto.PageSize; i++)
-                        {
-                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
-                            if (RowIndex < CarData.Count)
-                            {
-                                ListData.Add(CarData[RowIndex]);
-                            }
-                            else
-                            {
-                                break;
-                            }
-                        }
-                        return result = new Result()
-                        {
-                            Code = 0,
-                            Msg = "查询成功",
-                            Data = new { pageCount = count, totalPage = ((int)totalPage).ToString(), pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
-                        };
-                    }
-                }
-                else
-                {
-                    return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
+                        Code = 0,
+                        Msg = "查询成功",
+                        Data = new { pageCount = count, totalPage = ((int)totalPage).ToString(), pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
+                    };
                 }
             }
-            catch (Exception)
-            {
-                return result;
-                throw;
-            }
-            
+            else return new Result() { Code = -2, Msg = MsgTips.Port };
         }
     }
 }