AdoS8DemoOrderFlowController.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Admin.NET.Plugin.AiDOP.Dto.S8.Demo;
  2. using Admin.NET.Plugin.AiDOP.Service.S8.Demo;
  3. namespace Admin.NET.Plugin.AiDOP.Controllers.S8;
  4. /// <summary>
  5. /// ORDER-FLOW-BE-DEMO-DATASET-RESET-1:S8 demo 订单执行档案只读端点。
  6. /// 双口径:/orders 返回 20 条明细;/aggregate-snapshot 返回独立 105 单基线快照(非明细汇总)。
  7. /// </summary>
  8. [ApiController]
  9. [Route("api/aidop/s8/demo/order-flow")]
  10. [NonUnify]
  11. public class AdoS8DemoOrderFlowController : ControllerBase
  12. {
  13. private readonly S8DemoOrderFlowService _svc;
  14. public AdoS8DemoOrderFlowController(S8DemoOrderFlowService svc) => _svc = svc;
  15. /// <summary>20 条 demo 订单明细,含完整 5 阶段 lifecycle。供 overview / chain 单订单使用。</summary>
  16. [HttpGet("orders")]
  17. public async Task<IActionResult> ListOrdersAsync()
  18. {
  19. var list = await _svc.ListOrdersAsync();
  20. return Ok(list);
  21. }
  22. /// <summary>单订单详情(备用接口;前端默认从 /orders 缓存中查 soNo)。</summary>
  23. [HttpGet("orders/{soNo}")]
  24. public async Task<IActionResult> GetOrderAsync(string soNo)
  25. {
  26. var order = await _svc.GetOrderAsync(soNo);
  27. if (order == null) return NotFound(new { message = $"未找到订单 {soNo}" });
  28. return Ok(order);
  29. }
  30. /// <summary>chain 默认全选基线快照(独立 105 单展示快照,与 /orders 明细不同源)。</summary>
  31. [HttpGet("aggregate-snapshot")]
  32. public async Task<IActionResult> GetAggregateSnapshotAsync()
  33. {
  34. var snap = await _svc.GetAggregateSnapshotAsync();
  35. if (snap == null) return NotFound(new { message = "未找到 CHAIN_AGGREGATE_BASELINE 快照" });
  36. return Ok(snap);
  37. }
  38. }