namespace Admin.NET.Plugin.AiDOP.Order;
///
/// 数据中台统一 MDP 运行监控。
///
[ApiDescriptionSettings(Order = 322, Description = "统一MDP运行监控")]
[Route("api/DataPlatform")]
[AllowAnonymous]
[NonUnify]
public class MdpMonitorService : IDynamicApiController, ITransient
{
private static readonly Dictionary ModuleJobCodes = new(StringComparer.OrdinalIgnoreCase)
{
["S1"] = "S1_MDP_SYNC_TRANSFORM",
["S2"] = "S2_MDP_SYNC_TRANSFORM",
["S3"] = "S3_MDP_SYNC_TRANSFORM",
["S4"] = "S4_MDP_SYNC_TRANSFORM"
};
private static readonly Dictionary JobCatalog = new(StringComparer.OrdinalIgnoreCase)
{
["S1_MDP_SYNC_TRANSFORM"] = new(
"S1_MDP_SYNC_TRANSFORM",
"order_delivery",
"订单交付域",
["S1", "S2", "S3", "S4", "S7", "S9"],
"GLOBAL_DOMAIN",
"订单交付域 MDP 同步",
"job_s1_mdp_sync_transform"),
["S2_MDP_SYNC_TRANSFORM"] = new(
"S2_MDP_SYNC_TRANSFORM",
"work_schedule",
"工单排程域",
["S2", "S3", "S5", "S6", "S8", "S9"],
"GLOBAL_DOMAIN",
"工单排程域 MDP 同步",
"job_s2_mdp_sync_transform"),
["S3_MDP_SYNC_TRANSFORM"] = new(
"S3_MDP_SYNC_TRANSFORM",
"supply_purchase",
"供应采购域",
["S3", "S4", "S5", "S8", "S9"],
"GLOBAL_DOMAIN",
"供应采购域 MDP 同步",
"job_s3_mdp_sync_transform"),
["S4_MDP_SYNC_TRANSFORM"] = new(
"S4_MDP_SYNC_TRANSFORM",
"purchase_execution",
"采购执行域",
["S4", "S5", "S8", "S9"],
"GLOBAL_DOMAIN",
"采购执行域 MDP 同步",
"job_s4_mdp_sync_transform")
};
private readonly ISqlSugarClient _db;
private readonly UserManager _userManager;
public MdpMonitorService(ISqlSugarClient db, UserManager userManager)
{
_db = db;
_userManager = userManager;
}
[DisplayName("MDP模块选项")]
[HttpGet("mdp-monitor/modules")]
public object GetModules() => BuildCatalogResponse();
[DisplayName("MDP任务目录")]
[HttpGet("mdp-monitor/catalog")]
public object GetCatalog() => BuildCatalogResponse();
[DisplayName("MDP最近运行状态")]
[HttpGet("mdp-monitor/latest")]
public async Task