Jelajahi Sumber

🤓1、增加实体操作基服务 3、通知公告增加脱敏处理(去掉全局结果脱敏) 2、升级Furion v4.6.8.10和SqlSugar v5.1.3.51

zuohuaijun 3 tahun lalu
induk
melakukan
3b832b911a

+ 4 - 4
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -20,9 +20,9 @@
     <PackageReference Include="DotNetCore.Compile.Environment" Version="3.2.0" />
     <PackageReference Include="DotNetCore.Natasha.CSharp" Version="5.0.2" />
     <PackageReference Include="FluentEmail.Smtp" Version="3.0.2" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.6.8" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.6.8" />
-    <PackageReference Include="Furion.Pure" Version="4.8.6.8" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.8.6.10" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.8.6.10" />
+    <PackageReference Include="Furion.Pure" Version="4.8.6.10" />
     <PackageReference Include="IPTools.China" Version="1.6.0" />
     <PackageReference Include="Lazy.Captcha.Core" Version="2.0.1" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.7.4.2" />
@@ -33,7 +33,7 @@
     <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.1.9" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="2.24.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="2.15.2" />
-    <PackageReference Include="SqlSugarCore" Version="5.1.3.51-preview01" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.3.51" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.2.25" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />

+ 40 - 0
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -7306,6 +7306,46 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="T:Admin.NET.Core.BaseService`1">
+            <summary>
+            实体操作基服务
+            </summary>
+            <typeparam name="TEntity"></typeparam>
+        </member>
+        <member name="M:Admin.NET.Core.BaseService`1.GetDetail(System.Int64)">
+            <summary>
+            获取实体详情
+            </summary>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Core.BaseService`1.GetList">
+            <summary>
+            获取实体集合
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Core.BaseService`1.Add(`0)">
+            <summary>
+            增加实体
+            </summary>
+            <param name="entity"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Core.BaseService`1.Update(`0)">
+            <summary>
+            更新实体
+            </summary>
+            <param name="entity"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Core.BaseService`1.Delete(System.Int64)">
+            <summary>
+            删除实体
+            </summary>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
         <member name="T:Admin.NET.Core.ExportLogDto">
             <summary>
             导出日志数据

+ 2 - 0
Admin.NET/Admin.NET.Core/Entity/SysNotice.cs

@@ -12,6 +12,7 @@ public class SysNotice : EntityBase
     /// </summary>
     [SugarColumn(ColumnDescription = "标题", Length = 32)]
     [Required, MaxLength(32)]
+    [SensitiveDetection('*')]
     public virtual string Title { get; set; }
 
     /// <summary>
@@ -19,6 +20,7 @@ public class SysNotice : EntityBase
     /// </summary>
     [SugarColumn(ColumnDescription = "内容", ColumnDataType = StaticConfig.CodeFirst_BigString)]
     [Required]
+    [SensitiveDetection('*')]
     public virtual string Content { get; set; }
 
     /// <summary>

+ 86 - 0
Admin.NET/Admin.NET.Core/Service/BaseService.cs

@@ -0,0 +1,86 @@
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 实体操作基服务
+/// </summary>
+/// <typeparam name="TEntity"></typeparam>
+public class BaseService<TEntity> : IDynamicApiController where TEntity : class, new()
+{
+    private readonly SqlSugarRepository<TEntity> _rep;
+
+    public BaseService(SqlSugarRepository<TEntity> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 获取实体详情
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Detail")]
+    [DisplayName("获取实体详情")]
+    public async Task<TEntity> GetDetail(long id)
+    {
+        return await _rep.GetByIdAsync(id);
+    }
+
+    /// <summary>
+    /// 获取实体集合
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "List")]
+    [DisplayName("获取实体集合")]
+    public async Task<List<TEntity>> GetList()
+    {
+        return await _rep.GetListAsync();
+    }
+
+    ///// <summary>
+    ///// 获取实体分页
+    ///// </summary>
+    ///// <param name="input"></param>
+    ///// <returns></returns>
+    //[ApiDescriptionSettings(Name = "Page")]
+    //[DisplayName("获取实体分页")]
+    //public async Task<SqlSugarPagedList<TEntity>> GetPage([FromQuery] BasePageInput input)
+    //{
+    //    return await _rep.AsQueryable().ToPagedListAsync(input.Page, input.PageSize);
+    //}
+
+    /// <summary>
+    /// 增加实体
+    /// </summary>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add")]
+    [DisplayName("增加实体")]
+    public async Task<bool> Add(TEntity entity)
+    {
+        return await _rep.InsertAsync(entity);
+    }
+
+    /// <summary>
+    /// 更新实体
+    /// </summary>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update")]
+    [DisplayName("更新实体")]
+    public async Task<bool> Update(TEntity entity)
+    {
+        return await _rep.UpdateAsync(entity);
+    }
+
+    /// <summary>
+    /// 删除实体
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete")]
+    [DisplayName("删除实体")]
+    public async Task<bool> Delete(long id)
+    {
+        return await _rep.DeleteByIdAsync(id);
+    }
+}

+ 9 - 9
Admin.NET/Admin.NET.Core/Util/AdminResultProvider.cs

@@ -78,15 +78,15 @@ public class AdminResultProvider : IUnifyResultProvider
     /// <returns></returns>
     private static AdminResult<object> RESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)
     {
-        // 统一返回值脱敏处理
-        if (data?.GetType() == typeof(String))
-        {
-            data = App.GetRequiredService<ISensitiveDetectionProvider>().ReplaceAsync(data.ToString(), '*').GetAwaiter().GetResult();
-        }
-        else if (data?.GetType() == typeof(JsonResult))
-        {
-            data = App.GetRequiredService<ISensitiveDetectionProvider>().ReplaceAsync(JSON.Serialize(data), '*').GetAwaiter().GetResult();
-        }
+        //// 统一返回值脱敏处理
+        //if (data?.GetType() == typeof(String))
+        //{
+        //    data = App.GetRequiredService<ISensitiveDetectionProvider>().ReplaceAsync(data.ToString(), '*').GetAwaiter().GetResult();
+        //}
+        //else if (data?.GetType() == typeof(JsonResult))
+        //{
+        //    data = App.GetRequiredService<ISensitiveDetectionProvider>().ReplaceAsync(JSON.Serialize(data), '*').GetAwaiter().GetResult();
+        //}
 
         return new AdminResult<object>
         {