forked from wangziqi/gongxue-base
- 后端: NestJS 11 + TypeORM + JWT认证 + SQLite/MySQL - 前端: React 19 + Ant Design 6 + Vite 8 + ECharts - 功能模块: 数据面板、学生管理、宿舍管理、入住管理、费用录入、账单管理、教室管理、押金管理、操作日志、账号管理 - 支持Docker一键部署
62 lines
925 B
TypeScript
62 lines
925 B
TypeScript
import { IsOptional, IsString, IsNotEmpty, IsInt, IsNumber, IsEnum, IsDateString } from 'class-validator';
|
|
|
|
export class CreateRentalDto {
|
|
@IsInt()
|
|
classroomId: number;
|
|
|
|
@IsInt()
|
|
tenantId: number;
|
|
|
|
@IsDateString()
|
|
startDate: string;
|
|
|
|
@IsDateString()
|
|
endDate: string;
|
|
|
|
@IsOptional()
|
|
@IsNumber()
|
|
dailyRate?: number;
|
|
|
|
@IsOptional()
|
|
@IsNumber()
|
|
totalAmount?: number;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
notes?: string;
|
|
}
|
|
|
|
export class UpdateRentalDto {
|
|
@IsOptional()
|
|
@IsInt()
|
|
classroomId?: number;
|
|
|
|
@IsOptional()
|
|
@IsInt()
|
|
tenantId?: number;
|
|
|
|
@IsOptional()
|
|
@IsDateString()
|
|
startDate?: string;
|
|
|
|
@IsOptional()
|
|
@IsDateString()
|
|
endDate?: string;
|
|
|
|
@IsOptional()
|
|
@IsNumber()
|
|
dailyRate?: number;
|
|
|
|
@IsOptional()
|
|
@IsNumber()
|
|
totalAmount?: number;
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
notes?: string;
|
|
|
|
@IsOptional()
|
|
@IsEnum(['active', 'ended', 'cancelled'])
|
|
status?: string;
|
|
}
|