using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp.FireManagement;
using OpenAuth.App.ServiceApp.FireManagement.Request;
using OpenAuth.App.ServiceApp.FireManagement.Response;
using OpenAuth.Repository.Domain.FireManagement;
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
{
///
/// 防火管理模块
///
[Route("api/[controller]/[action]")]
[ApiController]
public class FireManagementController : ControllerBase
{
private readonly FireManagementApp _app;
public FireManagementController(FireManagementApp app)
{
_app = app;
}
///
/// 下发防火线索任务
///
/// 防火任信息
///
[HttpPost]
public async Task> IssuedFireClueTask(FmFireclueTask info)
{
Response response = new Response();
try
{
return await _app.IssuedFireClueTask(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 查询接收人员
///
///
///
[HttpGet]
public async Task>> LoadFireClueUser(string username, string unitname)
{
Response> response = new Response>();
try
{
return await _app.LoadFireClueUser(username, unitname);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 查询任务列表
///
///
///
[HttpGet]
public async Task>> GetTaskList()
{
Response> response = new Response>();
try
{
return await _app.GetTaskList();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 查询人员单位信息
///
///
[HttpGet]
public async Task>> GetUserUnit()
{
Response> response = new Response>();
try
{
return await _app.GetUserUnit();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#region 人员单位管理
///
/// 添加人员单位
///
///
///
[HttpPost]
public async Task> AddUserUnit(FmUserUnit info)
{
Response response = new Response();
try
{
return await _app.AddUserUnit(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 编辑人员单位
///
///
///
[HttpPost]
public async Task> EditUserUnit(FmUserUnit info)
{
Response response = new Response();
try
{
return await _app.EditUserUnit(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 删除人员单位
///
///
///
[HttpPost]
public async Task> DeleteUserUnit(long id)
{
Response response = new Response();
try
{
return await _app.DeleteUserUnit(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取单条人员单位
///
///
///
[HttpGet]
public async Task> LoadUserUnitById(long id)
{
Response response = new Response();
try
{
return await _app.LoadUserUnitById(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 人员单位信息导入
///
///
///
[HttpPost]
public Response FireUserUnitUpload(IFormFileCollection formFiles)
{
Response response = new Response();
try
{
return _app.FireUserUnitUpload(formFiles);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 火情线索
///
/// 添加火情线索
///
///
///
[HttpPost]
public async Task> AddFireClueInfo(FmFireclueInfo info)
{
Response response = new Response();
try
{
return await _app.AddFireClueInfo(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 查询火情线索
///
///
[HttpGet]
public async Task> LoadClueInfoById(long id)
{
Response response = new Response();
try
{
return await _app.LoadClueInfoById(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取火情信息和摄像机信息
///
///
///
[HttpGet]
public async Task> LoadClueWithInfoById(long id)
{
Response response = new Response();
try
{
return await _app.LoadClueWithInfoById(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 查询火情线索列表
///
///
[HttpGet]
public async Task>> GetFireClueList()
{
Response> response = new Response>();
try
{
return await _app.GetFireClueList();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 按日期统计火情线索
///
/// 1-月,2-年
///
[HttpGet]
public async Task>> GetFireClueStatistics(int type)
{
Response> response = new Response>();
try
{
return await _app.GetFireClueStatistics(type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 按状态统计火情线索
///
/// 1-日,2-月,3-年
///
[HttpGet]
public async Task>> GetFireClueStatisticsByState(int type)
{
Response> response = new Response>();
try
{
return await _app.GetFireClueStatisticsByState(type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 按等级统计火情线索
///
/// 1-日,2-月,3-年
///
[HttpGet]
public async Task>> GetFireClueStatisticsByDegreeType(int type)
{
Response> response = new Response>();
try
{
return await _app.GetFireClueStatisticsByDegreeType(type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
///
/// 在线情况
///
///
///
[HttpPost]
public async Task>> GetPointUserOnLine(UserOnLineReq pageReq)
{
Response> response = new Response>();
try
{
return await _app.GetPointUserOnLine(pageReq);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 添加人员坐标点
///
/// 坐标点
///
[HttpPost]
[AllowAnonymous]
public async Task> AddPoint(FmUserPoint info)
{
return await _app.AddPointAsync(info);
}
}
}