using WcsMain.ApiServe.Controllers.Dto.WcsDto.ApiAccept; using WcsMain.Common; using WcsMain.DataBase.TableEntity; using WcsMain.WcsAttribute.AutoFacAttribute; namespace WcsMain.DataBase.Dao; [Component] public class AppApiAcceptDao { /// /// 插入一条数据 /// /// /// public int Insert(AppApiAccept data) { try { return CommonTool.DbServe.Insertable(data).ExecuteCommand(); } catch (Exception ex) { _ = ex; return 0; } } /// /// 查询所有数据 /// /// public List? Select() { try { var sqlFuc = CommonTool.DbServe.Queryable() .OrderByDescending(o => o.RequestTime).ToList(); return sqlFuc; } catch (Exception ex) { _ = ex; return default; } } /*----------------------业务方法--------------------------------- */ /// /// 分页查询数据 /// /// /// public (List? apiRequests, int totalRows) SelectPage(GetApiAcceptWithPageRequest request) { try { int totalRows = 0; var sqlFuc = CommonTool.DbServe.Queryable() .WhereIF(!string.IsNullOrEmpty(request.SearchStr), w => w.RequestMsg!.Contains(request.SearchStr!) || w.ResponseMsg!.Contains(request.SearchStr!) || w.Path!.Contains(request.SearchStr!) || w.ClientAddress!.Contains(request.SearchStr!)); if (request.TimeRange is { Count: 2 }) // 时间范围 { sqlFuc.Where(w => w.RequestTime > request.TimeRange[0] && w.RequestTime < request.TimeRange[1]); } sqlFuc = sqlFuc.OrderByDescending(o => new { o.RequestTime }); var queryResult = sqlFuc.ToPageList(request.Page!.PageIndex, request.Page!.PageSize, ref totalRows); return (queryResult, totalRows); } catch (Exception ex) { _ = ex; return default; } } /// /// 保留多少天数据 /// /// /// public int ClearData(int days) { try { var sqlFuc = CommonTool.DbServe.Deleteable().Where(w => w.RequestTime < DateTime.Now.AddDays(-days)); return sqlFuc.ExecuteCommand(); } catch (Exception ex) { _ = ex; return default; } } }