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;
}
}
}