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