Beispiel #1
0
 function act_syncOrder()
 {
     //手动同步旧系统订单至新系统
     $orderDatas = isset($_GET['orderDatas']) ? $_GET['orderDatas'] : "";
     if (!$orderDatas) {
         self::$errCede = '002';
         self::$errMsg = '参数为空!';
         return false;
     }
     $orderDatas = json_decode($orderDatas, true);
     foreach ($orderDatas as $key => $order) {
         $where = "id={$order['order']['id']}";
         $msg1 = OmAvailableModel::getTNameList("om_unshipped_order", "*", $where);
         $msg2 = OmAvailableModel::getTNameList("om_shipped_order", "*", $where);
         if ($msg1 || $msg2) {
             self::$errMsg .= "订单{$order['order']['id']}已存在!";
             unset($orderDatas[$key]);
         }
     }
     $log_data = '';
     $tablekeys = array();
     $tabledatas = array();
     foreach ($orderDatas as $odk => $orderD) {
         if (!isset($orderD['order']['orderStatus'])) {
             //var_dump($orderD,$orderD['order'],$orderD['order']['orderStatus']);//exit;
             //echo "no status{$orderD['order']['id']}\n";
         }
         //'orderStauts'=>900, //0
         //'orderType'=>21, //2
         $tou = $orderD['order']['orderStatus'] == 900 && $orderD['order']['orderType'] == 21 ? 'om_shipped_' : 'om_unshipped_';
         foreach ($orderD as $dk => $dataL) {
             if ($dk == 'orderDetail') {
                 foreach ($dataL as $ssdata) {
                     foreach ($ssdata as $tkey => $tdata) {
                         //var_dump($tkey, $tdata);
                         $tablekeys[$tou . $tkey] = array_keys($tdata);
                         $tabledatas[$tou . $tkey][] = '(' . implode(',', _array2strarray(array_values($tdata))) . ')';
                         //$log_data .= "INSERT INTO {$tkey} SET "._array2sql($tdata)."\n\n";
                     }
                 }
             } else {
                 $tou2 = in_array($dk, array('om_order_notes', 'om_order_tracknumber')) ? '' : $tou;
                 $tablekeys[$tou2 . $dk] = array_keys($dataL);
                 $tabledatas[$tou2 . $dk][] = '(' . implode(',', _array2strarray(array_values($dataL))) . ')';
             }
         }
     }
     unset($orderDatas);
     //echo $log_data;
     $sql = '';
     foreach ($tablekeys as $tablen => $tablekey) {
         //if (empty($tabledatas[$tablen])) var_dump($tabledatas[$tablen], $tabledatas);
         //INSERT INTO `valsun_ordermanage`.`om_unshipped_order` (`id`, `recordNumber`, `platformId`, `accountId`, `ordersTime`, `paymentTime`, `onlineTotal`, `actualTotal`, `transportId`, `marketTime`, `ShippedTime`, `orderStatus`, `orderType`, `orderAttribute`, `pmId`, `isFixed`, `channelId`, `calcWeight`, `calcShipping`, `orderAddTime`, `isSendEmail`, `isNote`, `isCopy`, `isSplit`, `combinePackage`, `combineOrder`, `isBuji`, `isLock`, `lockUser`, `lockTime`, `storeId`, `is_delete`) VALUES (NULL, 'fds', '', '', '', '', '0.00', '0.00', '', NULL, NULL, '', NULL, '1', NULL, '2', NULL, '0.000', '0.000', '', '0', '0', '0', '0', '0', '0', '0', '0', NULL, NULL, '1', '0');
         //$sql = "INSERT INTO {$tablen}(".implode(',', $tablekey).") VALUES ".implode(',', $tabledatas[$tablen]).";\n";
         $key = implode(',', $tablekey);
         $value = implode(',', $tabledatas[$tablen]);
         $info = OmAvailableModel::insertRowUseValue($tablen, $key, $value);
         if (!$info) {
             self::$errMsg .= "插入订单{$tabledatas[$tablen][0]}失败!";
         }
     }
     if (self::$errMsg == "") {
         self::$errMsg = "所选订单已插入新系统!";
         self::$errCode = '200';
         return true;
     } else {
         self::$errCode = '002';
         return false;
     }
     /*$info = orderAddModel::syncOrder($orderDatas);
     		if($info){
     			self::$errCode = orderAddModel::$errCode;
     			self::$errMsg = orderAddModel::$errMsg;
     			return true;
     		}else{
     			self::$errCode = orderAddModel::$errCode;
     			self::$errMsg = orderAddModel::$errMsg;
     			return false;
     		}*/
 }