feixian_weifajianguan/OpenAuth.WebApi/Controllers/ServiceControllers/GeoTiffManagerController.cs

130 lines
3.3 KiB
C#

using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp.ShpGeo;
using OpenAuth.App.ServiceApp.ShpGeo.Request;
using OpenAuth.App.ServiceApp.ShpGeo.Response;
using OpenAuth.App.Shape.Request;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers.ServiceControllers;
[Route("api/[controller]/[action]")]
[ApiController]
public class GeoTiffManagerController : ControllerBase
{
private readonly GeoTiffManagerApp _app;
public GeoTiffManagerController(GeoTiffManagerApp geoTiffManagerApp)
{
_app = geoTiffManagerApp;
}
/// <summary>
/// 更新tiff影像
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<List<string>>> UpdateGeoTiff()
{
return await _app.UpdateGeoTiff();
}
/// <summary>
/// 列表
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<GeoTiffManager>>>> LoadPage([FromQuery] GeoTiffManagerReq req)
{
return await _app.LoadPage(req);
}
/// <summary>
/// 影像详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public Response<GeoTiffManager> Get(string id)
{
var result = new Response<GeoTiffManager>();
try
{
result.Result = _app.Get(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
[AllowAnonymous]
[HttpPost]
public Response<string> Test(string storeName, string layerName)
{
var result = _app.Test(storeName, layerName);
return new Response<string> { Result = result };
}
/// <summary>
/// 返回相交影像信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<List<TifInfo>>>> GetIntersects([FromQuery] GeoTiffManagerReq req)
{
return new Response<PageInfo<List<TifInfo>>>
{
Result = await _app.GetIntersects(req)
};
}
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> GroupGeoTiff(string type)
{
return await _app.GroupGeoTiff(type);
}
/// <summary>
/// 删除图层存储,级联删除图层
/// </summary>
/// <param name="stores"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteTifStore(string stores)
{
return await _app.DeleteTifStore(stores);
}
/// <summary>
/// 生成图层组缩略图
/// </summary>
/// <param name="layerGroups"></param>
/// <param name="bbox"></param>
/// <param name="num"></param>
/// <param name="height"></param>
/// <param name="width"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> UpdateLayerGroupThumb(string layerGroups, string bbox, int num, int height = 768,
int width = 330)
{
return await _app.UpdateLayerGroupThumb(layerGroups, bbox, num, height, width);
}
[HttpGet]
[AllowAnonymous]
public dynamic GetTifCrs(string filePath)
{
return _app.GetTifCrs(filePath);
}
}