using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using OpenAuth.App.Request; using OpenAuth.App; using Infrastructure; using OpenAuth.Repository.Domain; using DocumentFormat.OpenXml.Office2010.Excel; using JetBrains.Annotations; namespace OpenAuth.WebApi.Controllers { /// /// 土地 /// [Route("api/[controller]/[action]")] [ApiController] public class IdleLandController : ControllerBase { private IdleLandApp app; public IdleLandController(IdleLandApp _app) { app = _app; } #region 分页 /// /// 分页 /// [HttpGet] [AllowAnonymous] public async Task>>> LoadPage([FromQuery] PageReq request) { return await app.LoadPage(request); } /// /// 详情 /// /// /// [HttpGet] public async Task> Detail(string id) { var result = new Response(); try { result.Result = await app.Detail(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } #endregion /// /// 查图层 /// /// /// [HttpGet] [AllowAnonymous] public IActionResult QueryVectorTileByTable([FromQuery] QueryVectorTileByTableReq req) { var model = req.MapTo(); var result = app.VectorTile(model); return File(result, "application/octet-stream"); } /// /// 图斑中心点 /// /// /// /// [HttpGet] [AllowAnonymous] public Response GetCenterPoints(string tablename, string filter) { Response response = new Response(); try { response.Result = app.GetCenterPoints(tablename, filter); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 根据坐标获取村编码 /// /// /// /// [HttpGet] [AllowAnonymous] public async Task> GetRegionNum(decimal lat,decimal lng) { var result = new Response(); try { result.Result = await app.GetRegionNum(lat, lng); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 获取流水号 /// /// 前置类型 /// [HttpGet] public async Task> GetSequenceGen(string prefix) { var result = new Response(); try { result.Result = await app.GetSequenceGen(prefix); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } } }