/** * Checks the status of the trusted shops orders * * Status Description: * Status 0 Pending * Status 1 Success * Status 3 Error * * @param \Shopware_Components_Cron_CronJob $job * @return boolean */ public function onRunTSCheckOrderState(\Shopware_Components_Cron_CronJob $job) { $this->prepareCronJob($job); $sql = "SELECT *\n\t\t\t \tFROM `s_plugin_swag_trusted_shops_excellence_orders`\n\t\t\t \tWHERE `status` = 0"; $trustedShopOrders = $this->db->fetchAll($sql); $shopId = $trustedShopOrders['shop_id']; //get plugin basic config $config = $this->tsConfig->getTrustedShopBasicConfig($shopId); if (empty($trustedShopOrders)) { return true; } //iterate the open trusted shop orders foreach ($trustedShopOrders as $order) { $returnValue = $this->tsSoapApi->getRequestState(array($config['id'], $order['ts_applicationId']), $shopId); switch (true) { case $returnValue == 0: $comment = $config['stateWaiting']['description']; $status = $config['stateWaiting']['id']; break; case $returnValue > 0: $comment = $config['stateSuccess']['description'] . ' / Garantie-Nr.: ' . $returnValue; $status = $config['stateSuccess']['id']; break; default: $comment = $config['stateError']['description']; $status = $config['stateError']['id']; break; } echo '<br>' . $order['ordernumber'] . ': ' . $comment . '<br>'; $sql = "UPDATE s_order\n\t\t\t\t\tSET status = ?, internalcomment = ?\n\t\t\t\t\tWHERE ordernumber = ?"; $this->db->executeUpdate($sql, array($status, $comment, $order['ordernumber'])); $sql = "UPDATE s_plugin_swag_trusted_shops_excellence_orders\n\t\t\t\t\tSET status = ?\n\t\t\t\t\tWHERE id = ?"; $this->db->executeUpdate($sql, array($returnValue, $order['id'])); } return true; }