sql >> Base de Datos >  >> RDS >> Mysql

tabla magento sales_flat_order campo protect_code explicación

¿Dónde se genera?

Si buscas en app/code/core/Mage/Sales/Model/Order.php en torno a la línea 2052 , encontrará lo siguiente:

$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));

Aquí es donde protect_code se genera para el pedido (utilizando una combinación de md5, uniqid y un número entero aleatorio.

¿Para qué sirve?

Si buscas en app/code/core/Mage/Sales/Helper/Guest.php y encuentra el loadValidOrder función. Verá protect_code se usa en algunas áreas para garantizar que el pedido que se está cargando sea el correcto para el valor de la cookie del huésped.

También se utiliza en otras áreas, como las comparaciones de información de seguimiento. Puede ver varias instancias de getProtectCode() método que se llama en los modelos de envío para comparar el pedido con la información de seguimiento. Un ejemplo de una función que lo usa es:

public function getTrackingInfoByTrackId()
{
    $track = Mage::getModel('sales/order_shipment_track')->load($this->getTrackId());
    if ($track->getId() && $this->getProtectCode() == $track->getProtectCode()) {
        $this->_trackingInfo = array(array($track->getNumberDetail()));
    }
    return $this->_trackingInfo;
}

Como puede ver con $this->getProtectCode() == $track->getProtectCode() , el protect_code de seguimiento debe coincidir con el envío protect_code .