- Timestamp:
- 2013/08/05 10:24:23 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/helper/SC_Helper_Purchase.php
r23024 r23027 1338 1338 return $objQuery->nextVal('dtb_order_order_id'); 1339 1339 } 1340 1341 /** 1342 * 決済処理中スタータスの全受注検索 1343 */ 1344 public function checkDbAllPendingOrder() { 1345 $term = PENDING_ORDER_CANCEL_TIME; 1346 if (!SC_Utils_Ex::isBlank($term) && preg_match("/^[0-9]+$/", $term)) { 1347 $target_time = strtotime('-' . $term . ' sec'); 1348 $objQuery =& SC_Query_Ex::getSingletonInstance(); 1349 $arrVal = array(date('Y/m/d H:i:s',$target_time), ORDER_PENDING); 1350 $objQuery->begin(); 1351 $arrOrders = $objQuery->select('order_id', 'dtb_order', 'create_date <= ? and status = ? and del_flg = 0', $arrVal); 1352 if (!SC_Utils_Ex::isBlank($arrOrders)) { 1353 foreach ($arrOrders as $key => $arrOrder) { 1354 $order_id = $arrOrder['order_id']; 1355 $this->cancelOrder($order_id, ORDER_PENDING_ERROR, false); 1356 GC_Utils_Ex::gfPrintLog('order cancel.(time expire) order_id=' . $order_id); 1357 } 1358 } 1359 $objQuery->commit(); 1360 } 1361 } 1362 1363 public function checkDbMyPendignOrder() { 1364 $objCustomer = new SC_Customer_Ex(); 1365 if ($objCustomer->isLoginSuccess(true)) { 1366 $customer_id = $objCustomer->getValue('customer_id'); 1367 $objQuery =& SC_Query_Ex::getSingletonInstance(); 1368 $arrVal = array($customer_id, ORDER_PENDING); 1369 $objQuery->setOrder('create_date desc'); 1370 $objQuery->begin(); 1371 $arrOrders = $objQuery->select('order_id,create_date', 'dtb_order', 'customer_id = ? and status = ? and del_flg = 0', $arrVal); 1372 if (!SC_Utils_Ex::isBlank($arrOrders)) { 1373 foreach ($arrOrders as $key => $arrOrder) { 1374 $order_id = $arrOrder['order_id']; 1375 if ($key == 0) { 1376 $objCartSess = new SC_CartSession_Ex(); 1377 $cartKeys = $objCartSess->getKeys(); 1378 $term = PENDING_ORDER_CANCEL_TIME; 1379 if(preg_match("/^[0-9]+$/", $term)){ 1380 $target_time = strtotime('-' . $term . ' sec'); 1381 $create_time = strtotime($arrOrder['create_date']); 1382 if (SC_Utils_Ex::isBlank($cartKeys) && $target_time < $create_time) { 1383 $this->rollbackOrder($order_id, ORDER_CANCEL, true); 1384 GC_Utils_Ex::gfPrintLog('order rollback.(my pending) order_id=' . $order_id); 1385 } else { 1386 $this->cancelOrder($order_id, ORDER_CANCEL, true); 1387 if ($target_time > $create_time) { 1388 GC_Utils_Ex::gfPrintLog('order cancel.(my pending and time expire) order_id=' . $order_id); 1389 } else { 1390 GC_Utils_Ex::gfPrintLog('order cancel.(my pending and set cart) order_id=' . $order_id); 1391 } 1392 } 1393 } 1394 } else { 1395 $this->cancelOrder($order_id, ORDER_CANCEL, true); 1396 GC_Utils_Ex::gfPrintLog('order cancel.(my old pending) order_id=' . $order_id); 1397 } 1398 } 1399 } 1400 $objQuery->commit(); 1401 } 1402 } 1403 1404 public function checkSessionPendingOrder() { 1405 if (!SC_Utils_Ex::isBlank($_SESSION['order_id'])) { 1406 $order_id = $_SESSION['order_id']; 1407 unset($_SESSION['order_id']); 1408 $objQuery =& SC_Query_Ex::getSingletonInstance(); 1409 $objQuery->begin(); 1410 $arrOrder = $this->getOrder($order_id); 1411 if ($arrOrder['status'] == ORDER_PENDING) { 1412 $objCartSess = new SC_CartSession_Ex(); 1413 $cartKeys = $objCartSess->getKeys(); 1414 if (SC_Utils_Ex::isBlank($cartKeys)) { 1415 $this->rollbackOrder($order_id, ORDER_CANCEL, true); 1416 GC_Utils_Ex::gfPrintLog('order rollback.(session pending) order_id=' . $order_id); 1417 } else { 1418 $this->cancelOrder($order_id, ORDER_CANCEL, true); 1419 GC_Utils_Ex::gfPrintLog('order rollback.(session pending and set card) order_id=' . $order_id); 1420 } 1421 } 1422 $objQuery->commit(); 1423 } 1424 } 1340 1425 }
Note: See TracChangeset
for help on using the changeset viewer.
