AdoS8OrderReviewKpiController.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Admin.NET.Plugin.AiDOP.Const.S8;
  2. using Admin.NET.Plugin.AiDOP.Dto.S8.OrderFlow;
  3. using Admin.NET.Plugin.AiDOP.Infrastructure.S8;
  4. using Admin.NET.Plugin.AiDOP.Service.S8.OrderFlow;
  5. namespace Admin.NET.Plugin.AiDOP.Controllers.S8;
  6. /// <summary>
  7. /// S8 Stage-1「订单评审」实际耗时 API。
  8. /// 数据链:<c>aidop_action_run_log → mdp_stg_action_run → mdp_std_action_event → dwd_order_review_kpi</c>。
  9. /// 本控制器<b>只消费 DWD</b>,不直读任何源业务表;租户从 JWT 解析,不接受前端 tenantId。
  10. /// 路由:<c>api/aidop/s8/order-review-kpi/*</c>。
  11. /// </summary>
  12. [ApiController]
  13. [Route("api/aidop/s8/order-review-kpi")]
  14. [NonUnify]
  15. public class AdoS8OrderReviewKpiController : ControllerBase
  16. {
  17. private readonly S8OrderReviewKpiService _svc;
  18. public AdoS8OrderReviewKpiController(S8OrderReviewKpiService svc)
  19. {
  20. _svc = svc;
  21. }
  22. /// <summary>订单评审耗时列表(分页)。</summary>
  23. [HttpGet("list")]
  24. [S8Permission(S8PermissionCatalog.DashboardRead)]
  25. public async Task<IActionResult> ListAsync([FromQuery] AdoS8OrderReviewKpiQueryDto query)
  26. => Ok(await _svc.GetListAsync(query));
  27. /// <summary>订单评审耗时汇总(本批无 TargetHours / 红黄绿)。</summary>
  28. [HttpGet("summary")]
  29. [S8Permission(S8PermissionCatalog.DashboardRead)]
  30. public async Task<IActionResult> SummaryAsync()
  31. => Ok(await _svc.GetSummaryAsync());
  32. /// <summary>手动重跑中台链路(幂等)。</summary>
  33. [HttpPost("refresh")]
  34. [S8Permission(S8PermissionCatalog.DashboardRead)]
  35. public async Task<IActionResult> RefreshAsync(CancellationToken cancellationToken)
  36. => Ok(await _svc.RefreshAsync(cancellationToken));
  37. }