From 83ba9b7d543d0c4a6923aae5178d1455b81ac1bf Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 26 Feb 2026 10:50:45 -0800 Subject: [PATCH] =?UTF-8?q?fix(admin-service):=20=E5=AE=9A=E4=BB=B7DTO?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0class-validator=E8=A3=85=E9=A5=B0=E5=99=A8?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D400=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 与auth-service支付密码DTO同样的问题:ValidationPipe的 forbidNonWhitelisted:true 导致无装饰器的DTO属性被拒绝。 Co-Authored-By: Claude Opus 4.6 --- .../src/pricing/tree-pricing.controller.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/backend/services/admin-service/src/pricing/tree-pricing.controller.ts b/backend/services/admin-service/src/pricing/tree-pricing.controller.ts index fa0416a5..78f66133 100644 --- a/backend/services/admin-service/src/pricing/tree-pricing.controller.ts +++ b/backend/services/admin-service/src/pricing/tree-pricing.controller.ts @@ -9,32 +9,48 @@ import { HttpStatus, } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger'; +import { IsNumber, IsString, IsBoolean, IsOptional } from 'class-validator'; import { TreePricingService } from './tree-pricing.service'; // ======================== DTO ======================== class UpdateSupplementDto { /** 新的加价金额(整数 USDT) */ + @IsNumber() newSupplement: number; /** 变更原因 */ + @IsString() reason: string; /** 操作人ID */ + @IsOptional() + @IsString() operatorId?: string; } class UpdateAutoIncreaseDto { /** 是否启用自动涨价 */ + @IsBoolean() enabled: boolean; /** 每次自动涨价金额(整数 USDT) */ + @IsOptional() + @IsNumber() amount?: number; /** 自动涨价间隔天数 */ + @IsOptional() + @IsNumber() intervalDays?: number; /** 操作人ID */ + @IsOptional() + @IsString() operatorId?: string; } class ChangeLogQueryDto { + @IsOptional() + @IsNumber() page?: number; + @IsOptional() + @IsNumber() pageSize?: number; }