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