节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
1.11 KiB
Stardust
using NewLife;
using NewLife.Cube;
using NewLife.Web;
using Stardust.Data.Monitors;
using Stardust.Web.Areas;
using XCode;

namespace Stardust.Web.Areas.Monitors.Controllers;

[Menu(0, false)]
[MonitorsArea]
public class SampleData2Controller : WebReadOnlyEntityController<SampleData2>
{
    static SampleData2Controller()
    {
        ListFields.RemoveField("ID");
        ListFields.RemoveField("DataId");

        var df = ListFields.AddListField("trace", "TraceId");
        df.DisplayName = "追踪";
        df.Header = "追踪";
        df.Url = "/trace?id={TraceId}";
    }

    /// <summary>高级搜索。按条件分页查询</summary>
    /// <param name="p">分页参数</param>
    /// <returns>实体列表</returns>
    protected override IEnumerable<SampleData2> Search(Pager p)
    {
        var traceId = p["traceId"];

        // 指定追踪标识后,分页500
        if (!traceId.IsNullOrEmpty())
        {
            if (p.PageSize == 20) p.PageSize = 500;
        }
        if (p.Sort.IsNullOrEmpty()) p.OrderBy = SampleData2._.Id.Desc();

        return SampleData2.Search(traceId, p["Q"], p);
    }
}