namespace Admin.NET.Plugin.AiDOP.Order;
///
/// 合同评审服务 📋
/// 路由前缀:/api/Order/contract/...
/// 审批:由审批流插件(BizType=CONTRACT_REVIEW)+ 前端 ApprovalPanel 发起与办理;本服务仅保留列表/详情/保存/删除。
///
/// 【租户安全边界】需认证访问(已移除类级 [AllowAnonymous]);租户一律经
/// AidopTenantScope.ResolveOrThrow 从认证后 JWT 解析,无有效租户即拒绝,
/// 不读前端 tenantId、无默认回退(原实现:类级匿名 + 直接取 _userManager.TenantId,
/// 匿名时 TenantId=0 使租户过滤失效/查不到数据)。
///
[ApiDescriptionSettings(Order = 250, Description = "合同评审")]
[Route("api/Order")]
[NonUnify]
public class ContractReviewService : IDynamicApiController, ITransient
{
private readonly ISqlSugarClient _db;
private readonly SqlSugarRepository _reviewRep;
private readonly SqlSugarRepository _flowRep;
private readonly UserManager _userManager;
public ContractReviewService(
ISqlSugarClient db,
SqlSugarRepository reviewRep,
SqlSugarRepository flowRep,
UserManager userManager)
{
_db = db;
_reviewRep = reviewRep;
_flowRep = flowRep;
_userManager = userManager;
}
// ══════════════════════════════════════════════════════════════
// 列表 GET /api/Order/contract/list
// ══════════════════════════════════════════════════════════════
/// 获取合同评审分页列表 📋
[DisplayName("获取合同评审列表")]
[HttpGet("contract/list")]
public async Task