Просмотр исходного кода

!1315 整理字典服务相关代码
Merge pull request !1315 from ir0nmax/next

zuohuaijun 1 год назад
Родитель
Сommit
0d84cb4dd1

+ 1 - 0
Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs

@@ -11,6 +11,7 @@ public class DictDataInput : BaseIdInput
     /// <summary>
     /// 状态
     /// </summary>
+    [Dict("StatusEnum")]
     public StatusEnum Status { get; set; }
 }
 

+ 1 - 0
Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs

@@ -11,6 +11,7 @@ public class DictTypeInput : BaseIdInput
     /// <summary>
     /// 状态
     /// </summary>
+    [Dict("StatusEnum")]
     public StatusEnum Status { get; set; }
 }
 

+ 5 - 17
Admin.NET/Admin.NET.Core/Service/Dict/SysDictDataService.cs

@@ -60,8 +60,7 @@ public class SysDictDataService : IDynamicApiController, ITransient
     public async Task AddDictData(AddDictDataInput input)
     {
         var isExist = await _sysDictDataRep.IsAnyAsync(u => u.Code == input.Code && u.DictTypeId == input.DictTypeId);
-        if (isExist)
-            throw Oops.Oh(ErrorCodeEnum.D3003);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D3003);
 
         await _sysDictDataRep.InsertAsync(input.Adapt<SysDictData>());
     }
@@ -98,9 +97,7 @@ public class SysDictDataService : IDynamicApiController, ITransient
     [DisplayName("删除字典值")]
     public async Task DeleteDictData(DeleteDictDataInput input)
     {
-        var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id);
-        if (dictData == null)
-            throw Oops.Oh(ErrorCodeEnum.D3004);
+        var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D3004);
 
         var dictTypeCode = await _sysDictDataRep.AsQueryable().Where(u => u.DictTypeId == dictData.Id).Select(u => u.DictType.Code).FirstAsync();
         _sysCacheService.Remove($"{CacheConst.KeyDict}{dictTypeCode}");
@@ -128,18 +125,13 @@ public class SysDictDataService : IDynamicApiController, ITransient
     [DisplayName("修改字典值状态")]
     public async Task SetStatus(DictDataInput input)
     {
-        var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id);
-        if (dictData == null)
-            throw Oops.Oh(ErrorCodeEnum.D3004);
-
-        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
-            throw Oops.Oh(ErrorCodeEnum.D3005);
+        var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D3004);
 
         var dictTypeCode = await _sysDictDataRep.AsQueryable().Where(u => u.DictTypeId == dictData.Id).Select(u => u.DictType.Code).FirstAsync();
         _sysCacheService.Remove($"{CacheConst.KeyDict}{dictTypeCode}");
 
         dictData.Status = input.Status;
-        await _sysDictDataRep.UpdateAsync(dictData);
+        await _sysDictDataRep.AsUpdateable(dictData).UpdateColumns(u => new { u.Status }, true).ExecuteCommandAsync();
     }
 
     /// <summary>
@@ -156,13 +148,9 @@ public class SysDictDataService : IDynamicApiController, ITransient
         if (dictDataList == null)
         {
             dictDataList = await _sysDictDataRep.AsQueryable()
-                .Where(u => u.DictTypeId == dictTypeId)
-                .OrderBy(u => new { u.OrderNo, u.Code })
-                .ToListAsync();
-
+                .Where(u => u.DictTypeId == dictTypeId).OrderBy(u => new { u.OrderNo, u.Code }).ToListAsync();
             _sysCacheService.Set($"{CacheConst.KeyDict}{dictType.Code}", dictDataList);
         }
-
         return dictDataList;
     }
 

+ 7 - 20
Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs

@@ -60,10 +60,7 @@ public class SysDictTypeService : IDynamicApiController, ITransient
     [DisplayName("获取字典类型-值列表")]
     public async Task<List<SysDictData>> GetDataList([FromQuery] GetDataDictTypeInput input)
     {
-        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Code == input.Code);
-        if (dictType == null)
-            throw Oops.Oh(ErrorCodeEnum.D3000);
-
+        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Code == input.Code) ?? throw Oops.Oh(ErrorCodeEnum.D3000);
         return await _sysDictDataService.GetDictDataListByDictTypeId(dictType.Id);
     }
 
@@ -77,8 +74,7 @@ public class SysDictTypeService : IDynamicApiController, ITransient
     public async Task AddDictType(AddDictTypeInput input)
     {
         var isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Code == input.Code);
-        if (isExist)
-            throw Oops.Oh(ErrorCodeEnum.D3001);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D3001);
 
         await _sysDictTypeRep.InsertAsync(input.Adapt<SysDictType>());
     }
@@ -94,12 +90,10 @@ public class SysDictTypeService : IDynamicApiController, ITransient
     public async Task UpdateDictType(UpdateDictTypeInput input)
     {
         var isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Id == input.Id);
-        if (!isExist)
-            throw Oops.Oh(ErrorCodeEnum.D3000);
+        if (!isExist) throw Oops.Oh(ErrorCodeEnum.D3000);
 
         isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Code == input.Code && u.Id != input.Id);
-        if (isExist)
-            throw Oops.Oh(ErrorCodeEnum.D3001);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D3001);
 
         _sysCacheService.Remove($"{CacheConst.KeyDict}{input.Code}");
         await _sysDictTypeRep.UpdateAsync(input.Adapt<SysDictType>());
@@ -115,9 +109,7 @@ public class SysDictTypeService : IDynamicApiController, ITransient
     [DisplayName("删除字典类型")]
     public async Task DeleteDictType(DeleteDictTypeInput input)
     {
-        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id);
-        if (dictType == null)
-            throw Oops.Oh(ErrorCodeEnum.D3000);
+        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D3000);
 
         // 删除字典值
         await _sysDictTypeRep.DeleteAsync(dictType);
@@ -144,17 +136,12 @@ public class SysDictTypeService : IDynamicApiController, ITransient
     [DisplayName("修改字典类型状态")]
     public async Task SetStatus(DictTypeInput input)
     {
-        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id);
-        if (dictType == null)
-            throw Oops.Oh(ErrorCodeEnum.D3000);
-
-        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
-            throw Oops.Oh(ErrorCodeEnum.D3005);
+        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D3000);
 
         _sysCacheService.Remove($"{CacheConst.KeyDict}{dictType.Code}");
 
         dictType.Status = input.Status;
-        await _sysDictTypeRep.UpdateAsync(dictType);
+        await _sysDictTypeRep.AsUpdateable(dictType).UpdateColumns(u => new { u.Status }, true).ExecuteCommandAsync();
     }
 
     /// <summary>

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Enum/SysEnumService.cs

@@ -49,7 +49,7 @@ public class SysEnumService : IDynamicApiController, ITransient
     {
         string description = type.Name;
         var attrs = type.GetCustomAttributes(typeof(DescriptionAttribute), false);
-        if (attrs.Any())
+        if (attrs.Length != 0)
         {
             var att = ((DescriptionAttribute[])attrs)[0];
             description = att.Description;