Infrastructure/OpenAuth.WebApi/Controllers/ServiceControllers/IdleLandController.cs

144 lines
3.9 KiB
C#
Raw Normal View History

2025-04-17 14:44:33 +08:00
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Request;
using OpenAuth.App;
using Infrastructure;
2025-04-18 13:23:18 +08:00
using OpenAuth.Repository.Domain;
2025-04-21 15:43:53 +08:00
using DocumentFormat.OpenXml.Office2010.Excel;
2025-04-21 16:49:09 +08:00
using JetBrains.Annotations;
2025-04-17 14:44:33 +08:00
namespace OpenAuth.WebApi.Controllers
{
2025-04-18 13:23:18 +08:00
/// <summary>
/// 土地
/// </summary>
2025-04-17 14:44:33 +08:00
[Route("api/[controller]/[action]")]
[ApiController]
public class IdleLandController : ControllerBase
{
private IdleLandApp app;
public IdleLandController(IdleLandApp _app)
{
app = _app;
}
2025-04-18 13:23:18 +08:00
#region 分页
/// <summary>
/// 分页
/// </summary>
[HttpGet]
public async Task<Response<PageInfo<List<IdleLand>>>> LoadPage([FromQuery] PageReq request)
{
return await app.LoadPage(request);
}
2025-04-21 10:06:34 +08:00
/// <summary>
/// 详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<IdleLand>> Detail(string id)
{
var result = new Response<IdleLand>();
try
{
result.Result = await app.Detail(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
2025-04-18 13:23:18 +08:00
#endregion
2025-04-17 14:44:33 +08:00
/// <summary>
/// 查图层
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public IActionResult QueryVectorTileByTable([FromQuery] QueryVectorTileByTableReq req)
{
var model = req.MapTo<VectorTileSearchModel>();
var result = app.VectorTile(model);
return File(result, "application/octet-stream");
}
2025-04-21 15:43:53 +08:00
2025-04-21 16:13:14 +08:00
/// <summary>
/// 图斑中心点
/// </summary>
/// <param name="tablename"></param>
/// <param name="filter"></param>
/// <returns></returns>
[HttpGet]
2025-04-21 16:49:09 +08:00
[AllowAnonymous]
2025-04-21 16:13:14 +08:00
public Response<dynamic> GetCenterPoints(string tablename, string filter)
{
Response<dynamic> response = new Response<dynamic>();
try
{
response.Result = app.GetCenterPoints(tablename, filter);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
2025-04-21 15:43:53 +08:00
/// <summary>
/// 根据坐标获取村编码
/// </summary>
/// <param name="lat"></param>
/// <param name="lng"></param>
/// <returns></returns>
[HttpGet]
2025-04-21 16:02:47 +08:00
[AllowAnonymous]
2025-04-21 15:43:53 +08:00
public async Task<Response<string>> GetRegionNum(decimal lat,decimal lng)
{
var result = new Response<string>();
try
{
2025-04-21 16:02:47 +08:00
result.Result = await app.GetRegionNum(lat, lng);
2025-04-21 15:43:53 +08:00
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 获取流水号
/// </summary>
/// <param name="prefix">前置类型</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<string>> GetSequenceGen(string prefix)
{
var result = new Response<string>();
try
{
result.Result = await app.GetSequenceGen(prefix);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
2025-04-17 14:44:33 +08:00
}
}