142 lines
3.9 KiB
C#
142 lines
3.9 KiB
C#
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;
|
|
|
|
namespace OpenAuth.WebApi.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 土地
|
|
/// </summary>
|
|
[Route("api/[controller]/[action]")]
|
|
[ApiController]
|
|
public class IdleLandController : ControllerBase
|
|
{
|
|
private IdleLandApp app;
|
|
public IdleLandController(IdleLandApp _app)
|
|
{
|
|
app = _app;
|
|
}
|
|
|
|
#region 分页
|
|
/// <summary>
|
|
/// 分页
|
|
/// </summary>
|
|
[HttpGet]
|
|
public async Task<Response<PageInfo<List<IdleLand>>>> LoadPage([FromQuery] PageReq request)
|
|
{
|
|
return await app.LoadPage(request);
|
|
}
|
|
|
|
|
|
/// <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;
|
|
}
|
|
#endregion
|
|
|
|
/// <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");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 图斑中心点
|
|
/// </summary>
|
|
/// <param name="tablename"></param>
|
|
/// <param name="filter"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据坐标获取村编码
|
|
/// </summary>
|
|
/// <param name="lat"></param>
|
|
/// <param name="lng"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[AllowAnonymous]
|
|
public async Task<Response<string>> GetRegionNum(decimal lat,decimal lng)
|
|
{
|
|
var result = new Response<string>();
|
|
try
|
|
{
|
|
result.Result = await app.GetRegionNum(lat, lng);
|
|
}
|
|
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;
|
|
}
|
|
}
|
|
}
|