using Admin.NET.Application.Const;
using Furion.DatabaseAccessor;
using Furion.FriendlyException;
using Furion.Localization;
using Furion.Logging.Extensions;
using Microsoft.AspNetCore.Authorization;
namespace Admin.NET.Application.Service;
///
/// 自己业务服务
///
[ApiDescriptionSettings(ApplicationConst.GroupName, Order = 200)]
[AllowAnonymous]
public class TestService : IDynamicApiController, ITransient
{
private readonly SqlSugarRepository _testRep;
public TestService(SqlSugarRepository testRep)
{
_testRep = testRep;
}
///
/// 测试
///
public string GetName()
{
return "Furion";
}
///
/// 获取列表
///
///
[HttpGet("/test/list")]
public async Task> GetTestList()
{
return await _testRep.GetListAsync();
}
///
/// 异常测试
///
///
public void TestException()
{
throw new Exception("异常");
throw Oops.Oh("异常").WithData("数据");
}
///
/// 事务和工作单元测试
///
///
[HttpGet("/test/list2")]
[UnitOfWork]
public async Task> TestUnitOfWork()
{
await _testRep.InsertAsync(new Test() { Name = "admin" });
var a = 1;
var b = 0;
var c = a / b;
return await _testRep.GetListAsync();
}
///
/// 多语言测试
///
///
public string TestCulture()
{
"ddd".LogWarning();
//L.SetCulture("zh-CN");
//var a = L.GetSelectCulture();
//var a1 = L.Text["API Interfaces"];
//return $"当前语言【{a.Culture.Name}】 {a1}";
L.SetCulture("en-US");
var b = L.GetSelectCulture();
var b1 = L.Text["API 接口"];
return $"当前语言【{b.Culture.Name}】 {b1}";
}
///
/// 自定义规范化结果
///
///
[CustomUnifyResult("APP")]
public string CustomUnifyResult()
{
return "Furion";
}
}