public static function update_order_shippedmarked_time($omOrderId) { global $mctime; $tableName = "om_unshipped_order"; $where = " where id = {$omOrderId} and storeId = 1 and is_delete = 0 "; $returnStatus0 = array('marketTime' => $mctime); return OrderindexModel::updateOrder($tableName, $returnStatus0, $where); }
/** * 更新订单的ebay_markettime和ShippedTime */ function update_order_shippedmarked_time($ebay_ordersn, $mctime) { global $dbConn; $tableName = "om_shipped_order"; $data['marketTime'] = $mctime; $data['ShippedTime'] = $mctime; $where = " where recordNumber IN ('" . implode("','", $ebay_ordersn) . "') "; OrderindexModel::updateOrder($tableName, $data, $where); /*$order_db = mysql_query($sql,$link);*/ //$dbConn->query($sql); //errorLog($sql,'N'); //echo "\r\n".$sql."\r\n"; return $order_db; }
if (OrderindexModel::updateOrder($tableName, $returnStatus0, $where)) { echo "\n=====同步的订单{$orderid}状态成功======\n"; } $msg = CommonModel::updateWarehouseInfo($orderid, 2, $operateUserId, $operateTime, $actualWeight); if ($msg) { $where = ' WHERE id in (' . join(",", $orderids) . ') AND orderStatus= ' . C('STATESHIPPED') . ' AND orderType= ' . C('STATEHASSHIPPED_CONV') . ' AND is_delete = 0 '; if (OrderindexModel::shiftOrderList($where)) { echo "转移成功\n"; } else { echo "转移失败\n"; } } } else { $where = " WHERE id in (" . join(',', $orderids) . ") AND orderStatus = " . C('STATESHIPPED'); $returnStatus0 = array('orderType' => C($orderStatus)); if (OrderindexModel::updateOrder($tableName, $returnStatus0, $where)) { echo "\n=====同步的订单{$orderid}状态成功======\n"; } $msg = commonModel::updateWarehouseInfo($orderid, C($orderStatus), $operateUserId, $operateTime); if ($tracknumber) { $updateArr = array('omOrderId' => $orderid, 'tracknumber' => $tracknumber, 'createdTime' => time()); $msg = OrderAddModel::insertOrderTrackRow($updateArr); } } }; $channel->basic_consume($queue_name, '', false, true, false, false, $callback); while (count($channel->callbacks)) { $channel->wait(); } $channel->close(); $connection->close();
public static function combineOrder($orderIdArr) { self::initDB(); BaseModel::begin(); //开始事务 $serchSql = "SELECT * FROM om_unshipped_order WHERE id in ('" . join("','", $orderIdArr) . "') and is_delete = 0 and storeId = 1 "; $querySql = self::$dbConn->query($serchSql); $serchSqlArr = self::$dbConn->fetch_array_all($querySql); //判断一:订单数量统计 if (count($serchSqlArr) < 2) { self::$errCode = "1111"; self::$errMsg = "合并订单最少需要选择两个或两个以上的订单!"; return false; } $platfrom = omAccountModel::getPlatformSuffixById($serchSqlArr[0]['platformId']); $extension = $platfrom['suffix']; //获取后缀名称 $temporderStatus = ""; //相同状态一 $temporderStatus2 = ""; //相同状态二 $userinfo = array(); //订单相同条件 $orderSn = array(); //订单编号 $onlineTotal = 0; //线上总价 $actualTotal = 0; //实际收款总价 $calcWeight = 0; //估算重量,单位是kg $calcShipping = 0; //估算运费 foreach ($serchSqlArr as $selectArr) { $orderSn[] = $selectArr['id']; $onlineTotal += $selectArr['onlineTotal']; $actualTotal += $selectArr['actualTotal']; $calcWeight += $selectArr['calcWeight']; $calcShipping += $selectArr['calcShipping']; //判断二:订单被其他人 <锁定> 订单判断 if ($selectArr['isLock'] == 1) { self::$errCode = "2222"; self::$errMsg = "订单[" . $selectArr['id'] . "]已经被 [" . UserModel::getUsernameById($selectArr['lockUser']) . "] 锁定,不能合并操作。"; return false; } //判断三:已合并订单,无法再次合并判断 if (in_array($selectArr['combineOrder'], array(1, 2))) { self::$errCode = "3333"; self::$errMsg = "订单[" . $selectArr['id'] . "]已经有订单合并操作,不能重复订单合并。"; return false; } //判断四:已合并包裹订单,无法合并判断 if (in_array($selectArr['combinePackage'], array(1, 2))) { self::$errCode = "4444"; self::$errMsg = "订单[" . $selectArr['id'] . "]是合并包裹订单,不能订单合并操作。"; return false; } //判断五:订单信息不相同判断 $userinfsql = "SELECT * FROM om_unshipped_order_userInfo WHERE omOrderId = {$selectArr['id']}"; $userinfsql = self::$dbConn->fetch_first($userinfsql); $tempArr = array(); $tempArr['accountId'] = trim($selectArr['accountId']); $tempArr['platformUsername'] = trim($userinfsql['platformUsername']); $tempArr['username'] = trim($userinfsql['username']); $tempArr['countryName'] = trim($userinfsql['countryName']); $tempArr['state'] = trim($userinfsql['state']); $tempArr['city'] = trim($userinfsql['city']); $tempArr['street'] = trim($userinfsql['street']); $tempArr['currency'] = trim($userinfsql['currency']); //币种判断 if (!empty($userinfo) && $userinfo != $tempArr) { self::$errCode = "5555"; self::$errMsg = "订单信息不相同,无法合并订单操作。"; return false; } $userinfo = $tempArr; //订单信息相同,进入下次比较。 //判断六:同状态判断 $orderStatus = ""; //订单状态一 $orderType = ""; //订单状态二 $orderStatus = $selectArr['orderStatus']; $orderType = $selectArr['orderType']; if (!empty($temporderStatus) && $temporderStatus != $orderStatus) { self::$errCode = "6666"; self::$errMsg = "订单不在同一文件夹,无法合并订单操作。"; return false; } $temporderStatus = $orderStatus; if (!empty($temporderStatus2) && $temporderStatus2 != $orderType) { self::$errCode = "6666"; self::$errMsg = "订单不在同一文件夹,无法合并订单操作。"; return false; } $orderExtensql = "SELECT * FROM om_unshipped_order_extension_" . $extension . " WHERE omOrderId = {$selectArr['id']}"; $orderExtensql = self::$dbConn->fetch_first($orderExtensql); $temporderStatus2 = $orderType; } $insertOrder = array(); $insertOrder['orderData'] = $serchSqlArr[0]; $insert_userinfo = $userinfsql; unset($insert_userinfo['omOrderId']); $insertOrder['orderUserInfoData'] = $insert_userinfo; $insert_orderExtensql = $orderExtensql; unset($insert_orderExtensql['omOrderId']); $insertOrder['orderExtenData'] = $insert_orderExtensql; //$insertOrder['orderNote'] = $userinfsql; unset($insertOrder['orderData']['id']); $insertOrder['orderData']['onlineTotal'] = $onlineTotal; $insertOrder['orderData']['actualTotal'] = $actualTotal; $insertOrder['orderData']['calcWeight'] = $calcWeight; $insertOrder['orderData']['calcShipping'] = $calcShipping; $insertOrder['orderData']['orderAddTime'] = time(); $insertOrder['orderData']['combineOrder'] = 2; $insertOrder['orderData']['orderAttribute'] = 3; //$insertOrder['orderDetail'] = array(); $detailSql = "SELECT * FROM om_unshipped_order_detail WHERE omOrderId in ('" . join("','", $orderIdArr) . "') and is_delete = 0 and storeId = 1 "; $detailSql = self::$dbConn->query($detailSql); $detailSqlArr = self::$dbConn->fetch_array_all($detailSql); $orderDetail = array(); foreach ($detailSqlArr as $value) { //$orderDetailData = array(); //$orderDetailExtenData = array(); $obj_orderDetail = $value; unset($obj_orderDetail['id']); unset($obj_orderDetail['omOrderId']); $orderDetailData = $obj_orderDetail; $detailExtenSql = "SELECT * FROM om_unshipped_order_detail_extension_" . $extension . " WHERE omOrderdetailId = '" . $value['id'] . "' "; $detailExtenSql = self::$dbConn->query($detailExtenSql); $detailExtenSqlArr = self::$dbConn->fetch_array($detailExtenSql); $obj_orderDetailExten = $detailExtenSqlArr; unset($obj_orderDetailExten['omOrderdetailId']); $orderDetailExtenData = $obj_orderDetailExten; $orderDetail[] = array('orderDetailData' => $orderDetailData, 'orderDetailExtenData' => $orderDetailExtenData); } $insertOrder['orderDetail'] = $orderDetail; //var_dump($insertOrder); exit; if ($insertId = OrderAddModel::insertAllOrderRowNoEvent($insertOrder)) { //echo $split_log .= 'insert success!' . "\n"; exit; //var_dump($_mainId,$_spitId); exit; if (!OrderLogModel::insertOrderLog($insertId, '合并产生新订单')) { BaseModel::rollback(); self::$errCode = '001'; self::$errMsg = "合并失败!"; return false; } if (!OrderRecordModel::insertCombineRecord($serchSqlArr[0]['id'], $insertId)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "合并订单失败添加记录失败!"; return false; } $updateOrder = array(); $updateOrder['is_delete'] = 1; $updateOrder['combineOrder'] = 1; if (!OrderindexModel::updateOrder("om_unshipped_order", $updateOrder, " WHERE id in ('" . join("','", $orderSn) . "')")) { BaseModel::rollback(); //事物回滚 self::$errCode = "0012"; self::$errMsg = "合并更新原始订单失败!"; return false; } } else { //$split_log .= '补寄新订单产生失败!' . "\n"; BaseModel::rollback(); self::$errCode = '003'; self::$errMsg = "合并新订单产生失败"; return false; } BaseModel::commit(); self::$errCode = '200'; self::$errMsg = "合并新订单成功!"; return TRUE; }
public function view_modifyOrderList() { global $memc_obj; $sysUserId = $_SESSION['sysUserId']; $modify_showerrorinfo = ''; $OrderModifyAct = new OrderModifyAct(); $OrderindexAct = new OrderindexAct(); $UserCompetenceAct = new UserCompetenceAct(); //var_dump($_GET); exit; if (isset($_GET) && !empty($_GET)) { $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ''; $ostatus = isset($_GET['edit_ostatus']) ? $_GET['edit_ostatus'] : $_GET['ostatus']; $otype = isset($_GET['edit_otype']) ? $_GET['edit_otype'] : $_GET['otype']; } if (isset($_POST) && !empty($_POST)) { //var_dump($_POST); echo "<br>"; exit; $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ''; $ostatus = isset($_POST['edit_ostatus']) ? $_POST['edit_ostatus'] : $_POST['ostatus']; $otype = isset($_POST['edit_otype']) ? $_POST['edit_otype'] : $_POST['otype']; $update_order = array(); $update_userinfo = array(); $update_tracknumber = array(); //$orderid = $_POST['orderid']; //var_dump($_POST); exit; $updatestatus = false; if ($_POST['action'] == 'addDetail') { //var_dump($_GET); echo "<br>"; exit; $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ''; $ostatus = isset($_GET['edit_ostatus']) ? $_GET['edit_ostatus'] : $_GET['ostatus']; $otype = isset($_GET['edit_otype']) ? $_GET['edit_otype'] : $_GET['otype']; if ($OrderModifyAct->act_batchAdd($orderid, $_POST)) { $modify_showerrorinfo = "<font color='green'>添加成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>添加失败</font>"; } } else { if ($_POST['action'] == 'addNote') { //var_dump($_GET); echo "<br>"; exit; $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ''; $ostatus = isset($_GET['edit_ostatus']) ? $_GET['edit_ostatus'] : $_GET['ostatus']; $otype = isset($_GET['edit_otype']) ? $_GET['edit_otype'] : $_GET['otype']; if ($OrderModifyAct->act_addNote($orderid, $_POST)) { $modify_showerrorinfo = "<font color='green'>添加成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>添加失败</font>"; } } else { $visible_movefolder = $UserCompetenceAct->act_getInStatusIds($_POST['otype'], $sysUserId); if (!in_array($_POST['edit_otype'], $visible_movefolder)) { $modify_showerrorinfo = "<font color='red'>您没有改变订单状态的权限</font>"; } else { if ($_POST['username'] != $_POST['edit_username']) { $update_userinfo['username'] = $_POST['edit_username']; } if ($_POST['ostatus'] != $_POST['edit_ostatus']) { $update_order['orderStatus'] = $_POST['edit_ostatus']; } if ($_POST['otype'] != $_POST['edit_otype']) { $update_order['orderType'] = $_POST['edit_otype']; $updatestatus = true; } if ($_POST['street'] != $_POST['edit_street']) { $update_userinfo['street'] = $_POST['edit_street']; } if ($_POST['platformUsername'] != $_POST['edit_platformUsername']) { $update_userinfo['platformUsername'] = $_POST['edit_platformUsername']; } if ($_POST['address2'] != $_POST['edit_address2']) { $update_userinfo['address2'] = $_POST['edit_address2']; } if ($_POST['actualShipping'] != $_POST['edit_actualShipping']) { $update_order['actualShipping'] = $_POST['edit_actualShipping']; } if ($_POST['city'] != $_POST['edit_city']) { $update_userinfo['city'] = $_POST['edit_city']; } if ($_POST['state'] != $_POST['edit_state']) { $update_userinfo['state'] = $_POST['edit_state']; } if ($_POST['countryName'] != $_POST['edit_countryName']) { $update_userinfo['countryName'] = $_POST['edit_countryName']; } if ($_POST['zipCode'] != $_POST['edit_zipCode']) { $update_userinfo['zipCode'] = $_POST['edit_zipCode']; } if ($_POST['landline'] != $_POST['edit_landline']) { $update_userinfo['landline'] = $_POST['edit_landline']; } if ($_POST['phone'] != $_POST['edit_phone']) { $update_userinfo['phone'] = $_POST['edit_phone']; } if ($_POST['transportId'] != $_POST['edit_transportId']) { $update_order['transportId'] = $_POST['edit_transportId']; } if ($_POST['edit_tracknumber']) { $update_tracknumber['omOrderId'] = $orderid; $update_tracknumber['tracknumber'] = $_POST['edit_tracknumber']; $update_tracknumber['addUser'] = $sysUserId; $update_tracknumber['createdTime'] = time(); //var_dump($update_tracknumber); exit; } BaseModel::begin(); //开始事务 if ($update_order) { //$sql = "UPDATE om_unshipped_order set ".array2sql($update_order)." WHERE id = ".$orderid; //$msg = OrderLogModel::orderLog($orderid,$update_order['orderStatus'],$update_order['orderType'],$sql); if (OrderindexModel::updateOrder('om_unshipped_order', $update_order, ' WHERE id = ' . $orderid)) { if ($updatestatus) { $ProductStatus = new ProductStatus(); if (!$ProductStatus->updateSkuStatusByOrderStatus(array($orderid), $batch_ostatus_val, $batch_otype_val)) { BaseModel::rollback(); } } $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>更新失败</font>"; BaseModel::rollback(); } } if ($update_userinfo) { //var_dump($update_userinfo); if (OrderindexModel::updateOrder('om_unshipped_order_userInfo', $update_userinfo, ' WHERE omOrderId = ' . $orderid)) { $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { $modify_showerrorinfo = "<font color='red'>更新失败</font>"; BaseModel::rollback(); } } if ($update_tracknumber) { //echo $msg; if (!OrderAddModel::insertOrderTrackRow($update_tracknumber)) { /*self :: $errCode = "001"; self :: $errMsg = "跟踪号插入失败"; return false;*/ $modify_showerrorinfo = "<font color='red'>跟踪号插入失败</font>"; BaseModel::rollback(); } } BaseModel::commit(); BaseModel::autoCommit(); } } } } $this->smarty->assign('modify_showerrorinfo', $modify_showerrorinfo); $omAvailableAct = new OmAvailableAct(); //平台信息 $platform = $omAvailableAct->act_getTNameList('om_platform', 'id,platform', 'WHERE is_delete=0'); //var_dump($platform); $platformList = array(); foreach ($platform as $v) { $platformList[$v['id']] = $v['platform']; } $this->smarty->assign('platformList', $platformList); /**导航 start**/ $this->smarty->assign('ostatus', $ostatus); $this->smarty->assign('otype', $otype); //二级目录 $StatusMenuAct = new StatusMenuAct(); $ostatusList = $StatusMenuAct->act_getStatusMenuList('statusCode,statusName', 'WHERE groupId = 0 AND is_delete=0'); //var_dump($ostatusList); $this->smarty->assign('ostatusList', $ostatusList); $otypeList = $StatusMenuAct->act_getStatusMenuList('statusCode,statusName', 'WHERE groupId = "' . $ostatus . '" AND is_delete=0'); //var_dump($otypeList); $this->smarty->assign('otypeList', $otypeList); /*$o_secondlevel = $omAvailableAct->act_getTNameList('om_status_menu','*','WHERE is_delete=0 and groupId=0 order by sort asc'); $this->smarty->assign('o_secondlevel', $o_secondlevel);*/ $second_count = array(); $second_type = array(); foreach ($ostatusList as $o_secondinfo) { $orderStatus = $o_secondinfo['statusCode']; /*$accountacc = $_SESSION['accountacc']; $oc_where = " where orderStatus='$orderStatus' "; if($accountacc){ $oc_where .= ' AND ('.$accountacc.') '; }*/ $s_total = $OrderindexAct->act_showSearchOrderNum($orderStatus); //$s_total = $omAvailableAct->act_getTNameCount("om_unshipped_order", $oc_where); $second_count[$o_secondinfo['statusCode']] = $s_total; $s_type = $omAvailableAct->act_getTNameList("om_status_menu", "*", "WHERE is_delete=0 and groupId='{$orderStatus}' order by sort asc"); $second_type[$o_secondinfo['statusCode']] = $s_type[0]['statusCode']; } //var_dump($second_count); $this->smarty->assign('second_count', $second_count); $this->smarty->assign('second_type', $second_type); //退款数量 $refund_total = $omAvailableAct->act_getTNameCount("om_order_refund", " where is_delete=0"); $this->smarty->assign('refund_total', $refund_total); //三级目录 $o_threelevel = $omAvailableAct->act_getTNameList("om_status_menu", "*", "WHERE is_delete=0 and groupId='{$ostatus}' order by sort asc"); $this->smarty->assign('o_threelevel', $o_threelevel); $three_count = array(); foreach ($o_threelevel as $o_threeinfo) { $orderType = $o_threeinfo['statusCode']; $s_total = $OrderindexAct->act_showSearchOrderNum($ostatus, $orderType); //$s_total = $omAvailableAct->act_getTNameCount("om_unshipped_order"," where orderStatus='$ostatus' and orderType='$orderType' and storeId=1 and is_delete=0"); $three_count[$o_threeinfo['statusCode']] = $s_total; } $this->smarty->assign('three_count', $three_count); $toptitle = '订单显示页面'; //头部title $this->smarty->assign('toptitle', $toptitle); $this->smarty->assign('toplevel', 0); $threelevel = '1'; //当前的三级菜单 $this->smarty->assign('threelevel', $threelevel); $statusMenu = $omAvailableAct->act_getTNameList('om_status_menu', ' * ', 'WHERE is_delete=0 '); $this->smarty->assign('statusMenu', $statusMenu); $value = ''; $where = ''; switch ($searchTransportationType) { case '1': $transportation = CommonModel::getCarrierList(1); //快递 break; case '2': $transportation = CommonModel::getCarrierList(0); //平邮 break; default: $transportation = CommonModel::getCarrierList(); //所有的 break; } //var_dump($transportation); exit; $transportationList = array(); foreach ($transportation as $tranValue) { $transportationList[$tranValue['id']] = $tranValue['carrierNameCn']; } //var_dump($transportationList); exit; $this->smarty->assign('transportation', $transportation); $this->smarty->assign('transportationList', $transportationList); //var_dump($orderid, $ostatus,$otype); $omOrderList = $OrderModifyAct->act_getModifyOrderList($orderid, $ostatus, $otype, $storeId = 1); //var_dump($omOrderList); //$sku = array(); $account_where = ' WHERE is_delete = 0 '; if ($searchPlatformId) { $account_where .= ' AND platformId = ' . $searchPlatformId; } $accountList = $UserCompetenceAct->act_showGlobalUser(); if ($accountList) { $account_where .= ' AND id in ( ' . join(',', $accountList) . ' ) '; } //帐号信息 $accountList = $omAvailableAct->act_getTNameList('om_account', '*', $account_where); //var_dump($accountList); exit; $account = array(); foreach ($accountList as $v) { $account[$v['id']] = $v['account']; } //包材信息 $pm = GoodsModel::getMaterInfoByList(); //获取系统所有状态 $statusList = copyOrderModel::selectStatusList(); $CurrencyAct = new CurrencyAct(); $currencyList = $CurrencyAct->act_getCurrencyListById(); //echo "<pre>"; print_r($currencyList); exit; $this->smarty->assign('currencyList', $currencyList); $this->smarty->assign('statusList', $statusList); $this->smarty->assign('show_page', $show_page); $this->smarty->assign('account', $account); $this->smarty->assign('accountList', $accountList); $this->smarty->assign('pm', $pm); $this->smarty->assign('omOrderList', $omOrderList); $this->smarty->display('orderModify.htm'); }
public function act_ApplicationException($omOrderId, $content) { $tableName = "om_unshipped_order"; $storeId = 1; if (!$omOrderId || !$content) { self::$errCode = '5806'; self::$errMsg = 'param is error'; return array(); } $where = " WHERE id = " . $omOrderId . " AND orderStatus = " . C('STATESHIPPED'); $returnStatus0 = array('orderStatus' => C('STATEINTERCEPTSHIP'), 'orderType' => C('STATEPENDING_APPEXC')); if (!OrderindexModel::updateOrder($tableName, $returnStatus0, $where)) { self::$errCode = '5807'; self::$errMsg = 'update error'; return false; } $insertOrderNoteDada = array('omOrderId' => $omOrderId, 'content' => $content, 'userId' => 0, 'createdTime' => time()); if ($insertOrderNoteids = OrderAddModel::insertOrderNotesRow($insertOrderNoteDada)) { self::$errCode = '5808'; self::$errMsg = 'insert Note error'; return false; } self::$errCode = '200'; self::$errMsg = 'sync success'; return true; }
public static function combinePackage($tableName, $plateform_arr, $carrierIds, $id_array, $storeId = 1) { self::initDB(); $list = self::selectList($tableName, $plateform_arr, $carrierIds, $id_array); //var_dump($list); exit; if (!$list) { self::$errCode = 301; self::$errMsg = "没有需要合并的订单!"; return false; } /*foreach($list as $key=>$value){ $key = $value['id']; } var_dump($key); exit;*/ BaseModel::begin(); $combineNum = 0; foreach ($list as $key => $value) { $where = "b.userName = '******'userName']}' \n\t\t\t\t\tAND b.countryName = '{$value['countryName']}' \n\t\t\t\t\tAND a.accountId = {$value['accountId']} \n\t\t\t\t\tAND a.transportId = {$value['transportId']} \n\t\t\t\t\tAND b.state='{$value['state']}' \n\t\t\t\t\tAND b.city='{$value['city']}' \n\t\t\t\t\tAND b.street='{$value['street']}' \n\t\t\t\t\tAND a.orderType={$value['orderType']}\n\t\t\t\t\tAND a.calcWeight<=2 \n\t\t\t\t\tAND a.isLock=0 \n\t\t\t\t\tAND a.is_delete=0 \n\t\t\t\t\tAND a.combinePackage=0 \n\t\t\t\t\tAND a.orderStatus={$value['orderStatus']}\n\t\t\t\t\tAND a.orderType={$value['orderType']}\n\t\t\t\t\tAND is_delete = 0 AND storeId = " . $storeId; $records = combinePackageModel::selectRecord($tableName, $where, $id_array); //var_dump($records); exit; if (!$records) { continue; } else { $weightlists = array(); $orderinfo = array(); $countryName = $records[0]['countryName']; $transportId = $records[0]['transportId']; foreach ($records as $record) { $omOrderId = $record['id']; $omOrderId = $record['id']; $orderinfo[$record['id']] = $record; $arrinfo = CommonModel::calcNowOrderWeight($omOrderId); //var_dump($arrinfo); exit; $realweight = $arrinfo[0]; $realcosts = $arrinfo[2]; $itemprices = $arrinfo[3]; $weightlists[$omOrderId] = $realweight; } //var_dump($weightlists); exit; $keyarray = array(); $keyarrays = array(); $checkweight = 0; foreach ($weightlists as $wk => $weightlist) { $checkweight += $weightlist; if ($checkweight > 1.85) { $keyarrays[] = $keyarray; $keyarray = array(); $checkweight = $weightlist; $keyarray[] = $wk; } else { $keyarray[] = $wk; } } if (!empty($keyarray)) { $keyarrays[] = $keyarray; } //var_dump($keyarrays); echo "<br>"; foreach ($keyarrays as $orderlist) { if (count($orderlist) < 2) { continue; } $ordervalueweight = array(); $ordervalueactualTotal = array(); foreach ($orderlist as $orderid) { $ordervalueweight[$orderid] = $weightlists[$orderid]; $ordervalueactualTotal[$orderid] = $orderinfo[$orderid]['actualTotal']; } //var_dump($ordervalueactualTotal); exit; //var_dump($ordervalueweight); exit; $firstorder = array_shift($orderlist); //第一个订单编号信息 //var_dump($firstorder); $combineInfo = CommonModel::calcshippingfee(array_sum($ordervalueweight), $countryName, array_sum($ordervalueactualTotal), $transportId); //邮寄方式计算 //var_dump($combineInfo); exit; $weight2fee = calceveryweight($ordervalueweight, $combineInfo['fee']['fee']); //var_dump($weight2fee); exit; $firstweightfee = array_shift($weight2fee); //第一个订单重量运费信息 $data = array(); $data['combinePackage'] = 1; $data['orderStatus'] = C('STATEPENDING'); $data['orderType'] = C('STATEPENDING_CONPACK'); $where = ' WHERE id = ' . $firstorder; if (!OrderindexModel::updateOrder($tableName, $data, $where)) { self::$errCode = 303; self::$errMsg = "更新主订单失败!"; BaseModel::rollback(); return false; } foreach ($orderlist as $sonorder) { $data['combinePackage'] = 2; $data['orderStatus'] = C('STATEPENDING'); $data['orderType'] = C('STATEPENDING_CONPACK'); $where = ' WHERE id = ' . $sonorder; if (!OrderindexModel::updateOrder($tableName, $data, $where)) { self::$errCode = 304; self::$errMsg = "更新子订单失败!"; BaseModel::rollback(); return false; } if (!OrderRecordModel::insertCombineRecord($firstorder, $sonorder)) { self::$errCode = 305; self::$errMsg = "插入订单合并记录失败!"; BaseModel::rollback(); return false; } } $combineNum++; } } } self::$errCode = 200; self::$errMsg = "合并包裹操作成功!"; BaseModel::commit(); BaseModel::autoCommit(); return $combineNum; }
public static function applyPartPrint($orderid_arr, $ostatus, $otype, $flag, $storeId = 1) { self::initDB(); if (!isset($_SESSION['sysUserId'])) { self::$errCode = "400"; self::$errMsg = "登陆过期!"; return false; } $tableName = "om_unshipped_order"; //var_dump($orderid_arr); exit; if (!$orderid_arr) { self::$errCode = "300"; self::$errMsg = "传值失败!"; return false; } $where = " WHERE is_delete = 0 AND storeId = {$storeId} "; if ($ostatus) { $where .= ' and orderStatus = ' . $ostatus; } if ($otype) { $where .= ' and orderType = ' . $otype; } $accountList = $_SESSION['accountList']; $platformList = $_SESSION['platformList']; //echo "<pre>"; print_r($accountList); exit; $platformsee = array(); for ($i = 0; $i < count($platformList); $i++) { $platformsee[] = $platformList[$i]; } if ($platformsee) { $where .= ' AND platformId IN (' . join(",", $platformsee) . ') '; } else { self::$errCode = "500"; self::$errMsg = "无申请权限!"; return false; } $accountsee = array(); for ($i = 0; $i < count($accountList); $i++) { $accountsee[] = $accountList[$i]; } if ($accountsee) { $where .= ' AND accountId IN (' . join(",", $accountsee) . ') '; } else { self::$errCode = "600"; self::$errMsg = "无申请权限!"; return false; } $where .= ' AND id in (' . join(',', $orderid_arr) . ') '; //基础信息 /*$sql = "SELECT id FROM ".self::$table_order.$where; //echo $sql; echo "<br>"; $query = self::$dbConn->query($sql); $orderids = self::$dbConn->fetch_array_all($query); foreach($orderids as $value){ $orderid = $value['id']; self::limitApplyPrintInfo($orderid); }*/ //$where = " WHERE id in (".join(',',$orderids).") AND orderStatus = ".C('STATESHIPPED'); $returnStatus0 = array('orderStatus' => C("STATESHIPPED"), 'orderType' => C('STATESHIPPED_APPLYPRINT')); if (OrderindexModel::updateOrder($tableName, $returnStatus0, $where)) { self::$errCode = "200"; self::$errMsg = "申请打印成功!"; return true; } else { self::$errCode = "002"; self::$errMsg = "申请打印失败!"; return false; } /*foreach($orderids as $value){ //echo $value['id']."---".$flag; echo "<br>"; self::listPushMessage($value['id'],$flag); }*/ }
public function act_modifyOrder() { if (isset($_POST) && !empty($_POST)) { //$OrderModifyAct->act_modifyOrder(); $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ''; $ostatus = isset($_POST['edit_ostatus']) ? $_POST['edit_ostatus'] : $_POST['ostatus']; $otype = isset($_POST['edit_otype']) ? $_POST['edit_otype'] : $_POST['otype']; $update_order = array(); $update_userinfo = array(); $update_tracknumber = array(); //$orderid = $_POST['orderid']; //var_dump($_POST); exit; $updatestatus = false; if (!empty($_POST['data'])) { $data = $_POST['data']; } if (isset($data['username'])) { $update_userinfo['username'] = $data['username']; } if (isset($data['orderStatus'])) { $update_order['orderStatus'] = $data['orderStatus']; } if (isset($data['orderType'])) { $update_order['orderType'] = $data['orderType']; $updatestatus = true; } if (isset($data['street'])) { $update_userinfo['street'] = $data['street']; } if (isset($data['platformUsername'])) { $update_userinfo['platformUsername'] = $data['platformUsername']; } if (isset($data['address2'])) { $update_userinfo['address2'] = $data['address2']; } if (isset($data['actualShipping'])) { $update_order['actualShipping'] = $data['actualShipping']; } if (isset($data['city'])) { $update_userinfo['city'] = $data['city']; } if (isset($data['state'])) { $update_userinfo['state'] = $data['state']; } if (isset($data['countryName'])) { $update_userinfo['countryName'] = $data['countryName']; } if (isset($data['zipCode'])) { $update_userinfo['zipCode'] = $data['zipCode']; } if (isset($data['landline'])) { $update_userinfo['landline'] = $data['landline']; } if (isset($data['phone'])) { $update_userinfo['phone'] = $data['phone']; } if (isset($data['transportId'])) { $update_order['transportId'] = $data['transportId']; } if (isset($data['update_notes'])) { $update_note = $data['update_notes']; } if (isset($data['note_new'])) { $add_note = $data['note_new']; } if ($data['edit_tracknumber']) { $update_tracknumber['omOrderId'] = $orderid; $update_tracknumber['tracknumber'] = $data['edit_tracknumber']; $update_tracknumber['addUser'] = $_SESSION['sysUserId']; $update_tracknumber['createdTime'] = time(); //var_dump($update_tracknumber); exit; } BaseModel::begin(); //开始事务 if ($update_order) { //$sql = "UPDATE om_unshipped_order set ".array2sql($update_order)." WHERE id = ".$orderid; //$msg = commonModel::orderLog($orderid,$update_order['orderStatus'],$update_order['orderType'],$sql); if (OrderindexModel::updateOrder('om_unshipped_order', $update_order, ' WHERE id = ' . $orderid)) { if ($updatestatus) { $ProductStatus = new ProductStatus(); if (!$ProductStatus->updateSkuStatusByOrderStatus(array($orderid), $batch_ostatus_val, $batch_otype_val)) { BaseModel::rollback(); } } $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { self::$errCode = "001"; self::$errMsg = "更新订单信息失败!"; BaseModel::rollback(); return false; } } if ($update_userinfo) { //var_dump($update_userinfo); if (OrderindexModel::updateOrder('om_unshipped_order_userInfo', $update_userinfo, ' WHERE omOrderId = ' . $orderid)) { $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { self::$errCode = "002"; self::$errMsg = "更新订单用户信息失败!"; BaseModel::rollback(); return false; } } if ($update_tracknumber) { //echo $msg; if (!OrderAddModel::insertOrderTrackRow($update_tracknumber)) { self::$errCode = "003"; self::$errMsg = "更新订单跟踪号插入失败!"; BaseModel::rollback(); return false; } } if ($update_note) { foreach ($update_note as $key => $value) { $notes = explode("###", $value); $where = " where content='{$notes[0]}' and omOrderId={$orderid}"; $set = "set content='{$notes[1]}',userId={$_SESSION['sysUserId']},createdTime=" . time(); $msg = OmAvailableModel::updateTNameRow("om_order_notes", $set, $where); if (!$msg) { self::$errCode = "004"; self::$errMsg = "更新订单备注失败!"; BaseModel::rollback(); return false; } } } if ($add_note) { foreach ($add_note as $key => $value) { $set = "set omOrderId={$orderid},content='{$value}',userId={$_SESSION['sysUserId']},createdTime=" . time(); $msg = OmAvailableModel::insertRow("om_order_notes", $set); if (!$msg) { self::$errCode = "005"; self::$errMsg = "插入订单备注失败!"; BaseModel::rollback(); return false; } } } self::$errCode = "200"; self::$errMsg = "整个订单信息更新成功!"; BaseModel::commit(); BaseModel::autoCommit(); } }
public function act_transportFee() { $omOrderId = $_POST['id']; $tableName = 'om_unshipped_order'; $where = ' WHERE id = ' . $omOrderId; $orderList = OrderindexModel::showOrderList($tableName, $where); $orderData = $orderList[$omOrderId]; $data = array(); //print_r($orderData); $obj_order_detail_data = array(); foreach ($orderData['orderDetail'] as $sku => $detail) { $obj_order_detail_data[] = $detail['orderDetailData']; } $weightfee = commonModel::calcOrderWeight($obj_order_detail_data); $data['calcWeight'] = $weightfee[0]; $calcShippingInfo = CommonModel::calcAddOrderShippingFee($orderData, 1); //计算运费 //var_dump($calcShippingInfo); exit; $calcInfo = CommonModel::calcAddOrderWeight($orderData['orderDetail']); //计算重量和包材 //var_dump($calcInfo); exit; $data['calcWeight'] = $calcInfo[0]; $data['pmId'] = $calcInfo[1]; $data['calcShipping'] = $calcShippingInfo['fee']['fee']; $data['channelId'] = $calcShippingInfo['fee']['channelId']; if (OrderindexModel::updateOrder($tableName, $data, $where)) { self::$errCode = OrderindexModel::$errCode; self::$errMsg = OrderindexModel::$errMsg; return true; } else { self::$errCode = OrderindexModel::$errCode; self::$errMsg = OrderindexModel::$errMsg; return false; } }
public function act_operateAbOrderAPI() { if (!isset($_POST['omData'])) { self::$errCode = 500; self::$errMsg = '未成功接收数据!'; return false; } $ostatus = 770; $otype = 0; $storeId = 1; $orderstr = $_POST['omData']; $orderstr2 = $_POST['omData2']; $orderids = array_unique(explode(',', $orderstr)); $invoiceids = array_unique(explode(',', $orderstr2)); if (!$orderids) { self::$errCode = 400; self::$errMsg = '未获取订单编号信息!'; return false; } //var_dump($orderids); exit; $OrderindexAct = new OrderindexAct(); $WarehouseAPIAct = new WarehouseAPIAct(); foreach ($orderids as $k => $orderId) { BaseModel::begin(); //开始事务 $insertOrderData = array(); $AbOrderInfo = $WarehouseAPIAct->act_getAbOrderInfo($invoiceids[$k]); //var_dump($AbOrderInfo); echo "<br>"; //exit; $where = ' WHERE id = ' . $orderId . ' and is_delete = 0 AND storeId = ' . $storeId . ' LIMIT 1'; $orderList = $OrderindexAct->act_showOrderList($ostatus, $otype, $where); //var_dump($orderList);exit; $order = $orderList[$orderId]; $orderData = $order['orderData']; $insert_orderData = $orderData; unset($insert_orderData['id']); $insert_orderData['orderStatus'] = C('STATEOUTOFSTOCK'); $insert_orderData['orderType'] = C('STATEOUTOFSTOCK_ABNORMAL'); $orderExtenData = $order['orderExtenData']; $insert_orderExtenData = $orderExtenData; unset($insert_orderExtenData['omOrderId']); $orderUserInfoData = $order['orderUserInfoData']; $insert_orderUserInfoData = $orderUserInfoData; unset($insert_orderUserInfoData['omOrderId']); //$orderTracknumber = $order['orderTracknumber']; //$orderAudit = $order['orderAudit']; $orderDetail = $order['orderDetail']; $insertOrderData['orderData'] = $insert_orderData; $insertOrderData['orderExtenData'] = $insert_orderExtenData; $insertOrderData['orderUserInfoData'] = $insert_orderUserInfoData; $insert_orderDetail = array(); $need_delete_ids = array(); foreach ($orderDetail as $dkey => $detailValue) { $orderDetailData = $detailValue['orderDetailData']; $orderDetailExtenData = $detailValue['orderDetailExtenData']; if (!isset($AbOrderInfo[$orderDetailData['sku']]) || $AbOrderInfo[$orderDetailData['sku']] == 0) { $insert_orderDetailData = $orderDetailData; unset($insert_orderDetailData['id']); unset($insert_orderDetailData['omOrderId']); $insert_orderDetailExtenData = $orderDetailExtenData; unset($insert_orderDetailExtenData['omOrderdetailId']); $insert_orderDetail[$dkey]['orderDetailData'] = $insert_orderDetailData; $insert_orderDetail[$dkey]['orderDetailExtenData'] = $insert_orderDetailExtenData; $need_delete_ids[] = $orderDetailData['id']; } } $insertOrderData['orderDetail'] = $insert_orderDetail; $count_insert_orderDetail = count($insert_orderDetail); $count_orderDetail = count($orderDetail); $tableName = "om_unshipped_order"; if ($count_insert_orderDetail > 0 && $count_insert_orderDetail < $count_orderDetail) { $calcWeight = CommonModel::calcNowOrderWeight($orderId); //重新计算原来订单的重量 if (!OrderindexModel::deleteOrderDetail(array('is_delete' => 1), ' where id in(' . join(',', $need_delete_ids) . ')')) { BaseModel::rollback(); self::$errCode = '005'; self::$errMsg = "删除原订单明细失败!"; return false; } $insertOrderData['orderData']['isCopy'] = 2; $insertOrderData['orderData']['actualTotal'] = 0.0; //var_dump($orderData);exit; $calcInfo = CommonModel::calcAddOrderWeight($insert_orderDetail); //计算重量和包材 //var_dump($calcInfo); exit; $insertOrderData['orderData']['calcWeight'] = $calcInfo[0]; $insertOrderData['orderData']['pmId'] = $calcInfo[1]; if (count($insertOrderData['orderDetail']) > 1) { $insertOrderData['orderData']['orderAttribute'] = 3; } else { if (isset($insertOrderData['orderDetail'][0]['orderDetailData']['amount']) && $insertOrderData['orderDetail'][0]['orderDetailData']['amount'] > 1) { $insertOrderData['orderData']['orderAttribute'] = 2; } } $calcShippingInfo = CommonModel::calcAddOrderShippingFee($insertOrder, 1); //计算运费 $insertOrderData['orderData']['channelId'] = $calcShippingInfo['fee']['channelId']; $insertOrderData['orderData']['calcShipping'] = $calcShippingInfo['fee']['fee']; //print_r($insertOrderData); exit; if ($_spitId = OrderAddModel::insertAllOrderRowNoEvent($insertOrderData)) { if (!OrderLogModel::insertOrderLog($_spitId, 'INSERT ORDER')) { BaseModel::rollback(); self::$errCode = '001'; self::$errMsg = "插入订单日志失败!"; return false; } if (!OrderRecordModel::insertSpitRecords($orderId, $_spitId)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "插入拆分日志失败!"; return false; } } else { BaseModel::rollback(); self::$errCode = '010'; self::$errMsg = "插入订单信息失败!"; return false; } $returnStatus0 = array('isCopy' => 1, 'calcWeight' => $calcWeight); $rtn = $WarehouseAPIAct->act_operateAbOrder($invoiceids[$k], $calcWeight); if (!$rtn) { BaseModel::rollback(); self::$errCode = '011'; self::$errMsg = "调用仓库系统拆分功能失败!"; return false; } } else { $returnStatus0 = array('orderStatus' => $insert_orderData['orderStatus'], 'orderType' => $insert_orderData['orderType']); } if (!OrderindexModel::updateOrder($tableName, $returnStatus0, $where)) { BaseModel::rollback(); self::$errCode = '002'; self::$errMsg = "订单移动到缺货异常失败!"; return false; } BaseModel::commit(); BaseModel::autoCommit(); } self::$errCode = 200; self::$errMsg = '缺货拆分完成!'; return true; }
function act_updateMenuStatusAPI() { $orderId = post_check(trim($_REQUEST['orderId'])); $ebay_status = $_REQUEST['ebay_status']; $final_status = $_REQUEST['final_status']; $truename = $_REQUEST['username']; if (empty($orderId)) { self::$errCode = 401; self::$errMsg = 'orderId is null'; return false; } if (empty($ebay_status)) { self::$errCode = 402; self::$errMsg = 'ebay_status is null'; return false; } if (empty($final_status)) { self::$errCode = 403; self::$errMsg = 'final_status is null'; return false; } if (empty($truename)) { self::$errCode = 404; self::$errMsg = 'truename is null'; return false; } $status1 = getStatusMenuByOldStatus($final_status); $orderStatus1 = $status1[0]; $orderType1 = $status1[1]; $status2 = getStatusMenuByOldStatus($ebay_status); $orderStatus2 = $status2[0]; $orderType2 = $status2[1]; $tableName = "om_unshipped_order"; $data['orderStatus'] = $orderStatus1; $data['orderType'] = $orderType1; $where = " where id = {$orderId} AND orderStatus = {$orderStatus2} AND orderType = {$orderType2} AND is_delete = 0 "; $updatedata = OrderindexModel::updateOrder($tableName, $data, $where); if ($updatedata) { self::$errCode = 200; self::$errMsg = 'update success'; return true; } else { self::$errCode = 405; self::$errMsg = 'update error'; return false; } }
public static function cancelDeal($orderid, $type) { !self::$dbConn ? self::initDB() : NULL; $where = " where id=" . $orderid; $tableName = "om_unshipped_order"; if ($type == 1) { //取消交易 $returnStatus = array('orderStatus' => C('STATEINTERCEPTSHIP'), 'orderType' => C('STATECANCELTRAN_PENDING')); } elseif ($type == 2) { //废弃订单 $returnStatus = array('orderStatus' => C('STATEINTERCEPTSHIP'), 'orderType' => C('STATERECYCLE')); } elseif ($type == 3) { //暂不寄 $returnStatus = array('orderStatus' => C('STATEPENDING'), 'orderType' => C('STATESENDTEMP')); } elseif ($type == 4) { //异常处理 $returnStatus = array('orderStatus' => C('STATEINTERCEPTSHIP'), 'orderType' => C('STATEINTERCEPTSHIP_PEND')); } if (OrderindexModel::updateOrder($tableName, $returnStatus, $where)) { self::$errCode = '200'; self::$errMsg = '订单更新成功'; return FALSE; } else { self::$errCode = '004'; self::$errMsg = '订单更新失败'; return FALSE; } }