TestService.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. using Admin.NET.Application.Const;
  2. using Admin.NET.Core.Service;
  3. using Furion.DatabaseAccessor;
  4. using Furion.FriendlyException;
  5. using Furion.Localization;
  6. using Furion.Logging.Extensions;
  7. using Microsoft.AspNetCore.Authorization;
  8. namespace Admin.NET.Application.Service;
  9. /// <summary>
  10. /// 自己业务服务
  11. /// </summary>
  12. [ApiDescriptionSettings(ApplicationConst.GroupName, Order = 200)]
  13. [AllowAnonymous]
  14. public class TestService : IDynamicApiController, ITransient
  15. {
  16. private readonly SqlSugarRepository<Test> _testRep;
  17. private readonly SqlSugarRepository<SysMenu> _sysMenuRep;
  18. private readonly SysMenuService _sysMenuService;
  19. public TestService(SqlSugarRepository<Test> testRep,
  20. SqlSugarRepository<SysMenu> sysMenuRep,
  21. SysMenuService sysMenuService)
  22. {
  23. _testRep = testRep;
  24. _sysMenuRep = sysMenuRep;
  25. _sysMenuService = sysMenuService;
  26. }
  27. /// <summary>
  28. /// 测试
  29. /// </summary>
  30. public string GetName()
  31. {
  32. return "Furion";
  33. }
  34. /// <summary>
  35. /// 获取列表
  36. /// </summary>
  37. /// <returns></returns>
  38. [HttpGet("/test/list")]
  39. public async Task<List<Test>> GetTestList()
  40. {
  41. return await _testRep.GetListAsync();
  42. }
  43. /// <summary>
  44. /// 异常测试
  45. /// </summary>
  46. /// <returns></returns>
  47. public void TestException()
  48. {
  49. throw new Exception("异常");
  50. throw Oops.Oh("异常").WithData("数据");
  51. }
  52. /// <summary>
  53. /// 事务测试
  54. /// </summary>
  55. [UnitOfWork]
  56. public async Task TestTran()
  57. {
  58. //await _sysMenuRep.GetListAsync();
  59. //var menuIdList = new List<long> { 0, 1, 2 };
  60. //await _sysMenuRep.DeleteAsync(u => menuIdList.Contains(u.Id));
  61. //await _sysMenuRep.DeleteAsync(u => u.Id == 1);
  62. await _sysMenuService.DeleteMenu(new DeleteMenuInput { Id = 252885263002711 });
  63. }
  64. /// <summary>
  65. /// 事务和工作单元测试
  66. /// </summary>
  67. /// <returns></returns>
  68. [HttpGet("/test/list2")]
  69. [UnitOfWork]
  70. public async Task<List<Test>> TestUnitOfWork()
  71. {
  72. await _testRep.InsertAsync(new Test() { Name = "admin" });
  73. var a = 1;
  74. var b = 0;
  75. var c = a / b;
  76. return await _testRep.GetListAsync();
  77. }
  78. /// <summary>
  79. /// 多语言测试
  80. /// </summary>
  81. /// <returns></returns>
  82. public string TestCulture()
  83. {
  84. "ddd".LogWarning();
  85. //L.SetCulture("zh-CN");
  86. //var a = L.GetSelectCulture();
  87. //var a1 = L.Text["API Interfaces"];
  88. //return $"当前语言【{a.Culture.Name}】 {a1}";
  89. L.SetCulture("en-US");
  90. var b = L.GetSelectCulture();
  91. var b1 = L.Text["API 接口"];
  92. return $"当前语言【{b.Culture.Name}】 {b1}";
  93. }
  94. /// <summary>
  95. /// 自定义规范化结果
  96. /// </summary>
  97. /// <returns></returns>
  98. [CustomUnifyResult("APP")]
  99. public string CustomUnifyResult()
  100. {
  101. return "Furion";
  102. }
  103. }