using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.FmFireSiteManage;
using OpenAuth.App.ServiceApp.FmInterphoneApp;
using OpenAuth.App.ServiceApp.FmInterphoneApp.Request;
using OpenAuth.App.ServiceApp.FmInterphoneApp.Response;
using OpenAuth.Repository.Domain.FireManagement;
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
{
///
/// 对讲机管理模块
///
[Route("api/[controller]/[action]")]
[ApiController]
public class FmInterPhoneController : ControllerBase
{
private readonly FmInterPhoneApp _app;
public FmInterPhoneController(FmInterPhoneApp app)
{
_app = app;
}
///
/// 获取对讲机信息
///
///
///
/// 唯一编码
/// 是否绑定
///
[HttpGet]
[AllowAnonymous]
public async Task>>> GetInterphoneInfo(int pageIndex, int pageSize, string account, int isbinding)
{
Response>> response = new Response>>();
try
{
return await _app.GetInterphoneInfo(pageIndex, pageSize, account,isbinding);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 添加或者更新对讲机
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> AddOrUpdateInterphoneInfo(FmInterphonePoint info)
{
Response response = new();
try
{
return await _app.AddOrUpdateInterphoneInfo(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 删除对讲机
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> DeleteInterphoneInfo(List ids)
{
Response response = new();
try
{
return await _app.DeleteInterphoneInfo(ids);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 导入数据
///
///
///
[HttpPost]
[AllowAnonymous]
public Response ExportInterphoneInfo(AddOrUpdateBatchExportUsersReq req)
{
Response response = new Response();
try
{
response.Message = _app.ExportInterphoneInfo(req);
response.Result = true;
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 导出数据
///
///
[HttpGet]
[AllowAnonymous]
public IActionResult ExportInfo()
{
var res = new Response();
var excelRes = _app.ExportInfo();
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"对讲机数据" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
}
else
{
res.Code = excelRes.Code;
res.Message = "导出失败";
}
return Ok(res);
}
}
}