o.`deleted_at` IS NULL AND o.`store_id` = #{storeId} AND o.`customer_id` = #{customerId} AND EXISTS ( SELECT 1 FROM `gao_customer_package` cp WHERE cp.`sales_order_id` = o.`id` AND cp.`package_config_id` = #{packageConfigId} AND cp.`deleted_at` IS NULL ) AND o.`order_type` IN #{orderTypeItem} AND o.`order_type` = #{orderType} AND o.`status` IN #{statusItem} AND o.`status` = #{status} AND o.`payment_status` IN #{paymentStatusItem} AND o.`payment_status` = #{paymentStatus} AND o.`refund_status` IN #{refundStatusItem} AND o.`refund_status` = #{refundStatus} AND o.`status` IN ('ACTIVE', 'FULFILLED') AND o.`payment_status` IN ('UNPAID', 'PARTIALLY_PAID') AND o.`status` = 'FULFILLED' AND o.`paid_amount` < o.`sale_amount` AND (o.`order_no` LIKE CONCAT('%', #{keyword}, '%') OR c.`name` LIKE CONCAT('%', #{keyword}, '%') OR c.`code` LIKE CONCAT('%', #{keyword}, '%')) AND o.`purchased_at` >= #{beginAt} AND o.`purchased_at` <= #{endAt} i.`deleted_at` IS NULL AND o.`deleted_at` IS NULL AND o.`store_id` = #{storeId} AND o.`status` <> 'CANCELLED' AND o.`customer_id` = #{customerId} AND o.`customer_id` IN #{customerIdItem} AND i.`item_type` = #{itemType} AND ( c.`name` LIKE CONCAT('%', #{keyword}, '%') OR c.`code` LIKE CONCAT('%', #{keyword}, '%') OR o.`order_no` LIKE CONCAT('%', #{keyword}, '%') OR i.`product_name_snapshot` LIKE CONCAT('%', #{keyword}, '%') OR i.`sku_name_snapshot` LIKE CONCAT('%', #{keyword}, '%') OR i.`sku_code_snapshot` LIKE CONCAT('%', #{keyword}, '%') OR i.`spec_summary_snapshot` LIKE CONCAT('%', #{keyword}, '%') ) UPDATE `gao_sales_order` SET `pending_paid_amount` = #{pendingPaidAmount}, `paid_amount` = #{paidAmount}, `paid_at` = #{paidAt}, `refunded_amount` = #{refundedAmount}, `payment_status` = #{paymentStatus}, `refund_status` = #{refundStatus}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) WHERE `id` = #{id} AND `deleted_at` IS NULL UPDATE `gao_sales_order` SET `status` = #{toStatus}, `cancelled_at` = #{cancelledAt}, `cancel_operator_user_id` = #{cancelOperatorUserId}, `cancel_reason` = #{cancelReason}, `refund_status` = #{refundStatus}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) WHERE `id` = #{id} AND `status` = #{fromStatus} AND `deleted_at` IS NULL UPDATE `gao_sales_order` SET `status` = #{status}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) WHERE `id` = #{id} AND `deleted_at` IS NULL UPDATE `gao_sales_order` SET `remark` = #{remark}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) WHERE `id` = #{id} AND `deleted_at` IS NULL