using System.Text.Json;
using Admin.NET.Plugin.AiDOP.Entity.DataPlatform;
using Admin.NET.Plugin.AiDOP.ProcurementExecution.Dto;
namespace Admin.NET.Plugin.AiDOP.ProcurementExecution;
///
/// S4 供应商交货管理
///
/// 【租户安全边界】租户一律经 从认证后 JWT 解析,
/// 无有效租户即拒绝,不读前端 tenantId、无默认回退。
///
/// 原实现:类级 [AllowAnonymous] + 全类 AidopTenantHelper.Resolve(App.HttpContext)。
/// 后者解析顺序为 requestTenantId > JWT claim > query 参数 tenantId > DefaultTenantId 兜底,
/// 其自身注释即写明「不得用于业务数据的查询与写入」。两者叠加的实测后果:匿名(无 Token、无 Cookie)
/// GET /api/ProcurementExecution/supplier-delivery/list?tenantId=<任意租户> 返回该租户业务数据
/// (797 返回 94 条、UAT 返回 7 条、不传参数则落默认租户);同类的 4 个 HttpPost 写接口走同一条解析链。
///
///
[ApiDescriptionSettings(Order = 320, Description = "S4供应商交货管理")]
[Route("api/ProcurementExecution")]
[NonUnify]
public class SupplierDeliveryManagementService : IDynamicApiController, ITransient
{
private readonly ISqlSugarClient _db;
private readonly UserManager _userManager;
public SupplierDeliveryManagementService(ISqlSugarClient db, UserManager userManager)
{
_db = db;
_userManager = userManager;
}
[DisplayName("供应商交货管理列表")]
[HttpGet("supplier-delivery/list")]
public async Task