p.`deleted_at` IS NULL AND p.`store_id` = #{storeId} AND p.`customer_id` = #{customerId} AND p.`status` = #{status} AND p.`payment_status` = #{paymentStatus} AND p.`refund_status` = #{refundStatus} AND p.`purchased_at` >= #{beginAt} AND p.`purchased_at` <= #{endAt} AND (p.`package_name_snapshot` LIKE CONCAT('%', #{keyword}, '%') OR c.`name` LIKE CONCAT('%', #{keyword}, '%') OR c.`code` LIKE CONCAT('%', #{keyword}, '%')) UPDATE `gao_customer_package` SET `pending_paid_amount` = `pending_paid_amount` + #{delta}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) WHERE `id` = #{id} AND `deleted_at` IS NULL AND `pending_paid_amount` + #{delta} >= 0 UPDATE `gao_customer_package` SET `paid_amount` = `paid_amount` + #{delta}, `updated_at` = FLOOR(UNIX_TIMESTAMP(NOW(3)) * 1000) WHERE `id` = #{id} AND `deleted_at` IS NULL AND `paid_amount` + #{delta} >= 0 UPDATE `gao_customer_package` 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