Ejemplo n.º 1
0
Archivo: cache.php Proyecto: ekudel/vkt
function cacheWaitingOrders($link, $orders, $timestamp)
{
    if (!\database\beginTransaction($link)) {
        return false;
    }
    $expirationTime = $timestamp + FEED_CACHE_LIFETIME;
    if (!\database\setCacheExpirationTime($link, FEED_CACHE_ID, $expirationTime) || !\database\putFeedCache($link, $orders)) {
        \database\rollbackTransaction($link);
        return false;
    }
    return \database\commitTransaction($link);
}
Ejemplo n.º 2
0
/**
 * Return:
 * null - error
 * false - no object
 * balance - success
 */
function markOrderExecuted($orderId, $customerId, $executorId, $commission)
{
    $userInfo = getUserInfoById($executorId);
    if (!$userInfo || getIfExists($userInfo, 'role') !== ROLE_EXECUTOR) {
        return null;
    }
    $dbInfo = getDbForWaitingOrders($customerId);
    $link = $dbInfo ? connect($dbInfo) : null;
    if (!$link || !\database\beginTransaction($link)) {
        return null;
    }
    $result = doMarkOrderExecuted($link, $orderId, $customerId, $executorId, $commission);
    if (!$result) {
        \database\rollbackTransaction($link);
        return $result;
    }
    $userInfo = \storage\getUserInfoById($executorId);
    if (!$userInfo) {
        \database\rollbackTransaction($link);
        return null;
    }
    return \database\commitTransaction($link) ? $userInfo['balance'] : null;
}