Files
dukang/server/dukang-api/src/modules/ops/dto/admin-courier.dto.ts
T
2026-07-06 17:07:35 +08:00

131 lines
1.8 KiB
TypeScript

import {
IsArray,
IsIn,
IsNotEmpty,
IsNumber,
IsOptional,
IsString,
Min,
} from 'class-validator';
import { Type } from 'class-transformer';
export class XiaofeixiaEstimateFreightDto {
@Type(() => Number)
@IsNumber()
@Min(0.01)
weight: number;
}
export class XiaofeixiaCheckCoverageDto {
@IsString()
@IsNotEmpty()
toAddress: string;
}
export class XiaofeixiaShipmentQueryDto {
@IsOptional()
@IsString()
trackingNumber?: string;
@IsOptional()
@IsString()
outNumber?: string;
}
export class XiaofeixiaBatchShipmentQueryDto {
@IsOptional()
@IsArray()
@IsString({ each: true })
trackingNumbers?: string[];
@IsOptional()
@IsArray()
@IsString({ each: true })
outNumbers?: string[];
}
export class XiaofeixiaCreateShipmentDto {
@IsString()
@IsNotEmpty()
outNumber: string;
@IsOptional()
@IsString()
customerId?: string;
@IsString()
@IsNotEmpty()
fromName: string;
@IsString()
@IsNotEmpty()
fromMobile: string;
@IsString()
@IsNotEmpty()
fromAddress: string;
@IsString()
@IsNotEmpty()
fromAddressDetail: string;
@IsOptional()
@IsNumber()
fromLng?: number;
@IsOptional()
@IsNumber()
fromLat?: number;
@IsString()
@IsNotEmpty()
toName: string;
@IsString()
@IsNotEmpty()
toMobile: string;
@IsString()
@IsNotEmpty()
toAddress: string;
@IsString()
@IsNotEmpty()
toAddressDetail: string;
@IsOptional()
@IsNumber()
toLng?: number;
@IsOptional()
@IsNumber()
toLat?: number;
@IsOptional()
@IsString()
goodsName?: string;
@IsOptional()
@IsNumber()
goodsNum?: number;
@IsOptional()
@IsNumber()
weight?: number;
@IsOptional()
@IsNumber()
insuredSumPrice?: number;
@IsOptional()
@IsNumber()
collectionPrice?: number;
@IsIn(['1', '2'])
payMode: string;
@IsOptional()
@IsString()
remark?: string;
}