wcs_server_kate_suzhou/WcsMain/DataBase/Dao/AppApiAcceptDao.cs

105 lines
2.8 KiB
C#

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
{
/// <summary>
/// 插入一条数据
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public int Insert(AppApiAccept data)
{
try
{
return CommonTool.DbServe.Insertable(data).ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
/// <summary>
/// 查询所有数据
/// </summary>
/// <returns></returns>
public List<AppApiAccept>? Select()
{
try
{
var sqlFuc = CommonTool.DbServe.Queryable<AppApiAccept>()
.OrderByDescending(o => o.RequestTime).ToList();
return sqlFuc;
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
/*----------------------业务方法--------------------------------- */
/// <summary>
/// 分页查询数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public (List<AppApiAccept>? apiRequests, int totalRows) SelectPage(GetApiAcceptWithPageRequest request)
{
try
{
int totalRows = 0;
var sqlFuc = CommonTool.DbServe.Queryable<AppApiAccept>()
.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;
}
}
/// <summary>
/// 保留多少天数据
/// </summary>
/// <param name="days"></param>
/// <returns></returns>
public int ClearData(int days)
{
try
{
var sqlFuc = CommonTool.DbServe.Deleteable<AppApiAccept>().Where(w => w.RequestTime < DateTime.Now.AddDays(-days));
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
}