diff --git a/AutoDispathingWork/AutoDispathingWork.csproj b/AutoDispathingWork/AutoDispathingWork.csproj index bdf3b21..aaece96 100644 --- a/AutoDispathingWork/AutoDispathingWork.csproj +++ b/AutoDispathingWork/AutoDispathingWork.csproj @@ -8,6 +8,7 @@ + diff --git a/AutoDispathingWork/Controllers/UserController.cs b/AutoDispathingWork/Controllers/UserController.cs index c24add1..612b89e 100644 --- a/AutoDispathingWork/Controllers/UserController.cs +++ b/AutoDispathingWork/Controllers/UserController.cs @@ -1,6 +1,9 @@ -using Microsoft.AspNetCore.Mvc; +using LiteDB; +using Microsoft.AspNetCore.Mvc; +using WorkerService1.Domains; using WorkerService1.Dto; using WorkerService1.Dto.QueryRequest; +using WorkerService1.Dto.QueryResponse; using WorkerService1.Services; namespace WorkerService1.Controllers; @@ -15,12 +18,33 @@ public class UserController : ControllerBase [HttpGet("Pages")] public async Task GetPageList([FromQuery] UserQuery request, - [FromServices] SpiderServices spiderServices) + [FromServices] SpiderServices spiderServices, + [FromServices] LiteDatabase liteDatabase) { var res = await spiderServices.GetUsers(request); return Ok(res); } - - - + + [HttpGet("/api/Polygon/Pages")] + public SpiderResponse> GetPolygon([FromQuery] PageRequest request, + [FromServices] LiteDatabase db) + { + var polygon = db.GetCollection(); + return new SpiderResponse>() + { + IsSuccess = true, Code = SpiderResponseCode.Success, Message = "", Result = polygon.FindAll() + }; + } + + + [HttpPost("/api/Polygon")] + public SpiderResponse CreatePolygon([FromBody] Polygon request, [FromServices] LiteDatabase db) + { + var polygon = db.GetCollection(); + var result = polygon.Insert(request); + return new SpiderResponse() + { + IsSuccess = true, Code = SpiderResponseCode.Success, Message = "", Result = result + }; + } } \ No newline at end of file diff --git a/AutoDispathingWork/Domains/Polygon.cs b/AutoDispathingWork/Domains/Polygon.cs new file mode 100644 index 0000000..1982d5e --- /dev/null +++ b/AutoDispathingWork/Domains/Polygon.cs @@ -0,0 +1,15 @@ +namespace WorkerService1.Domains; + +public class Polygon +{ + public Guid PolygonId { get; set; } + public string Name { get; set; } + public string UserId { get; set; } + public Points[] Points { get; set; } +} + +public struct Points +{ + public double X { get; set; } + public double Y { get; set; } +} \ No newline at end of file diff --git a/AutoDispathingWork/Dto/PageRequest.cs b/AutoDispathingWork/Dto/PageRequest.cs index a642c2a..efecf54 100644 --- a/AutoDispathingWork/Dto/PageRequest.cs +++ b/AutoDispathingWork/Dto/PageRequest.cs @@ -1,10 +1,5 @@ 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/Program.cs b/AutoDispathingWork/Program.cs index 07f752e..8ad065e 100644 --- a/AutoDispathingWork/Program.cs +++ b/AutoDispathingWork/Program.cs @@ -1,3 +1,4 @@ +using LiteDB; using WorkerService1; using WorkerService1.Dto.Configuration; using WorkerService1.Services; @@ -17,6 +18,8 @@ builder.Services.AddCors(x => .AllowAnyHeader(); }); }); + +builder.Services.AddSingleton(x => new LiteDatabase(builder.Configuration["Database:ConnectionString"])); builder.Services.AddSingleton(config); builder.Services.Configure(config.GetSection("ClientOptions")); builder.Services.AddHttpClient(); @@ -28,11 +31,10 @@ builder.Services.AddSingleton(); builder.Services.AddHostedService(); builder.Services.AddHostedService(); #endif - var app = builder.Build(); app.UseCors("AllowAllOrigin"); app.MapControllers(); -app.Run(); +app.Run(); \ No newline at end of file diff --git a/AutoDispathingWork/appsettings.json b/AutoDispathingWork/appsettings.json index 770f522..877a046 100644 --- a/AutoDispathingWork/appsettings.json +++ b/AutoDispathingWork/appsettings.json @@ -5,6 +5,9 @@ "Microsoft.Hosting.Lifetime": "Information" } }, + "DataBase": { + "ConnectionString": "Dispathing.db" + }, "ClientOptions": { "ApiGateway": "http://121.4.75.240/", "UserName": "ganquanjiedao",