using JNPF.Common.Extension; using JNPF.Common.Filter; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.Systems.Entitys.Dto.DataInterfaceLog; using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Entitys.System; using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace JNPF.Systems; /// /// 数据接口日志 /// 版 本:V3.2 /// 版 权:拓通智联科技有限公司(http://www.tuotong-tech.com) /// 日 期:2021-06-01. /// [ApiDescriptionSettings(Tag = "System", Name = "DataInterfaceLog", Order = 204)] [Route("api/system/[controller]")] public class DataInterfaceLogService : IDynamicApiController, ITransient { /// /// 服务基础仓储. /// private readonly ISqlSugarRepository _repository; /// /// 初始化一个类型的新实例. /// public DataInterfaceLogService( ISqlSugarRepository repository) { _repository = repository; } #region Get [HttpGet("{id}")] public async Task GetList(string id, [FromQuery] PageInputBase input) { var list = await _repository.AsSugarClient().Queryable((a, b) => new JoinQueryInfos(JoinType.Left, b.Id == a.UserId)) .Where(a => a.InvokId == id) .WhereIF(input.keyword.IsNotEmptyOrNull(), a => a.UserId.Contains(input.keyword) || a.InvokIp.Contains(input.keyword)).OrderBy(a => a.InvokTime) .Select((a, b) => new DataInterfaceLogListOutput { id = a.Id, invokDevice = a.InvokDevice, invokIp = a.InvokIp, userId = SqlFunc.MergeString(b.RealName, "/", b.Account), invokTime = a.InvokTime, invokType = a.InvokType, invokWasteTime = a.InvokWasteTime }).ToPagedListAsync(input.currentPage, input.pageSize); return PageResult.SqlSugarPageResult(list); } #endregion }