if ($dbcon->execute($sql)) { //$changes['ebay_status'] = 608; //$order_statistics->updateFieldData($ebay_id, $changes); $log_data .= "[" . date("Y-m-d H:i:s") . "]\t--订单{$ebay_id}审核前状态为{$ordercheck[0]['ebay_status']}--审核后状态为608--\n\n"; now_order_status_log($ebay_id); mark_shipping($ebay_id, 608); } } else { $sql = "update ebay_order set ebay_status=641 where ebay_id={$ebay_id} AND ebay_status IN (640,641,642,652,653)"; $log_data .= $sql . "\n"; if ($dbcon->execute($sql)) { //$changes['ebay_status'] = 641; //$order_statistics->updateFieldData($ebay_id, $changes); $log_data .= "[" . date("Y-m-d H:i:s") . "]\t--订单{$ebay_id}审核前状态为{$ordercheck[0]['ebay_status']}--审核后状态为641--\n\n"; now_order_status_log($ebay_id); mark_shipping($ebay_id, 641); } } } else { if (in_array(2, $status)) { $sql = "update ebay_order set ebay_status=642 where ebay_id={$ebay_id} AND ebay_status IN (640,641,642,652,653)"; $log_data .= $sql . "\n"; $dbcon->execute($sql); //$changes['ebay_status'] = 642; //$order_statistics->updateFieldData($ebay_id, $changes); } else { $log_data .= var_dump($status) . "\n"; } } } } else {
function func_manually_split_orders($ebay_id, $other = array()) { /** * @author Herman.Xi (席慧超) * @version 1.0 * add by Herman.Xi @ 20130224 * 手动拆分订单函数 */ global $dbcon, $user; $split_log = "\r\n\r\n"; $isend = false; if ($isend) { continue; } //如果是里面有拦截的不能自动拦截 $sql = "select a.* from ebay_order as a where ebay_id = '{$ebay_id}' and ebay_combine != '1' and ebay_user = '******' "; $result = $dbcon->execute($sql); $corder = $dbcon->fetch_one($result); if (empty($corder)) { echo "目前系统无法找到订单 {$ebay_id} !"; } $ebay_ordersn = $corder['ebay_ordersn']; $ebay_paystatus = $corder['ebay_paystatus']; $recordnumber = $corder['recordnumber']; $ebay_tid = $corder['ebay_tid']; $ebay_ptid = $corder['ebay_ptid']; $ebay_total0 = $corder['ebay_total']; $ebay_orderid = $corder['ebay_orderid']; $ebay_createdtime = $corder['ebay_createdtime']; $ebay_paidtime = $corder['ebay_paidtime']; //$ebay_user = $corder['ebay_user']; $ebay_userid = mysql_real_escape_string($corder['ebay_userid']); $ebay_username = addslashes($corder['ebay_username']); $ebay_usermail = addslashes($corder['ebay_usermail']); $ebay_street = addslashes($corder['ebay_street']); $ebay_street1 = addslashes($corder['ebay_street1']); $ebay_city = addslashes($corder['ebay_city']); $ebay_state = addslashes($corder['ebay_state']); $ebay_countryname = addslashes($corder['ebay_countryname']); $ebay_postcode = addslashes($corder['ebay_postcode']); $ebay_phone = $corder['ebay_phone']; $ebay_status = 655; $ebay_addtime = time(); $ebay_shipfee = $corder['ebay_shipfee']; $ebay_tracknumber = $corder['ebay_tracknumber']; $ebay_account = $corder['ebay_account']; $ebay_note = mysql_real_escape_string($corder['ebay_note']); $ebay_carrier = $corder['ebay_carrier']; $ebay_warehouse = $corder['ebay_warehouse']; $ebay_currency = $corder['ebay_currency']; $ebay_phone1 = $corder['ebay_phone1']; $is_main_order = $corder['is_main_order']; $combine_package = $corder['combine_package']; $packingtype = $corder['packingtype']; $scantime = $corder['scantime']; $ebay_couny = $corder['ebay_couny']; $ebayorder_site = $corder['ebay_site']; $eBayPaymentStatus = $corder['eBayPaymentStatus']; $orderweight = $corder['orderweight']; if ($ebay_account == 'dresslink.com') { //支持dresslink.com $ebay_noteb = $corder['ebay_noteb'] . ' 拆分 订单'; } else { $ebay_noteb = '拆分 订单'; } if (in_array($ebay_carrier, array('UPS', 'DHL', 'TNT', 'EMS', 'FedEx'))) { echo "订单 {$ebay_id} 运输方式为快递,请确认该订单是否需要拆分!<br>"; continue; } $order_statistics->deleteAll($ebay_ordersn); //删除statistics表中的记录 if (empty($ebay_carrier)) { $fees = calcshippingfee($orderweight, $ebay_countryname, $ebay_id, $ebay_account, $corder['ebay_total']); $ebay_carrier = $fees[0]; } $dbcon->free_result($result); $sql = "SELECT * FROM ebay_orderdetail as eo WHERE eo.ebay_ordersn = '{$ebay_ordersn}'"; $result = $dbcon->execute($sql); $eo = $dbcon->getResultArray($result); $dbcon->free_result($result); $weightlists = array(); $skuinfo = array(); $goods_sn_nums = 0; $shippfee_arr = array(); foreach ($eo as $k => $f) { $sku = $f['sku']; $ebay_amount = $f['ebay_amount']; $goods_sn_nums += $ebay_amount; if (strpos($sku, "#")) { $sku = str_replace("#", "", $sku); } $shippfee_arr[$sku] = round($f['shipingfee'] / $ebay_amount, 3); $sql = "select * from ebay_goods where goods_sn='{$sku}' and ebay_user ='******' "; $result = $dbcon->execute($sql); $eg = $dbcon->fetch_one($result); $dbcon->free_result($result); $ebay_packingmaterial = $eg['ebay_packingmaterial']; $goods_weight = $eg['goods_weight']; $capacity = $eg['capacity']; $sql = "select * from ebay_packingmaterial where model='{$ebay_packingmaterial}' and ebay_user ='******' "; $result = $dbcon->execute($sql); $ep = $dbcon->fetch_one($result); $dbcon->free_result($result); $pweight = isset($ep['weight']) ? $ep['weight'] : 0; $skuinfo[$sku] = $f; for ($i = 1; $i <= $ebay_amount; $i++) { $var = $sku; if ($ebay_amount <= $capacity) { $ppweight = $pweight / $ebay_amount; } else { $ppweight = (1 + ($ebay_amount - $capacity) / $capacity * 0.6) * $pweight / $ebay_amount; } $weightlists[$var][] = $goods_weight + $ppweight; } } //echo $goods_sn_nums; echo "<br>"; if ($goods_sn_nums <= 1) { continue; } $sql = "update ebay_order set ebay_combine = '1' where ebay_id = '{$ebay_id}' "; $split_log .= "更新被拆分的订单信息,设置为隐藏\r\n" . $sql . "\r\n"; $dbcon->execute($sql) or die("Fail : {$sql}"); //echo "<pre>"; print_r($skuinfo); echo "\r\n"; //echo "<pre>"; print_r($weightlists); echo "\r\n"; $keyarray = array(); $keyarrays = array(); $checkweight = 0; $arrinfo = get_order_productsweight($ebay_ordersn); $realweight = $arrinfo[0]; $realcosts = $arrinfo[1]; $itemprices = $arrinfo[2]; /*foreach($weightlists AS $wk => $wv){ foreach($wv as $weightlist){ $checkweight += $weightlist; } } echo $checkweight; echo "<br>"; exit;*/ foreach ($weightlists as $wk => $wv) { foreach ($wv as $weightlist) { $checkweight += $weightlist; //$realweight += $weightlist; if ($checkweight > 1.85) { $keyarrays[] = $keyarray; $keyarray = array(); $checkweight = $weightlist; $keyarray[$wk][] = $wk; } else { $keyarray[$wk][] = $wk; } } } if (!empty($keyarray)) { $keyarrays[] = $keyarray; } /*echo "<pre>"; print_r($keyarrays); echo "\r\n"; exit;*/ foreach ($keyarrays as $keyarray) { $ebay_total = 0; $totalweight = 0; $insert_ebay_ids = array(); foreach ($keyarray as $k => $kav) { $ebay_total += $skuinfo[$k]['ebay_itemprice'] * count($kav); } //echo $ebay_total; echo "\r\n"; $shipfee = 0; $val = generateOrdersn(); $sql = "insert into ebay_order(ebay_ordersn,ebay_paystatus,recordnumber,ebay_tid,ebay_ptid,ebay_orderid,ebay_createdtime,ebay_paidtime,ebay_userid,ebay_username,ebay_usermail,ebay_street,ebay_street1,ebay_city,ebay_state,ebay_couny,ebay_countryname,ebay_postcode,ebay_phone,ebay_total,ebay_status,ebay_user,ebay_addtime,ebay_shipfee,ebay_account,ebay_note,ebay_noteb,ebay_carrier,ebay_warehouse,ebay_tracknumber,ebay_site,eBayPaymentStatus,ebay_currency,ordershipfee,scantime,orderweight,ebay_phone1,packingtype,is_main_order,combine_package) values('{$val}','{$ebay_paystatus}','{$recordnumber}','{$ebay_tid}','{$ebay_ptid}','{$ebay_orderid}','{$ebay_createdtime}','{$ebay_paidtime}','{$ebay_userid}','{$ebay_username}','{$ebay_usermail}','{$ebay_street}','{$ebay_street1}','{$ebay_city}','{$ebay_state}','{$ebay_couny}','{$ebay_countryname}','{$ebay_postcode}','{$ebay_phone}','{$ebay_total}','{$ebay_status}','{$user}','{$mctime}','{$ebay_shipfee}','{$ebay_account}','{$ebay_note}','{$ebay_noteb}','{$ebay_carrier}','{$ebay_warehouse}','{$ebay_tracknumber}','{$ebayorder_site}','{$eBayPaymentStatus}','{$ebay_currency}','{$shipfee}','{$scantime}','{$totalweight}','{$ebay_phone1}','{$packingtype}','{$is_main_order}','{$combine_package}')"; //$split_log .= "添加拆分订单信息到订单列表中\r\n".$sql ."\r\n"; if ($dbcon->execute($sql)) { $insert_ebay_id = $dbcon->insert_id(); $insert_ebay_ids[] = $insert_ebay_id; mark_shipping($insert_ebay_id, $ebay_status); $sql = "insert into ebay_splitorder (recordnumber, main_order_id, split_order_id, create_date) values ('{$recordnumber}', '{$ebay_id}', '{$insert_ebay_id}', '" . date("Y-m-d H:i:s") . "')"; $split_log .= "添加主定单和拆分订单到关系表中\r\n" . $sql . "\r\n"; $dbcon->execute($sql) or die("Fail : {$sql}"); foreach ($keyarray as $k => $kav) { $ebay_itemid = $skuinfo[$k]['ebay_itemid']; $ebay_itemtitle = mysql_real_escape_string($skuinfo[$k]['ebay_itemtitle']); $ebay_shiptype = $skuinfo[$k]['ebay_shiptype']; $shipingfee = $skuinfo[$k]['shipingfee']; $ebay_itemurl = $skuinfo[$k]['ebay_itemurl']; $ebay_site = $skuinfo[$k]['ebay_site']; $storeid = $skuinfo[$k]['storeid']; $ListingType = $skuinfo[$k]['ListingType']; $ebaydetail_tid = $skuinfo[$k]['ebay_tid']; $FeeOrCreditAmount = $skuinfo[$k]['FeeOrCreditAmount']; $FinalValueFee = $skuinfo[$k]['FinalValueFee']; $attribute = $skuinfo[$k]['attribute']; $notes = $skuinfo[$k]['notes']; $sku = $k; $ebay_amount = count($kav); if ($ebay_account == 'dresslink.com') { //支持dresslink.com if (isset($shippfee_arr[$sku])) { $shipingfee = $shippfee_arr[$sku] * $ebay_amount; //相同料号运费拆分 } } $ebay_itemprice = $skuinfo[$k]['ebay_itemprice']; $goods_location = $skuinfo[$k]['goods_location']; $sql = "INSERT INTO `ebay_orderdetail` (`ebay_ordersn` ,`ebay_itemid` ,`ebay_itemtitle` ,`ebay_itemprice` ,"; $sql .= "`ebay_amount` ,`ebay_createdtime` ,`ebay_shiptype` ,`ebay_user`,`sku`,`shipingfee`,`ebay_account`,`addtime`,`ebay_itemurl`,`ebay_site`,`recordnumber`,`storeid`,`ListingType`,`ebay_tid`,`FeeOrCreditAmount`,`FinalValueFee`,`attribute`,`notes`,`goods_location`)VALUES ('{$val}', '{$ebay_itemid}' , '{$ebay_itemtitle}' , '{$ebay_itemprice}' , '{$ebay_amount}'"; $sql .= " , '{$mctime}' , '{$ebay_shiptype}' , '{$user}','{$sku}','{$shipingfee}','{$ebay_account}','{$mctime}','{$ebay_itemurl}','{$ebay_site}','{$recordnumber}','{$storeid}','{$ListingType}','{$ebaydetail_tid}','{$FeeOrCreditAmount}','{$FinalValueFee}','{$attribute}','{$notes}','{$goods_location}')"; //$split_log .= "添加对应的产品orderdetail信息\r\n".$sql ."\r\n"; $dbcon->execute($sql) or die("Fail : {$sql}"); } $totalweight = recalcorderweight($val, $ebay_packingmaterial); if ($ebay_account == 'dresslink.com') { $ordershipfee = calctrueshippingfee($ebay_carrier, $totalweight, $ebay_countryname, $insert_ebay_id); $arrinfo2 = get_order_productsweight($val); $splitweight = $arrinfo2[0]; $splitcosts = $arrinfo2[1]; $splititemprices = $arrinfo2[2]; $ebay_total2 = round($splititemprices / $itemprices * $ebay_total0, 2); //成本价比例拆分 $ebay_shipfee2 = round($splitweight / $realweight * $ebay_shipfee, 3); //运费按重量拆分 //echo $val."--------".$splititemprices."------------".$itemprices."<br>"; $sql = "update ebay_order set ebay_total = '{$ebay_total2}', ebay_shipfee = '{$ebay_shipfee2}', ordershipfee='{$ordershipfee}', orderweight ='{$totalweight}' ,packingtype ='{$ebay_packingmaterial}' where ebay_id ='{$insert_ebay_id}' "; //echo $sql."<br>"; } else { $ordershipfee = calctrueshippingfee2($ebay_carrier, $totalweight, $ebay_countryname, $insert_ebay_id); $sql = "update ebay_order set ordershipfee='{$ordershipfee}', orderweight ='{$totalweight}' ,packingtype ='{$ebay_packingmaterial}' where ebay_id ='{$insert_ebay_id}' "; //$split_log .= "超重订单 $ebay_id 拆分出新订单 $insert_ebay_id \r\n"; } $dbcon->execute($sql) or die("Fail : {$sql}"); $order_statistics->replaceData($val, array('mask' => 1), array('mask' => 1)); //添加statistics记录 $split_log .= "[" . date("Y-m-d H:i:s") . "]\t原订单---{$ebay_id}--被{$truename}--拆分出新订单( " . join(',', $insert_ebay_ids) . " )\r\n"; } else { echo "超重订单 {$recordnumber} 拆分失败!<br>"; break; } } //echo $split_log; write_log('split_order_' . date("Ymd") . '/' . date("H") . '.txt', $split_log); }