Improvement: 订单搜索增加手机号

This commit is contained in:
zhuotianyuan 2025-09-23 17:15:04 +08:00
parent e2739e1781
commit 10d67047ed
2 changed files with 17 additions and 1 deletions

View File

@ -68,6 +68,10 @@ export class QueryOrderDTO {
@Rule(RuleType.string().allow(''))
customer_email: string;
@ApiProperty()
@Rule(RuleType.string().allow(''))
billing_phone: string;
@ApiProperty()
@Rule(RuleType.string().allow(null))
keyword: string;

View File

@ -209,6 +209,7 @@ export class OrderService {
el => el.key === '_wc_order_attribution_utm_source'
)?.value || '';
order.customer_email = order?.billing?.email || order?.shipping?.email;
order.billing_phone = order?.billing?.phone || order?.shipping?.phone;
const entity = plainToClass(Order, order);
const existingOrder = await this.orderModel.findOne({
where: { externalOrderId: order.externalOrderId, siteId: siteId },
@ -550,6 +551,7 @@ export class OrderService {
pageSize,
customer_email,
payment_method,
billing_phone,
}, userId = undefined) {
const parameters: any[] = [];
@ -563,6 +565,7 @@ export class OrderService {
o.total as total,
o.date_created as date_created,
o.customer_email as customer_email,
o.billing_phone as billing_phone,
o.transaction_id as transaction_id,
o.orderStatus as orderStatus,
o.customer_ip_address as customer_ip_address,
@ -670,6 +673,12 @@ export class OrderService {
parameters.push(`%${customer_email}%`);
}
if (billing_phone) {
sqlQuery += ` AND o.billing_phone LIKE ?`;
totalQuery += ` AND o.billing_phone LIKE ?`;
parameters.push(`%${billing_phone}%`);
}
// 关键字搜索
if (keyword) {
sqlQuery += `
@ -714,6 +723,7 @@ export class OrderService {
endDate,
keyword,
customer_email,
billing_phone,
}) {
const query = this.orderModel
.createQueryBuilder('order')
@ -1228,8 +1238,9 @@ export class OrderService {
await this.orderModel.save(order);
}
async createOrder(data: Record<string, any>) {
const { sales, total, billing, customer_email } = data;
const { sales, total, billing, customer_email,billing_phone } = data;
const dataSource = this.dataSourceManager.getDataSource('default');
const now = new Date();
return dataSource.transaction(async manager => {
@ -1248,6 +1259,7 @@ export class OrderService {
date_paid: now,
total,
customer_email,
billing_phone,
billing,
shipping: billing,
});