diff --git a/Src/Dlhis.External/OpenApi/Controllers/FactoryController.cs b/Src/Dlhis.External/OpenApi/Controllers/FactoryController.cs new file mode 100644 index 00000000..79b6861f --- /dev/null +++ b/Src/Dlhis.External/OpenApi/Controllers/FactoryController.cs @@ -0,0 +1,26 @@ +using Dlhis.External.OpenApi.Response; +using Dlhis.External.OpenApi.Services; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Dlhis.External.OpenApi.Controllers +{ + [Authorize] + [Route("api/[controller]")] + [ApiController] + public class FactoryController : ControllerBase + { + private readonly IFactoryService _factoryService; + + public FactoryController(IFactoryService factoryService) + { + _factoryService = factoryService; + } + + [HttpGet("all")] + public async Task> GetAllFactoriesAsync() + { + return await _factoryService.GetAllFactoriesAsync(); + } + } +} \ No newline at end of file diff --git a/Src/Dlhis.External/OpenApi/Response/FactoryResponse.cs b/Src/Dlhis.External/OpenApi/Response/FactoryResponse.cs new file mode 100644 index 00000000..ef9ea805 --- /dev/null +++ b/Src/Dlhis.External/OpenApi/Response/FactoryResponse.cs @@ -0,0 +1,9 @@ +namespace Dlhis.External.OpenApi.Response +{ + public class FactoryResponse + { + public string PCode { get; set; } + public string Code { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/Src/Dlhis.External/OpenApi/Services/IFactoryService.cs b/Src/Dlhis.External/OpenApi/Services/IFactoryService.cs new file mode 100644 index 00000000..813d73f1 --- /dev/null +++ b/Src/Dlhis.External/OpenApi/Services/IFactoryService.cs @@ -0,0 +1,9 @@ +using Dlhis.External.OpenApi.Response; + +namespace Dlhis.External.OpenApi.Services +{ + public interface IFactoryService : IScopeDependency + { + Task> GetAllFactoriesAsync(); + } +} \ No newline at end of file diff --git a/Src/Dlhis.External/OpenApi/Services/Implements/FactoryService.cs b/Src/Dlhis.External/OpenApi/Services/Implements/FactoryService.cs new file mode 100644 index 00000000..0a8df295 --- /dev/null +++ b/Src/Dlhis.External/OpenApi/Services/Implements/FactoryService.cs @@ -0,0 +1,29 @@ +using Dlhis.Entity.Sys.Entities; +using Dlhis.External.OpenApi.Response; +using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; + +namespace Dlhis.External.OpenApi.Services.Implements +{ + public class FactoryService : IFactoryService + { + private readonly IDbContext _dbContext; + + public FactoryService(IDbContext dbContext) + { + _dbContext = dbContext.ChangeDb("identity"); + } + + public async Task> GetAllFactoriesAsync() + { + return await _dbContext.Queryable() + .Where(x => x.Code != "1234") + .Select(x => new FactoryResponse + { + PCode = x.PCode, + Code = x.Code, + Name = x.Name + }) + .ToListAsync(); + } + } +} \ No newline at end of file