using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.FireManagement;
using OpenAuth.App.ServiceApp.FireManagement.Request;
using OpenAuth.App.ServiceApp.FmFireSiteManage;
using OpenAuth.App.ServiceApp.FmFireSiteManage.Response;
using OpenAuth.Repository.Domain.FireManagement;
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
{
///
/// 防火站点管理模块
///
[Route("api/[controller]/[action]")]
[ApiController]
public class FmFireSiteController : ControllerBase
{
private readonly FmFireSiteApp _app;
public FmFireSiteController(FmFireSiteApp app)
{
_app = app;
}
#region 站点管理
///
/// 查询所有站点
///
/// 站点名称
///
///
/// 状态(0-未审核,1-审核通过,2-未通过)
///
[HttpGet]
public async Task>>> LoadAllSite(string siteName, int pageIndex, int pageSize, int state)
{
Response>> response = new Response>>();
try
{
return await _app.LoadAllSite(siteName,pageIndex,pageSize,state);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 导出所有站点
///
///
[HttpGet]
public IActionResult ExportSite(int state)
{
var ms = _app.ExportSite(state);
ms.Position = 0;
return File(ms, "application/octet-stream",
$"站点{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
}
///
/// 站点审核
///
/// 站点id
/// 要修改的状态
/// 审核说明
///
[HttpPost]
public async Task> AuditSite(long siteId, int state, string content)
{
Response response = new();
try
{
return await _app.AuditSite(siteId,state,content);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取站点管理人员及消息接收人员
///
/// 站点id
/// 角色id(站点管理人员角色的id)
/// 页码
/// 页面大小
///
[HttpGet]
public async Task>>> LoadSiteUser(long siteId, long roleid, int pageIndex, int pageSize)
{
Response>> response = new Response>>();
try
{
return await _app.LoadSiteUser(siteId, roleid,pageIndex, pageSize);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取所有站点管理人员
///
/// 角色id(站点管理人员角色id)
/// 页码
/// 页面大小
///
[HttpGet]
[AllowAnonymous]
public TableData LoadSiteAllUser(long roleid, int pageIndex, int pageSize)
{
return _app.LoadSiteAllUser(roleid,pageIndex, pageSize);
}
///
/// 根据管理员获取站点列表
///
///
///
///
///
[HttpGet]
[AllowAnonymous]
public TableData LoadSiteByUserId(string userId, int pageIndex, int pageSize)
{
return _app.LoadSiteByUserId(userId, pageIndex, pageSize);
}
///
/// 注册站点信息
///
/// 站点数据
///
[HttpPost]
[AllowAnonymous]
public async Task> AddSiteInfo(FmSiteInfo fmSite)
{
Response response = new();
try
{
return await _app.AddSite(fmSite);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 站点编辑
///
/// 站点编辑
///
[HttpPost]
[AllowAnonymous]
public async Task> EditSiteInfo(FmSiteInfo fmSite)
{
Response response = new();
try
{
return await _app.EditSite(fmSite);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 获取站点详情
///
/// 站点id
///
[HttpGet]
public async Task> GetSiteInfo(long siteId)
{
Response response = new Response();
try
{
return await _app.GetSiteInfo(siteId);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
}
}