v3.5.4版本提交
CI / verify (pull_request) Has been cancelled

This commit is contained in:
2026-08-21 15:48:15 +08:00
parent 26334ed072
commit a01217539c
32 changed files with 2278 additions and 147 deletions
@@ -13,6 +13,7 @@ import {
Max,
MinLength,
ValidateIf,
ValidateNested,
} from 'class-validator';
export class UpdateStoreStatusDto {
@@ -1302,6 +1303,111 @@ export class UpdateProductDto {
detailContent?: Record<string, unknown>;
}
class AdminSpecValueDto {
@IsOptional()
@IsString()
id?: string;
@IsString()
@IsNotEmpty()
name: string;
@IsOptional()
@IsNumber()
sortOrder?: number;
}
class AdminSpecAttrDto {
@IsOptional()
@IsString()
id?: string;
@IsString()
@IsNotEmpty()
name: string;
@IsOptional()
@IsNumber()
sortOrder?: number;
@IsArray()
@ValidateNested({ each: true })
@Type(() => AdminSpecValueDto)
values: AdminSpecValueDto[];
}
export class SaveProductSpecsDto {
@IsArray()
@ValidateNested({ each: true })
@Type(() => AdminSpecAttrDto)
attrs: AdminSpecAttrDto[];
}
class AdminSkuRowDto {
@IsOptional()
@IsString()
id?: string;
@IsOptional()
@IsArray()
@IsString({ each: true })
specValueIds?: string[];
@IsOptional()
@IsString()
skuCode?: string;
@IsString()
@IsNotEmpty()
barcode69: string;
@IsNumber()
price: number;
@IsOptional()
@IsNumber()
benefitAmount?: number;
@IsOptional()
@IsIn(['DRAFT', 'ON_SALE', 'OFF_SALE'])
status?: string;
@IsOptional()
@IsBoolean()
allowOnSitePickup?: boolean;
@IsOptional()
@IsBoolean()
allowOnlinePurchase?: boolean;
@IsOptional()
@IsBoolean()
allowCrossCityDelivery?: boolean;
@IsOptional()
@IsIn(['BOTTLE', 'BOX'])
saleUnit?: 'BOTTLE' | 'BOX';
@IsOptional()
@IsNumber()
bottlesPerUnit?: number;
@IsOptional()
@IsBoolean()
isDefault?: boolean;
@IsOptional()
@IsNumber()
sortOrder?: number;
}
export class SaveProductSkusDto {
@IsArray()
@ValidateNested({ each: true })
@Type(() => AdminSkuRowDto)
skus: AdminSkuRowDto[];
}
class ProductDetailFeatureInputDto {
@IsString()
icon: string;