123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 |
- using Castle.Core.Internal;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.Extensions.Logging;
- using Ropin.Inspection.Api.Common;
- using Ropin.Inspection.Api.Controllers;
- using Ropin.Inspection.Common.Helper;
- using Ropin.Inspection.Model;
- using Ropin.Inspection.Service;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.Http;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Api
- {
- public class TmtnPushMsgToController : BaseController
- {
- public ILogger<TmtnPushMsgToController> _logger { get; }
- private readonly ITmtnPushMsgToService _TmtnPushMsgToService;
- private readonly IHttpClientFactory _httpClientFactory;
- /// <summary>
- /// 构造函数
- /// </summary>
- /// <param name="TmtnPushMsgToService"></param>
- /// <param name="logger"></param>
- /// <param name="httpClientFactory"></param>
- public TmtnPushMsgToController(ITmtnPushMsgToService TmtnPushMsgToService, IHttpClientFactory httpClientFactory, ILogger<TmtnPushMsgToController> logger)
- {
- _TmtnPushMsgToService = TmtnPushMsgToService;
- _logger = logger;
- _httpClientFactory = httpClientFactory;
- }
- /// <summary>
- /// 通过id获取推送消息配置信息
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- [HttpGet("GetPushMsgToAsync/{id}")]
- public async Task<ApiResult> GetPushMsgToAsync(string id)
- {
- if (string.IsNullOrEmpty(id))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var content = await _TmtnPushMsgToService.GetConditionAsync(new TmtnPushMsgToSearchModel { C_ID = id });
- return new ApiResult<TmtnPushMsgToViewModel>(content.FirstOrDefault());
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 获取所有推送消息配置
- /// </summary>
- /// <returns></returns>
- [HttpGet("GetPushMsgTosAsync")]
- public async Task<ApiResult> GetPushMsgTosAsync()
- {
- try
- {
- var contentList = await _TmtnPushMsgToService.GetAllAsync();
- return new ApiResult<IEnumerable<TmtnPushMsgToViewModel>>(contentList);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 通过推送消息配置名称条件查询
- /// </summary>
- /// <param name="searchModel"></param>
- /// <returns></returns>
- [HttpPost("GetPushMsgTosByAsync")]
- public async Task<ApiResult> GetPushMsgTosByAsync(TmtnPushMsgToSearchModel searchModel)
- {
- if (searchModel == null)
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- searchModel.IsPagination = false;
- try
- {
- var contentList = await _TmtnPushMsgToService.GetConditionAsync(searchModel);
- return new ApiResult<PagesModel<TmtnPushMsgToViewModel>>(new PagesModel<TmtnPushMsgToViewModel>(contentList, searchModel));
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 通过设备ID获取消息分配人员信息
- /// </summary>
- /// <param name="devStoreCode"></param>
- /// <returns></returns>
- [HttpGet("GetPushMsgToUsersByAsync/{devStoreCode}")]
- public async Task<ApiResult> GetPushMsgToUsersByAsync(string devStoreCode)
- {
- if (string.IsNullOrEmpty(devStoreCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var contentList = await _TmtnPushMsgToService.GetPushMsgToUsersByAsync(devStoreCode);
- return new ApiResult<IEnumerable<TmtnPushMsgToUserViewModel>>(contentList);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 通过设备ID和人员ID获取消息分配人员信息
- /// </summary>
- /// <param name="devStoreCode"></param>
- /// <param name="userCode"></param>
- /// <returns></returns>
- [HttpGet("GetPushMsgToUsersByAsync/{devStoreCode}/{userCode}")]
- public async Task<ApiResult> GetPushMsgTosByAsync(string devStoreCode, string userCode)
- {
- if (string.IsNullOrEmpty(devStoreCode))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var content = await _TmtnPushMsgToService.GetPushMsgTosByAsync(devStoreCode, userCode);
- return new ApiResult<TmtnUserPushMsgToViewModel>(content);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 创建推送消息配置
- /// </summary>
- /// <param name="content"></param>
- /// <returns></returns>
- [HttpPost("CreatePushMsgToAsync")]
- public async Task<ApiResult> CreatePushMsgToAsync(TmtnPushMsgToViewModel content)
- {
- if (content == null)
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- try
- {
- await _TmtnPushMsgToService.CreateOneAsync(content);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- /// <summary>
- /// 创建推送消息数组配置
- /// </summary>
- /// <param name="contentList"></param>
- /// <returns></returns>
- [HttpPost("CreatePushMsgToListAsync")]
- public async Task<ApiResult> CreatePushMsgToListAsync(IEnumerable<TmtnPushMsgToViewModel> contentList)
- {
- if (contentList == null ||string.IsNullOrEmpty(contentList.FirstOrDefault().C_DevStoreCode))
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- try
- {
- await _TmtnPushMsgToService.CreatePushMsgToListAsync(contentList);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- /// <summary>
- /// 单用户消息数组配置
- /// </summary>
- /// <param name="content"></param>
- /// <returns></returns>
- [HttpPost("CreatePushMsgToHaveListAsync")]
- public async Task<ApiResult> CreatePushMsgToHaveListAsync(TmtnPushMsgToListCreateModel content)
- {
- if (content == null || string.IsNullOrEmpty(content.C_DevStoreCode) || string.IsNullOrEmpty(content.C_PushPersonCode))
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- try
- {
- await _TmtnPushMsgToService.CreatePushMsgToHaveListAsync(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("DeletePushMsgToAsync/{id}")]
- public async Task<ApiResult> DeletePushMsgToAsync(string id)
- {
- if (string.IsNullOrEmpty(id))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- await _TmtnPushMsgToService.DeleteAsync(id);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- /// <summary>
- /// 删除推送消息配置根据【C_DevStoreCode】和【C_PushPersonCode】
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- [HttpPost("DeleteByDevPersonIdAsync")]
- public async Task<ApiResult> DeleteByDevPersonIdAsync(TmtnPushMsgToListDelete model)
- {
- if (model==null|| model.pushPersonList==null || model.pushPersonList.Count==0)
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- try
- {
- bool resulu= await _TmtnPushMsgToService.DeleteByDevPersonIdAsync(model);
- if (resulu)
- {
- return new ApiResult(ReturnCode.Success);
- }
- else
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 更新推送消息配置
- /// </summary>
- /// <param name="id"></param>
- /// <param name="updateModel"></param>
- /// <returns></returns>
- [HttpPut("UpdatePushMsgToAsync/{id}")]
- public async Task<ApiResult> UpdatePushMsgToAsync(string id, TmtnPushMsgToUpdateModel updateModel)
- {
- if (string.IsNullOrEmpty(id))
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- await _TmtnPushMsgToService.UpdateAsync(id, updateModel);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- /// <summary>
- /// 测试推送消息
- /// </summary>
- /// <returns></returns>
- [HttpPost("PushMessageAsync/{userWechatId}/{msg}")]
- [AllowAnonymous]
- public async Task<ApiResult> PushMessageAsync(string userWechatId, string msg)
- {
- try
- {
- var user = await _TmtnPushMsgToService.GetConditionAsync(new TmtnPushMsgToSearchModel { C_DevStoreCode = "",C_PushTypeCode = "" });
- var content = new
- {
- thing2 = new { value = "niu" ?? "" },
- time4 = new { value = DateTime.Now.ToString("yyyy-MM-dd hh:mm") },
- thing5 = new { value = "异常" ?? "" },
- thing6 = new { value = "大门损坏" ?? "" },
- thing9 = new { value = msg ?? "" }
- };
- new WeChatHelper(_httpClientFactory).PushMessageToUser(new List<string>() { userWechatId }, content);
- return new ApiResult(ReturnCode.Success);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 测试推送消息
- /// </summary>
- /// <returns></returns>
- [HttpGet("PushMsgTestAsync")]
- [AllowAnonymous]
- public ApiResult PushMsgTestAsync()
- {
- try
- {
- //EmailHelper.SendEmail("154817501@qq.com", "环保数字","测试主题", "测试推送消息");
- _TmtnPushMsgToService.PushAlarmMsgAsync(new TpushMsgModel
- {
- C_DevStoreCode = "f59ce998-6fd7-4f19-99eb-4fe567433d48",
- C_MsgTypeCode = "MSG_TYPE_001",
- Msg = "压力表要维修",
- Subject = "压力表维修通知"
- });
- return new ApiResult(ReturnCode.Success, "chenggong");
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- }
- }
|