zuohuaijun 4 лет назад
Родитель
Сommit
de9a9f5921

+ 17 - 0
Admin.NET/Admin.NET.Application/Service/TestService.cs

@@ -1,4 +1,6 @@
 using Admin.NET.Application.Const;
+using Furion.DatabaseAccessor;
+using Microsoft.AspNetCore.Authorization;
 
 namespace Admin.NET.Application.Serice;
 
@@ -6,6 +8,7 @@ namespace Admin.NET.Application.Serice;
 /// 自己业务服务
 /// </summary>
 [ApiDescriptionSettings(TestConst.GroupName, Name = "XXX模块", Order = 200)]
+[AllowAnonymous]
 public class TestService : IDynamicApiController, ITransient
 {
     private readonly SqlSugarRepository<Test> _testRep;
@@ -24,4 +27,18 @@ public class TestService : IDynamicApiController, ITransient
     {
         return await _testRep.GetListAsync();
     }
+
+    /// <summary>
+    /// 工作单元(事务)测试
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet("/test/list2")]
+    [UnitOfWork]
+    public async Task<List<Test>> TestUnitOfWork()
+    {
+        await _testRep.InsertAsync(new Test() { Name = "admin" });
+        var a = 0;
+        var b = 1 / a;
+        return await _testRep.GetListAsync();
+    }
 }

+ 5 - 5
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarUnitOfWork.cs

@@ -9,7 +9,7 @@ public sealed class SqlSugarUnitOfWork : IUnitOfWork
     /// <summary>
     /// SqlSugar 对象
     /// </summary>
-    private readonly SqlSugarClient _sqlSugarClient;
+    private readonly ISqlSugarClient _sqlSugarClient;
 
     /// <summary>
     /// 构造函数
@@ -17,7 +17,7 @@ public sealed class SqlSugarUnitOfWork : IUnitOfWork
     /// <param name="sqlSugarClient"></param>
     public SqlSugarUnitOfWork(ISqlSugarClient sqlSugarClient)
     {
-        _sqlSugarClient = (SqlSugarClient)sqlSugarClient;
+        _sqlSugarClient = sqlSugarClient;
     }
 
     /// <summary>
@@ -39,7 +39,7 @@ public sealed class SqlSugarUnitOfWork : IUnitOfWork
     /// <exception cref="NotImplementedException"></exception>
     public void BeginTransaction(ActionExecutingContext context, UnitOfWorkAttribute unitOfwork, bool isManual)
     {
-        _sqlSugarClient.BeginTran();
+        _sqlSugarClient.AsTenant().BeginTran();
     }
 
     /// <summary>
@@ -51,7 +51,7 @@ public sealed class SqlSugarUnitOfWork : IUnitOfWork
     /// <exception cref="NotImplementedException"></exception>
     public void CommitTransaction(ActionExecutedContext resultContext, UnitOfWorkAttribute unitOfwork, bool isManual)
     {
-        _sqlSugarClient.CommitTran();
+        _sqlSugarClient.AsTenant().CommitTran();
     }
 
     /// <summary>
@@ -63,7 +63,7 @@ public sealed class SqlSugarUnitOfWork : IUnitOfWork
     /// <exception cref="NotImplementedException"></exception>
     public void RollbackTransaction(ActionExecutedContext resultContext, UnitOfWorkAttribute unitOfwork, bool isManual)
     {
-        _sqlSugarClient.RollbackTran();
+        _sqlSugarClient.AsTenant().RollbackTran();
     }
 
     /// <summary>