using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Ropin.Core.Extensions.Redis; using Ropin.Inspection.Api.Common; using Ropin.Inspection.Api.Controllers; using Ropin.Inspection.Model; using Ropin.Inspection.Service; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Ropin.Inspection.Api { public class TdevBoxDevSpotController : BaseController { public ILogger _logger { get; } private readonly IRedisBasketRepository _redisService; private readonly ITdevBoxDevSpotService _TdevBoxDevSpotService; /// /// 构造函数 /// /// /// public TdevBoxDevSpotController(ITdevBoxDevSpotService TdevBoxDevSpotService, IRedisBasketRepository redisService,ILogger logger) { _TdevBoxDevSpotService = TdevBoxDevSpotService; _logger = logger; _redisService = redisService; } /// /// 创建盒子设备信息 /// /// 盒子模型 /// [HttpPost("CreateBoxDevSpotAsync")] [AllowAnonymous] public async Task CreateBoxDevSpotAsync(TdevBoxDevSpotViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _TdevBoxDevSpotService.CreateOneAsync(content); await _redisService.Set("mqtt_BoxDevSpot_IsUpdate", "1", TimeSpan.FromDays(7)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 删除盒子设备信息 /// /// /// [HttpDelete("DeleteBoxDevSpotAsync/{id}")] public async Task DeleteBoxDevSpotAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TdevBoxDevSpotService.DeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 更新盒子设备信息 /// /// /// /// [HttpPut("UpdateBoxDevSpotAsync/{id}")] [AllowAnonymous] public async Task UpdateBoxDevSpotAsync(string id, TdevBoxDevSpotUpdateModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TdevBoxDevSpotService.UpdateAsync(id, updateModel); await _redisService.Set("mqtt_BoxDevSpot_IsUpdate", "1", TimeSpan.FromDays(7)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 通过id获取盒子设备信息 /// /// [HttpPost("GetBoxDevSpotAsync")] [AllowAnonymous] public async Task GetBoxDevSpotAsync(TdevBoxDevSpotSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _TdevBoxDevSpotService.GetConditionAsync(searchModel); return new ApiResult>(new PagesModel(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 通过 /// /// /// //[HttpGet("GetBoxDevSpotByCodeAsync/{id}")] //[AllowAnonymous] //public async Task GetBoxDevSpotByCodeAsync(string id) //{ // if (string.IsNullOrEmpty(id)) // { // return new ApiResult(ReturnCode.GeneralError); // } // try // { // var content = await _TdevBoxDevSpotService.GetConditionAsync(new TdevBoxDevSpotSearchModel { C_DevSpotCode = id }); // var dev = content.ToList(); // return new ApiResult>(new List(dev)); // } // catch (Exception ex) // { // return new ApiResult(ReturnCode.GeneralError, ex.Message); // } //} } }