using Castle.Core.Internal; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Ropin.Inspection.Api.Common; 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.Controllers { public class TsysMessageController : BaseController { public ILogger<TsysMessageController> _logger { get; } private readonly ITsysMessageService _TsysMessageService; /// <summary> /// 构造函数 /// </summary> /// <param name="TsysMessageService"></param> /// <param name="logger"></param> public TsysMessageController(ITsysMessageService TsysMessageService, ILogger<TsysMessageController> logger) { _TsysMessageService = TsysMessageService; _logger = logger; } /// <summary> /// 通过ID获取消息信息 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpGet("GetMessageAsync/{id}")] public async Task<ApiResult> GetMessageAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { var content = await _TsysMessageService.GetByIdAsync(id); return new ApiResult<TsysMessageViewModel>(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 获取所有消息 /// </summary> /// <returns></returns> [HttpGet("GetMessagesAsync")] public async Task<ApiResult> GetMessagesAsync() { try { var contentList = await _TsysMessageService.GetAllAsync(); return new ApiResult<IEnumerable<TsysMessageViewModel>>(contentList); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 通过消息名称条件查询 /// </summary> /// <param name="searchModel"></param> /// <returns></returns> [HttpPost("GetMessagesByAsync")] public async Task<ApiResult> GetMessagesByAsync(TsysMessageSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _TsysMessageService.GetConditionAsync(searchModel); return new ApiResult<PagesModel<TsysMessageViewModel>>(new PagesModel<TsysMessageViewModel>(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 通过消息名称条件查询【内容实体化】 /// </summary> /// <param name="searchModel"></param> /// <returns></returns> [HttpPost("GetConditionScreenAsync")] public async Task<ApiResult> GetConditionScreenAsync(TsysMessageSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _TsysMessageService.GetConditionScreenAsync(searchModel); return new ApiResult<PagesModel<TsysMessageModel>>(new PagesModel<TsysMessageModel>(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 创建消息 /// </summary> /// <param name="content"></param> /// <returns></returns> [HttpPost("CreateMessageAsync")] public async Task<ApiResult> CreateMessageAsync(TsysMessageViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _TsysMessageService.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("DeleteMessageAsync/{id}")] public async Task<ApiResult> DeleteMessageAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TsysMessageService.DeleteAsync(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("UpdateMessageAsync/{id}")] public async Task<ApiResult> UpdateMessageAsync(string id, TsysMessageUpdateModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TsysMessageService.UpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 更新消息状态 /// </summary> /// <param name="id"></param> /// <param name="msgStstus"></param> /// <returns></returns> [HttpGet("UpdateMessageAsync/{id}/{msgStstus}")] public async Task<ApiResult> UpdateMsgStuats(string id, int msgStstus) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TsysMessageService.UpdateMsgStatusAsync(id, msgStstus); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } } }