public function view_sureAddOrder() { $OrderAddAct = new OrderAddAct(); $returnArr = $OrderAddAct->act_sureAddOrder(); $errCode = !empty($returnArr['errCode']) ? $returnArr['errCode'] : ''; $errMsg = !empty($returnArr['errMsg']) ? $returnArr['errMsg'] : ''; if ($returnArr['errCode'] == 200) { header('location:index.php?mod=orderAdd&act=addOrder&state=' . $errMsg); exit; } else { echo '<script language="javascript"> alert("' . $errMsg . '"); location.href = "index.php?mod=orderAdd&act=addOrder&state=' . $errMsg . '"; </script>'; exit; } }
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; }*/ }
function act_addDistributorOrder() { $orderArrJson = json_decode($_POST["orderArr"], true); $app_key = trim($_POST['app_key']); $account = $this->getOrderSystemAccount($app_key); $accountInfo = omAccountModel::getAccountInfoByName($account); $accountId = $accountInfo['id']; $orderAddAct = new OrderAddAct(); $rtnArr = array(); foreach ($orderArrJson as $val) { $itemRtn = array(); $orderId = $val['orderId']; $check = $orderAddAct->checkDuplicateOrder($orderId, '16'); if ($check) { $itemRtn["errcode"] = 80001; $itemRtn["orderId"] = $orderId; $itemRtn["msg"] = "系统已经存在[" . $orderId . "]这个订单"; $rtnArr[] = $itemRtn; continue; } //return $rtnArr; $insertOrder = array(); /***************BEGIN 订单表数据***************/ //$unshipedOrder = array(); $orderdata['recordNumber'] = $orderId; $orderdata['platformId'] = 16; //国内销售部 $orderdata['accountId'] = $accountId; $orderdata['orderStatus'] = C('STATEPENDING'); $orderdata['orderType'] = C('STATEPENDING'); //daichu //$gmtCreate = time_shift($val['gmtCreate']); $orderdata['ordersTime'] = $val['gmtCreate']; $orderdata['paymentTime'] = ""; //$pay_time[0]; $orderdata['onlineTotal'] = ""; //$order['initOderAmount']['amount']; //线上总金额 $orderdata['actualTotal'] = ""; //$orderDetail2['payAmount']['amount'];//付款总金额 $orderdata['calcShipping'] = $orderdata['orderAddTime'] = time(); $orderdata['isFixed'] = 1; /***************END 订单表数据***************/ /***************BEGIN 订单扩展表数据***************/ $orderExtAli = array(); // $orderExtAli['declaredPrice'] = $val['orderAmount']['amount']; $orderExtAli['paymentStatus'] = ""; //$order['fundStatus']; $orderExtAli['transId'] = ""; //$val['tradeID'];//$order['id'];//$orderdetail["id"]; // 交易id;; //$orderExtAli[PayPalPaymentId"] = ''; //$orderExtAli["site"] = ''; $orderExtAli['orderId'] = $val['orderId']; $orderExtAli['platformUsername'] = ""; //$order['buyerSignerFullname'];; $orderExtAli['currency'] = $val['orderAmount']['currencyCode']; $orderExtAli['PayPalEmailAddress'] = ""; //$order['buyerInfo']['email'];; $orderExtAli['eBayPaymentStatus'] = ""; //1?//$order['orderStatus']; //订单状态; /***************END 订单扩展表数据***************/ /***************BEGIN 订单用户表数据***************/ $orderUserInfo = array(); $orderUserInfo['username'] = $val['receiptAddress']['contactPerson']; $orderUserInfo['platformUsername'] = ""; //$order['buyerSignerFullname']; $orderUserInfo['email'] = ""; //$order['buyerInfo']['email']; $orderUserInfo['countryName'] = get_country_name($val['receiptAddress']['country']); $orderUserInfo['countrySn'] = $val['receiptAddress']['country']; $orderUserInfo['currency'] = $val['orderAmount']['currencyCode']; $orderUserInfo['state'] = $val['receiptAddress']['province']; $orderUserInfo['city'] = $val['receiptAddress']['city']; $orderUserInfo['street'] = $val['receiptAddress']['address1']; //?//$val['receiptAddress']['detailAddress']; $orderUserInfo['address2'] = isset($val['receiptAddress']['address2']) ? $val['receiptAddress']['address2'] : ""; $orderUserInfo['zipCode'] = $val['receiptAddress']['zip']; $orderUserInfo['phone'] = $val['receiptAddress']['phoneNumber']; /*************END 订单用户表数据***************/ $carrier = array(); $item_notes = array(); $noteb = array(); $insertOrder = array('orderData' => $orderdata, 'orderExtenData' => $orderExtAli, 'orderUserInfoData' => $orderUserInfo); $orderweight = ""; $obj_order_detail_data = array(); foreach ($val['childOrderList'] as $orderdetail) { //明细表 $orderdata_detail = array(); //$orderdata_detail['omOrderId'] = $insertId;//$order["id"]; $orderdata_detail['recordNumber'] = $orderId; $orderdata_detail['sku'] = $orderdetail['productAttributes']['sku']; //substr($orderdetail['skuCode'],0,stripos($orderdetail['skuCode'],'#')); $orderdata_detail['itemPrice'] = $orderdetail['productAttributes']['itemPrice']; $orderdata_detail['amount'] = $orderdetail['lotNum']; //$orderdata_detail["shippingFee"] = ''; //$orderdata_detail["reviews"] = ''; $orderdata_detail['createdTime'] = time(); //明细扩展表 $orderDetailExtAli = array(); $orderDetailExtAli['itemTitle'] = $orderdetail['productAttributes']['itemTitle']; $orderDetailExtAli['itemURL'] = $orderdetail['productAttributes']['skuUrl']; $orderDetailExtAli['itemId'] = ""; //$orderdetail['productId']; $orderDetailExtAli['transId'] = 0; //$orderId;//$orderdetail['orderId']; // 交易id; $orderDetailExtAli['note'] = ""; //$item_notes[$orderdetail['orderId']]; $obj_order_detail_data[] = array('orderDetailData' => $orderdata_detail, 'orderDetailExtenData' => $orderDetailExtAli); } $insertOrder['orderDetail'] = $obj_order_detail_data; $calcInfo = CommonModel::calcAddOrderWeight($obj_order_detail_data); //计算重量和包材 $insertOrder['orderData']['calcWeight'] = $calcInfo[0]; $insertOrder['orderData']['pmId'] = $calcInfo[1]; if (count($insertOrder['orderDetail']) > 1) { $insertOrder['orderData']['orderAttribute'] = 3; } else { if (isset($insertOrder['orderDetail'][0]['orderDetailData']['amount']) && $insertOrder['orderDetail'][0]['orderDetailData']['amount'] > 1) { $insertOrder['orderData']['orderAttribute'] = 2; } } $calcShippingInfo = CommonModel::calcAddOrderShippingFee($insertOrder, 1); //计算运费 $insertOrder['orderData']['channelId'] = $calcShippingInfo['fee']['channelId']; $insertOrder = AutoModel::auto_contrast_intercept($insertOrder); $opflag = "false"; if (OrderAddModel::insertAllOrderRow($insertOrder)) { $itemRtn["errcode"] = 0; $itemRtn["orderId"] = $orderId; $itemRtn["msg"] = "success"; $rtnArr[] = $itemRtn; $opflag = "success"; } else { $itemRtn["errcode"] = 80005; $itemRtn["orderId"] = $orderId; $itemRtn["msg"] = "添加订单失败"; $rtnArr[] = $itemRtn; } $logfile = date("Y-m-d") . ".log"; @file_put_contents("/home/ebay_order_cronjob_logs/auto_contrast_intercept/" . $account . "/" . $logfile, $_POST["orderArr"] . "==" . $opflag . "\r\n", FILE_APPEND); } $rtnStr = json_encode($rtnArr); echo $rtnStr; }