Как мой Java-код может читать переменные среды ОС? [Дубликат]

1110 Мне удалось заставить его работать, создав две функции. Один отвечает за получение всех доступных номеров из таблицы wp_tickets, где used = 0 и lottery_id = $postID, которая возвращает одно случайное число из доступных номеров билетов.

Вторая функция отвечает за обновление таблицы wp_tickets номером билета, сгенерированным из функции get_available_numbers.

Обе эти функции затем выполняются на крючке woocommerce_order_status_processing, когда клиент делает заказ, и выполняются для каждого предмета, найденного в его корзине.

Пока что, когда я проверил это, это похоже на работу. Однако трудно сказать, как это происходит с несколькими заказчиками одновременно.

function get_available_numbers($postID) {
            global $wpdb;
                $result = $wpdb->get_results(
                    "
                    SELECT ticket_number
                    FROM wp_tickets
                    WHERE lottery_id = ".$postID." AND used = 0
                    ORDER BY RAND()
                    LIMIT 1
                    "
                    );
            return $result[0]->ticket_number;
}


function add_ticket_number($postID, $order_id, $number, $user_id) {
        global $wpdb;

        $wpdb->query(
            "
            UPDATE wp_tickets
            SET used = 1, order_id = ".$order_id.", user_id = ".$user_id."
            WHERE ticket_number= ".$number." AND lottery_id = ".$postID." AND used = 0
            "
                    );
}


for ( $i = 0; $i < $item_meta['_qty'][0]; $i++ ) {
                        $number = $this->get_available_numbers($product_id);
                        $this->add_ticket_number($product_id, $order_id, $number, $order->get_user_id());
                    }

ОБНОВЛЕНИЕ

Мне действительно удалось сократить это до одной функции, установив used=1 в столбце lottery_id и упорядочив обновление в быть случайным и ограниченным одним.

function add_ticket_number($postID, $order_id, $user_id) {
        global $wpdb;

        $wpdb->query(
            "
            UPDATE wp_tickets
            SET used = 1, order_id = ".$order_id.", user_id = ".$user_id."
            WHERE lottery_id = ".$postID." AND used = 0
                        ORDER BY RAND()
                        LIMIT 1
            "
                    );
}
8
задан Jonik 26 June 2014 в 19:50
поделиться