diff --git a/src/dto/order.dto.ts b/src/dto/order.dto.ts index 428c58d..2fd278d 100644 --- a/src/dto/order.dto.ts +++ b/src/dto/order.dto.ts @@ -83,6 +83,10 @@ export class QueryOrderDTO { @ApiProperty({ type: 'enum', enum: ErpOrderStatus }) @Rule(RuleType.string().valid(...Object.values(ErpOrderStatus))) status: ErpOrderStatus; + + @ApiProperty() + @Rule(RuleType.string()) + payment_method: string; } export class QueryOrderSalesDTO { diff --git a/src/service/order.service.ts b/src/service/order.service.ts index 162a03a..4873648 100644 --- a/src/service/order.service.ts +++ b/src/service/order.service.ts @@ -549,6 +549,7 @@ export class OrderService { current, pageSize, customer_email, + payment_method, }, userId = undefined) { const parameters: any[] = []; @@ -571,6 +572,7 @@ export class OrderService { o.customer_note as customer_note, o.shipping as shipping, o.billing as billing, + o.payment_method as payment_method, cs.order_count as order_count, cs.total_spent as total_spent, COALESCE( @@ -632,6 +634,10 @@ export class OrderService { totalQuery += ` AND o.date_created <= ?`; parameters.push(endDate); } + if (payment_method) { + sqlQuery += ` AND o.payment_method like "%${payment_method}%" `; + totalQuery += ` AND o.payment_method like "%${payment_method}%" `; + } const user = await this.userModel.findOneBy({id: userId}); if (user?.permissions?.includes('order-10-days')) { sqlQuery += ` AND o.date_created >= ?`;