using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Ropin.Inspection.Api.Common; using Ropin.Inspection.Model.ViewModel.DEV; using Ropin.Inspection.Model; using Ropin.Inspection.Service.DEV.Interface; using System.Threading.Tasks; using System; using log4net; using Ropin.Inspection.Model.SearchModel.DEV; namespace Ropin.Inspection.Api.Controllers.DEV { public class DEVCmdController : BaseController { private static readonly ILog log = LogManager.GetLogger(typeof(DEVCmdController)); private readonly IDEVCmdService _repository; /// <summary> /// 构造函数 /// </summary> /// <param name="repository"></param> public DEVCmdController(IDEVCmdService repository) { _repository = repository; } #region 命令 /// <summary> /// 创建命令信息 /// </summary> /// <param name="content"></param> /// <returns></returns> [HttpPost("CreateCmdAsync")] public async Task<ApiResult> CreateCmdAsync(DevCmdViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _repository.CreateOneAsync(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 删除命令信息 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DeleteCmdAsync/{id}")] public async Task<ApiResult> DeleteCmdAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.DeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 禁用命令信息 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DisableCmdAsync/{id}")] public async Task<ApiResult> DisableCmdAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.DisableAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 更新命令信息 /// </summary> /// <param name="id"></param> /// <param name="updateModel"></param> /// <returns></returns> [HttpPut("UpdateCmdAsync/{id}")] [AllowAnonymous] public async Task<ApiResult> UpdateCmdAsync(string id, DevCmdViewModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.UpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 获取命令信息 /// </summary> /// <returns></returns> [HttpPost("GetCmdConditionAsync")] [AllowAnonymous] public async Task<ApiResult> GetCmdConditionAsync(DevCmdSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _repository.GetConditionAsync(searchModel); return new ApiResult<PagesModel<DevCmdViewModel>>(new PagesModel<DevCmdViewModel>(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 通过id获取命令信息 /// </summary> /// <returns></returns> [HttpPost("GetCmdByIDAsync")] [AllowAnonymous] public async Task<ApiResult> GetCmdByIDAsync(string Id) { if (string.IsNullOrEmpty(Id)) { return new ApiResult(ReturnCode.ArgsError); } try { DevCmdViewModel data = new DevCmdViewModel(); data = await _repository.GetByIdAsync(Id); return new ApiResult<DevCmdViewModel>(data); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } #endregion #region 指令 /// <summary> /// 创建指令信息 /// </summary> /// <param name="content"></param> /// <returns></returns> [HttpPost("InstructionCreateOneAsync")] public async Task<ApiResult> InstructionCreateOneAsync(DevInstructionViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _repository.InstructionCreateOneAsync(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 删除指令信息 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DeleteInstructionAsync/{id}")] public async Task<ApiResult> DeleteInstructionAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.InstructionDeleteAsync(id,true); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 禁用指令信息 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DisableInstructionAsync/{id}")] public async Task<ApiResult> DisableInstructionAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.InstructionDeleteAsync(id,false); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 更新指令信息 /// </summary> /// <param name="id"></param> /// <param name="updateModel"></param> /// <returns></returns> [HttpPut("InstructionUpdateAsync/{id}")] [AllowAnonymous] public async Task<ApiResult> InstructionUpdateAsync(string id, DevInstructionViewModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.InstructionUpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 获取指令信息 /// </summary> /// <returns></returns> [HttpPost("GetInstructionConditionAsync")] [AllowAnonymous] public async Task<ApiResult> GetInstructionConditionAsync(DevInstructionSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _repository.GetInstructionConditionAsync(searchModel); return new ApiResult<PagesModel<DevInstructionViewModel>>(new PagesModel<DevInstructionViewModel>(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 通过id获取指令信息 /// </summary> /// <returns></returns> [HttpPost("GetInstructionByIdAsync")] [AllowAnonymous] public async Task<ApiResult> GetInstructionByIdAsync(string Id) { if (string.IsNullOrEmpty(Id)) { return new ApiResult(ReturnCode.ArgsError); } try { DevInstructionViewModel data = new DevInstructionViewModel(); data = await _repository.GetInstructionByIdAsync(Id); return new ApiResult<DevInstructionViewModel>(data); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } #endregion #region 命令-指令 /// <summary> /// 创建命令-指令信息 /// </summary> /// <param name="content"></param> /// <returns></returns> [HttpPost("CmdInstructionCreateOneAsync")] public async Task<ApiResult> CmdInstructionCreateOneAsync(DevCmdInstructionViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _repository.CmdInstructionCreateOneAsync(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 删除命令-指令信息 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("CmdInstructionDeleteAsync/{id}")] public async Task<ApiResult> CmdInstructionDeleteAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.CmdInstructionDeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 更新命令-指令信息 /// </summary> /// <param name="id"></param> /// <param name="updateModel"></param> /// <returns></returns> [HttpPut("CmdInstructionUpdateAsync/{id}")] [AllowAnonymous] public async Task<ApiResult> CmdInstructionUpdateAsync(string id, DevCmdInstructionViewModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _repository.CmdInstructionUpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 获取命令-指令信息 /// </summary> /// <returns></returns> [HttpPost("GetCmdInstructionConditionAsync")] [AllowAnonymous] public async Task<ApiResult> GetCmdInstructionConditionAsync(DevCmdInstructionSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _repository.GetCmdInstructionConditionAsync(searchModel); return new ApiResult<PagesModel<DevCmdInstructionViewModel>>(new PagesModel<DevCmdInstructionViewModel>(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 通过id获取命令-指令信息 /// </summary> /// <returns></returns> [HttpPost("GetCmdInstructionByIdAsync")] [AllowAnonymous] public async Task<ApiResult> GetCmdInstructionByIdAsync(string Id) { if (string.IsNullOrEmpty(Id)) { return new ApiResult(ReturnCode.ArgsError); } try { DevCmdInstructionViewModel data = new DevCmdInstructionViewModel(); data = await _repository.GetCmdInstructionByIdAsync(Id); return new ApiResult<DevCmdInstructionViewModel>(data); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } #endregion } }