import { ApiProperty } from '@midwayjs/swagger'; import { Rule, RuleType } from '@midwayjs/validate'; import { SubscriptionStatus } from '../enums/base.enum'; // 订阅列表查询参数(分页与筛选) export class QuerySubscriptionDTO { // 当前页码(从 1 开始) @ApiProperty({ example: 1, description: '页码' }) @Rule(RuleType.number().default(1)) current: number; // 每页数量 @ApiProperty({ example: 10, description: '每页大小' }) @Rule(RuleType.number().default(10)) pageSize: number; // 站点 ID(可选) @ApiProperty({ description: '站点ID' }) @Rule(RuleType.string().allow('')) siteId: string; // 订阅状态筛选(可选),支持枚举值 @ApiProperty({ description: '订阅状态', enum: SubscriptionStatus }) @Rule(RuleType.string().valid(...Object.values(SubscriptionStatus)).allow('')) status: SubscriptionStatus | ''; // 客户邮箱(模糊匹配,可选) @ApiProperty({ description: '客户邮箱' }) @Rule(RuleType.string().allow('')) customer_email: string; // 关键字(订阅ID,邮箱等,模糊匹配,可选) @ApiProperty({ description: '关键字(订阅ID,邮箱等)' }) @Rule(RuleType.string().allow('')) keyword: string; }