From eff9386228b026fda16a9858a80025b42055eacf Mon Sep 17 00:00:00 2001 From: sulu Date: Fri, 17 Nov 2023 08:40:24 +0800 Subject: [PATCH] =?UTF-8?q?'=E5=BC=80=E5=8F=91=E8=BF=9B=E5=BA=A6=E6=9A=82?= =?UTF-8?q?=E5=AD=98'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AutoDispathingWork/AutoDispathingWork.csproj | 4 +-- .../Controllers/UserController.cs | 26 +++++++++++++++++++ AutoDispathingWork/Dto/PageRequest.cs | 10 +++++++ AutoDispathingWork/Dto/PageResponse.cs | 9 +++++++ AutoDispathingWork/Program.cs | 25 +++++++++++++++--- AutoDispathingWork/Services/SpiderServices.cs | 7 +++-- 6 files changed, 70 insertions(+), 11 deletions(-) create mode 100644 AutoDispathingWork/Controllers/UserController.cs create mode 100644 AutoDispathingWork/Dto/PageRequest.cs create mode 100644 AutoDispathingWork/Dto/PageResponse.cs diff --git a/AutoDispathingWork/AutoDispathingWork.csproj b/AutoDispathingWork/AutoDispathingWork.csproj index e13fb30..bdf3b21 100644 --- a/AutoDispathingWork/AutoDispathingWork.csproj +++ b/AutoDispathingWork/AutoDispathingWork.csproj @@ -1,12 +1,10 @@ - + net8.0 enable enable - dotnet-WorkerService1-16724269-88FF-4E7A-9946-5155FD173413 Linux - WorkerService1 diff --git a/AutoDispathingWork/Controllers/UserController.cs b/AutoDispathingWork/Controllers/UserController.cs new file mode 100644 index 0000000..c24add1 --- /dev/null +++ b/AutoDispathingWork/Controllers/UserController.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Mvc; +using WorkerService1.Dto; +using WorkerService1.Dto.QueryRequest; +using WorkerService1.Services; + +namespace WorkerService1.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class UserController : ControllerBase +{ + public UserController() + { + } + + [HttpGet("Pages")] + public async Task GetPageList([FromQuery] UserQuery request, + [FromServices] SpiderServices spiderServices) + { + var res = await spiderServices.GetUsers(request); + return Ok(res); + } + + + +} \ No newline at end of file diff --git a/AutoDispathingWork/Dto/PageRequest.cs b/AutoDispathingWork/Dto/PageRequest.cs new file mode 100644 index 0000000..a642c2a --- /dev/null +++ b/AutoDispathingWork/Dto/PageRequest.cs @@ -0,0 +1,10 @@ +namespace WorkerService1.Dto; + +public class PageRequest +{ + public string Search { get; set; } + public int Page { get; set; } + public int PageSize { get; set; } + public string Sort { get; set; } + public bool IsAsc { get; set; } +} \ No newline at end of file diff --git a/AutoDispathingWork/Dto/PageResponse.cs b/AutoDispathingWork/Dto/PageResponse.cs new file mode 100644 index 0000000..b7774d9 --- /dev/null +++ b/AutoDispathingWork/Dto/PageResponse.cs @@ -0,0 +1,9 @@ +namespace WorkerService1.Dto; + +public class PageResponse +{ + public int Total { get; set; } + public int Page { get; set; } + public int PageSize { get; set; } + public List Data { get; set; } +} \ No newline at end of file diff --git a/AutoDispathingWork/Program.cs b/AutoDispathingWork/Program.cs index 81c2493..07f752e 100644 --- a/AutoDispathingWork/Program.cs +++ b/AutoDispathingWork/Program.cs @@ -3,19 +3,36 @@ using WorkerService1.Dto.Configuration; using WorkerService1.Services; -var builder = Host.CreateApplicationBuilder(args); +var builder = WebApplication.CreateBuilder(args); var config = new ConfigurationManager() .AddJsonFile("appsettings.json", false, true) .Build(); - +builder.Services.AddCors(x => +{ + x.AddPolicy("AllowAllOrigin", builder => + { + builder + .SetIsOriginAllowed(_ => true) + .AllowAnyMethod() + .AllowAnyHeader(); + }); +}); builder.Services.AddSingleton(config); builder.Services.Configure(config.GetSection("ClientOptions")); builder.Services.AddHttpClient(); builder.Services.AddMemoryCache(); builder.Services.AddLogging(); +builder.Services.AddMvcCore(); builder.Services.AddSingleton(); +#if !DEBUG builder.Services.AddHostedService(); builder.Services.AddHostedService(); +#endif + -var host = builder.Build(); -host.Run(); \ No newline at end of file + +var app = builder.Build(); +app.UseCors("AllowAllOrigin"); + +app.MapControllers(); +app.Run(); diff --git a/AutoDispathingWork/Services/SpiderServices.cs b/AutoDispathingWork/Services/SpiderServices.cs index 277156a..78a3697 100644 --- a/AutoDispathingWork/Services/SpiderServices.cs +++ b/AutoDispathingWork/Services/SpiderServices.cs @@ -32,7 +32,6 @@ public class SpiderServices .GetRequiredService>(); - public async Task> Login() { using var client = _httpClientFactory.CreateClient(); @@ -152,7 +151,7 @@ public class SpiderServices // {"pageNo":1,"pageSize":20,"condition":{"roleIds":["a2e267c0-d88d-4ecb-a4b5-d904e85dfbb6"],"enabled":"null"}} - public async Task> GetUsers() + public async Task> GetUsers(UserQuery? query = null) { var token = await GetToken(); using var client = _httpClientFactory.CreateClient(); @@ -161,7 +160,7 @@ public class SpiderServices client.DefaultRequestHeaders.Add("client-app-id", "megcity-web"); client.DefaultRequestHeaders.Add("module-alias", "pending-forward"); client.DefaultRequestHeaders.Add("module-source", "megcity-web"); - var request = new UserQuery(); + var request = query ?? new UserQuery(); var userPath = OptionsMonitor.CurrentValue.GetUserUrl; var response = await client.PostAsync(userPath, new StringContent(JsonSerializer.Serialize(request), Encoding.UTF8, "application/json")); @@ -255,7 +254,7 @@ public class SpiderServices client.DefaultRequestHeaders.Add("client-app-id", "megcity-web"); client.DefaultRequestHeaders.Add("module-alias", "pending-forward"); client.DefaultRequestHeaders.Add("module-source", "megcity-web"); - + var form = new MultipartFormDataContent(); //Region为请求文件接口需要的参数,根据调用接口参数而定 form.Add(new StringContent(caseNumber), "caseNumber");