using Admin.NET.Plugin.AiDOP.Dto.S8.Demo; using Admin.NET.Plugin.AiDOP.Service.S8.Demo; namespace Admin.NET.Plugin.AiDOP.Controllers.S8; /// /// ORDER-FLOW-BE-DEMO-DATASET-RESET-1:S8 demo 订单执行档案只读端点。 /// 双口径:/orders 返回 20 条明细;/aggregate-snapshot 返回独立 105 单基线快照(非明细汇总)。 /// [ApiController] [Route("api/aidop/s8/demo/order-flow")] [NonUnify] public class AdoS8DemoOrderFlowController : ControllerBase { private readonly S8DemoOrderFlowService _svc; public AdoS8DemoOrderFlowController(S8DemoOrderFlowService svc) => _svc = svc; /// 20 条 demo 订单明细,含完整 5 阶段 lifecycle。供 overview / chain 单订单使用。 [HttpGet("orders")] public async Task ListOrdersAsync() { var list = await _svc.ListOrdersAsync(); return Ok(list); } /// 单订单详情(备用接口;前端默认从 /orders 缓存中查 soNo)。 [HttpGet("orders/{soNo}")] public async Task GetOrderAsync(string soNo) { var order = await _svc.GetOrderAsync(soNo); if (order == null) return NotFound(new { message = $"未找到订单 {soNo}" }); return Ok(order); } /// chain 默认全选基线快照(独立 105 单展示快照,与 /orders 明细不同源)。 [HttpGet("aggregate-snapshot")] public async Task GetAggregateSnapshotAsync() { var snap = await _svc.GetAggregateSnapshotAsync(); if (snap == null) return NotFound(new { message = "未找到 CHAIN_AGGREGATE_BASELINE 快照" }); return Ok(snap); } }