41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { ApiProperty } from '@midwayjs/swagger';
|
|
import { Rule, RuleType } from '@midwayjs/validate';
|
|
import dayjs = require('dayjs');
|
|
|
|
export class OrderStatisticsParams {
|
|
@ApiProperty()
|
|
@Rule(RuleType.date().default(dayjs().subtract(1, 'month')))
|
|
startDate: Date;
|
|
|
|
@ApiProperty()
|
|
@Rule(RuleType.date().default(dayjs().subtract(1, 'month')))
|
|
endDate: Date;
|
|
|
|
@ApiProperty()
|
|
@Rule(RuleType.string().allow(null))
|
|
keyword?: string;
|
|
|
|
@ApiProperty()
|
|
@Rule(RuleType.number().allow(null))
|
|
siteId?: number;
|
|
|
|
@ApiProperty({
|
|
enum: ['all', 'first_purchase', 'repeat_purchase'],
|
|
default: 'all',
|
|
})
|
|
@Rule(RuleType.string().valid('all', 'first_purchase', 'repeat_purchase'))
|
|
purchaseType: string;
|
|
|
|
@ApiProperty({ enum: ['all', 'cpc', 'non_cpc'], default: 'all' })
|
|
@Rule(RuleType.string().valid('all', 'cpc', 'non_cpc'))
|
|
orderType: string;
|
|
|
|
@ApiProperty({ enum: ['all', 'zyn', 'yoone', 'zolt'], default: 'all' })
|
|
@Rule(RuleType.string().valid('all', 'zyn', 'yoone', 'zolt'))
|
|
brand: string;
|
|
|
|
@ApiProperty({ enum: ['day', 'week', 'month'], default: 'day' })
|
|
@Rule(RuleType.string().valid('day', 'week', 'month'))
|
|
grouping: string;
|
|
}
|