using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.DroneCaseInfo;
using OpenAuth.App.ServiceApp.InsTaskHallManager;
using OpenAuth.App.ServiceApp.Request;
using OpenAuth.App.ServiceApp.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers.ServiceControllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class DroneCaseinfoController : ControllerBase
{
private readonly DroneCaseinfoApp _app;
public DroneCaseinfoController(DroneCaseinfoApp app)
{
_app = app;
}
///
/// 无人机添加案件
///
///
///
[HttpPost]
public Response AddDroneCaseByDrone([FromBody] AddDroneCaseByDroneReq req)
{
Response response = new Response();
try
{
response.Result = _app.AddDroneCaseByDrone(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 案件详情
///
///
///
[HttpGet]
public Response GetCaseInfo(string id)
{
Response response = new Response();
try
{
response.Result = _app.GetCaseInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取GeoJson
/// PC获取图层的GeoJson(判读页面用)
///
///
///
[HttpGet]
public Response GetDroneGeoJson(string id)
{
Response response = new Response();
try
{
response.Result = _app.GetDroneGeoJson(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 案件判读
///
///
///
[HttpPost]
public Response UpdateDroneCaseInfoIntact([FromBody] AddOrUpdateDroneCaseInfoDataBaseReq req)
{
Response response = new Response();
try
{
response.Result = _app.UpdateDroneCaseInfoIntact(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 上报案件
///
///
///
[HttpPost]
public Response AddDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response response = new Response();
try
{
if (string.IsNullOrEmpty(req.info.Id))
{
//新增
response.Result = _app.AddDroneCaseInfo(req);
}
else
{
//修改
response.Result = _app.UpdateDroneCaseInfo(req);
}
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 删除文件 - 通过路径删除
///
///
///
[HttpPost]
public Response DeleteDroneFilesByPath(string[] paths)
{
Response response = new Response();
try
{
response.Result = _app.DeleteDroneFilesByPath(paths);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 关闭案件(判读用)
///
/// 案件id
///
[HttpGet]
public Response CloseDroneCaseInfo(string id)
{
Response response = new Response();
try
{
response.Result = _app.CloseDroneCaseInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 添加违建图层
///
///
///
[HttpPost]
public Response AddIllegalBuildeLayer([FromBody] DroneShpData model)
{
var res = new Response();
try
{
res.Result = _app.AddIllegalBuildeLayer(model);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
///
/// 删除图斑
///
///
///
[HttpGet]
public Response DeleteDroneLayers(int gid)
{
var res = new Response();
try
{
res.Result = _app.DeleteDroneLayers(gid);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
///
/// 根据经纬度获取组织机构
///
///
///
///
[HttpGet]
public Response GetOrgAreaByPoint(decimal lng, decimal lat)
{
Response response = new Response();
try
{
response.Result = _app.GetOrgAreaByPoint(lng, lat);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 查询处理案件列表
///
///
///
[HttpGet]
public TableData LoadDealCaseInfoList([FromQuery] QueryDealCaseInfoListReq obj)
{
TableData response = new TableData();
try
{
response = _app.LoadDealCaseInfoList(obj);
}
catch (Exception ex)
{
response.code = 500;
response.msg = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#region 复提案件
///
/// 复提案件
///
/// 案件id
///
[AllowAnonymous]
[HttpPost]
public Response ReSubmitCaseInfo([FromBody] ReSubmitInfo submitInfo)
{
Response response = new Response();
try
{
response.Result = _app.ReSubmitCaseInfo(submitInfo);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 关闭案件
///
/// 关闭案件
///
///
[AllowAnonymous]
[HttpPost]
public Response CloseCaseInfo([FromBody] CloseCaseInfo submitInfo)
{
Response response = new Response();
try
{
response.Result = _app.CloseCaseInfo(submitInfo);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
}
}