using System.Collections.Generic;
|
using System.Threading.Tasks;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_DTO.MES;
|
using WIDESEA_Model.Models;
|
|
namespace WIDESEA_IBasicService
|
{
|
/// <summary>
|
/// MES接口日志服务接口
|
/// </summary>
|
public interface IMesLogService : IService<Dt_MesApiLog>
|
{
|
/// <summary>
|
/// 记录MES接口调用日志
|
/// </summary>
|
/// <param name="log">日志DTO</param>
|
/// <returns>是否记录成功</returns>
|
Task<bool> LogAsync(MesApiLogDto log);
|
|
/// <summary>
|
/// 获取最近的MES接口调用记录
|
/// </summary>
|
/// <param name="apiType">接口类型</param>
|
/// <param name="count">记录数量</param>
|
/// <returns>日志列表</returns>
|
Task<List<MesApiLogDto>> GetRecentLogsAsync(string apiType, int count = 50);
|
|
/// <summary>
|
/// 分页查询MES日志
|
/// </summary>
|
/// <param name="query">查询条件</param>
|
/// <param name="page">页码</param>
|
/// <param name="pageSize">每页数量</param>
|
/// <returns>日志列表和总数</returns>
|
Task<(List<MesLogListItemDto> items, int total)> GetPageAsync(MesLogQueryDto query, int page, int pageSize);
|
|
/// <summary>
|
/// 获取单条日志详情
|
/// </summary>
|
/// <param name="id">日志ID</param>
|
/// <returns>日志详情</returns>
|
Task<MesLogDetailDto?> GetDetailAsync(long id);
|
|
/// <summary>
|
/// 获取统计数据
|
/// </summary>
|
/// <param name="query">查询条件</param>
|
/// <returns>统计数据</returns>
|
Task<MesLogStatisticsDto> GetStatisticsAsync(MesLogQueryDto query);
|
|
/// <summary>
|
/// 导出日志数据
|
/// </summary>
|
/// <param name="query">查询条件</param>
|
/// <returns>CSV字节数组</returns>
|
Task<byte[]> ExportAsync(MesLogQueryDto query);
|
}
|
}
|