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;
}
}
}