using Infrastructure; using Microsoft.AspNetCore.Mvc; using OpenAuth.App.BaseApp; using OpenAuth.App.BaseApp.Request; using OpenAuth.App.Interface; using OpenAuth.Repository.Domain; namespace OpenAuth.WebApi.Controllers.BaseControllers { /// /// 日 期: 2024-07-06 /// 描 述: 站内消息 /// [Route("api/[controller]/[action]")] [ApiController] public class ImMsgController { private readonly ImMsgApp _app; IAuth _auth; public ImMsgController(ImMsgApp app, IAuth auth) { _app = app; _auth = auth; } /// /// 获取站内信列表数据 /// /// (发送者) /// 接收者(当前登录用户) /// 内容 /// 当前页 /// 每页条数 /// [HttpGet] public async Task>>> LoadImMsgList(string sendUserId, string recvUserId, string keyword, int page=1, int limit=15) { return await _app.LoadImMsgList(sendUserId, recvUserId,keyword, page, limit); } /// /// 分页获取系统消息 /// /// 内容筛选 /// 是否删除(虚拟删除) /// 当前页 /// 每页条数 /// [HttpGet] public async Task>>> LoadSysImMsgList(string keyword, int? isDelete, int page=1, int limit=15) { return await _app.LoadSysImMsgList(_auth.GetUserId(),"",keyword, isDelete, page, limit); } /// /// 获取当前登录用户未读消息 /// ///当前登录用户id /// [HttpGet] public async Task>> GetLastList(string userId) { return await _app.GetLastList(userId); } /// /// 根据contentid获取任务信息 /// /// 消息内容id /// [HttpGet] public async Task> GetInfoByContentId(string contentid) { return await _app.GetInfoByContentId(contentid); } /// /// 新增数据 /// /// 实体 /// [HttpPost] public async Task> SaveEntity(ImMsgReq entity) { var result = new Response(); try { result = await _app.SaveEntity(entity); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 删除数据源 /// /// 主键 [HttpPost] public async Task> DeleteEntity(string id) { var result = new Response(); try { result = await _app.DeleteEntity(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 批量删除数据 /// /// 主键list [HttpPost] public async Task> DeleteEntitys(List ids) { var result = new Response(); try { result = await _app.DeleteEntitys(ids); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 删除数据源(虚拟删除) /// /// 主键 [HttpPost] public async Task> VirtualDeleteEntity(string id) { var result = new Response(); try { result = await _app.VirtualDeleteEntity(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 批量删除数据(虚拟删除) /// /// 主键list [HttpPost] public async Task> VirtualDeleteEntitys(List ids) { var result = new Response(); try { result = await _app.VirtualDeleteEntitys(ids); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 确认阅读 /// /// 主键 /// [HttpPost] public async Task> ReadMsg(string id) { var result = new Response(); try { result = await _app.ReadMsg(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } [HttpPost] public async Task> SendSmg(string senduserid, IEnumerable userIdList, string content, string messageType, string contentId = "") { var result = new Response(); try { await _app.SendMsg(senduserid, userIdList, content, messageType, contentId); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } } }