getOne($sql) ){ //存在
return $id;
}else { //不存在
return '';
}
}
/**
*根据条件下载拍拍的相关订单
*/
function readDealSellerSearchDealList($param)
{
$PaiPaiRuntime=RuntimeConfig::getRuntime(UIN);
$result=new DealSearchResultList();
$PaiPaiRuntime->readDealSellerSearchDealList($result,$param);
return $result;
}
/**
*卖家订单发货标记
*/
function writeDealSellerConsignmentDealItem($dealCode,$logisticsName,$logisticsCode,$arriveTime,$logisticsDesc='')
{
$PaiPaiRuntime=RuntimeConfig::getRuntime(UIN);
$PaiPaiRuntime->writeDealSellerConsignmentDealItem($dealCode,$logisticsName,$logisticsCode,$arriveTime,$logisticsDesc);
}
/**
*查询单个商品信息
*/
function readItem($itemCode)
{
$PaiPaiRuntime=RuntimeConfig::getRuntime(UIN);
$result=new Item();
$PaiPaiRuntime->readItem($result,$itemCode,NULL,1,1);
}
/**
*根据条件下载拍拍订单详情
*/
function readPaiPaiDealDetail($param,$listItem)
{
$PaiPaiRuntime=RuntimeConfig::getRuntime(UIN);
$result=new DealDetail();
$PaiPaiRuntime->readDealDetail($result,$param,$listItem);
return $result;
}
/**
*PaiPai交易转OS系统订单
*/
function PaiPaiTradeToOrder()
{
global $_CFG, $db,$os ;
$param=new DealSearchParam();
$param->dealState='DS_WAIT_SELLER_DELIVERY';
$param->pageSize=20;
$PaiPaiOrderResult=readDealSellerSearchDealList($param);
if( $PaiPaiOrderResult->countTotal > 20 )//多于一页的下载
{
for ($i=0;$i<=$PaiPaiOrderResult->countTotal/20;$i++ )
{
$page=$i+1;
$param->pageIndex=$page;
$PaiPaiOrderResult2=readDealSellerSearchDealList($param);
if(count($PaiPaiOrderResult->dealList)>0)
foreach ( $PaiPaiOrderResult2->dealList as $row )
{
$order_sn=Check_is_exist2('open_paipai_trade','dealCode',$row->dealCode,'','outer_order_sn');
$status=Check_is_exist2('open_order_info','order_sn',$order_sn,'','pay_status');
if(Check_is_exist2('open_order_info','order_sn',$order_sn,'','order_id')&&$status==2) continue;
$orderid=TradeToOrderBusiness($row->dealCode);
if($orderid)
{
echo '交易号为['.$row->dealCode.']的拍拍订单转入OS系统订单成功,订单号为['.$orderid.']
';
}
}
//sleep(3);
}
}
else if($PaiPaiOrderResult->countTotal>0 && $PaiPaiOrderResult->countTotal<=20)//不满一页的下载
{
if(count($PaiPaiOrderResult->dealList)>0)
foreach ($PaiPaiOrderResult->dealList as $row)
{
$order_sn=Check_is_exist2('open_paipai_trade','dealCode',$row->dealCode,'','outer_order_sn');
$status=Check_is_exist2('open_order_info','order_sn',$order_sn,'','pay_status');
if(Check_is_exist2('open_order_info','order_sn',$order_sn,'','order_id')&&$status==2) continue;
$orderid=TradeToOrderBusiness($row->dealCode);
echo '交易号为['.$row->dealCode.']的拍拍订单转入OS系统订单成功,订单号为['.$orderid.']
';
}
}
}
/**
* 根据dealCode下载某条订单详情到paipai_trade与paipai_items表
* */
function DownTradeByTid2($dealCode){
$details = readPaiPaiDealDetail($dealCode,1);
$trade=get_object_vars($details);
if(is_array($trade) && is_array($trade['itemList'])){
$orders = $trade['itemList'];
}
foreach ($orders as $order){
$arrOrder=get_object_vars($order);
if(IsColorSize($arrOrder['stockAttr'])==0)
{
echo '拍拍交易号为:'.$dealCode.',商家编码为:'.$arrOrder['stockLocalCode'].'的商品缺少颜色和尺码,不能转接
';
return;
}
}
if(is_array($trade))OS_InsertIntoTB('paipai_trade','dealCode',$trade);
foreach ($orders as $order){
$arrOrder=get_object_vars($order);
OS_InsertIntoTB('paipai_items','stockLocalCode',$arrOrder);
}
}
function InsertOrderInfo($dealCode)
{
global $exc, $db,$os ;
$details = readPaiPaiDealDetail($dealCode,1);
$trade=get_object_vars($details);
if( !is_array($trade) ) return ;
foreach ($trade['itemList'] as $detail){
$stockAttr=$detail->stockAttr;
if(IsColorSize($stockAttr)==0)
{
return;
}
}
$users=array('nick_name'=>$details->buyerUin,'user_name'=>$details->buyerName,'email'=>$details->buyerUin.'@qq.com');
OS_InsertIntoTB('users','nick_name',$users);
$user_id=Check_is_exist2('open_users','nick_name',$details->buyerUin,'','user_id');
$order_sn= GetOnly_Order_sn();
$tempArress=explode(" ", $trade['receiverAddress']);
if($tempArress)
{
$sql11="select * from open_region where region_name like'%".sub_str($tempArress[0],2,false)."%' limit 1";
$row11 = $db->getRow($sql11);
if($row11) $privince=$row11['region_id'];
$sql22="select * from open_region where region_name like'%".sub_str($tempArress[1],2,false)."%' limit 1";
$row22 = $db->getRow($sql22);
if($row22) $city=$row22['region_id'];
}
foreach ($trade['itemList'] as $detail){
$totalMoney=$totalMoney+($detail->itemDealPrice)*($detail->itemDealCount);
$totalCount=$totalCount+$detail->itemDealCount;
}
$order = array(
'order_sn'=>$order_sn,
'user_id'=>$user_id,
'pay_status'=>'2',
'consignee'=>$trade['receiverName'],
'country'=>'1',
'province'=>$privince,
'city'=>$city,
'address'=>$trade['receiverAddress'],
'zipcode'=>$trade['receiverPostcode'],
'tel'=>$trade['receiverPhone'],
'mobile'=>$trade['receiverMobile'],
'postscript'=>$trade['buyerRemark'],
'shipping_name'=>'EMS 国内邮政特快专递',
'shipping_id'=>20,
'pay_id'=>'0',
'pay_name'=>$trade['dealPayTypeDesc'],
'inv_payee'=>$trade['invoiceTitle'],
'inv_content'=>$trade['invoiceContent'],
'shipping_fee'=>$trade['freight'],
'money_paid'=>$trade['totalCash']/100,
'discount'=>$trade['couponFee'],
'referer'=>'拍拍',
'add_time'=>strtotime($trade['lastUpdateTim']),
'pay_time'=>strtotime($trade['payReturnTime']),
'to_buyer'=>$trade['dealNote'],
'goods_count'=>$totalCount,
'goods_amount'=>$totalMoney/100
);
OS_InsertIntoTB('order_info','order_sn',$order);
$sql1="select * from open_goods where goods_sn='".$detail->stockLocalCode."'";
$row = $db->getRow($sql1);
if($row)
{
$goosId=$row['goods_id'];
}
foreach ($trade['itemList'] as $detail){
//$finn=readItem($detail->itemCode);
//$classid=$finn->classid;
$stockAttr=$detail->stockAttr;
if (IsColorSize($arrOrder['stockAttr'])==1)
{
$color=parseColorSize($stockAttr);
$size=parseColorSize($stockAttr,1);
$sql2="select * from open_color where color_name like'%".$color."%'";
$sql3="select * from open_size where size_name='无'";
$row2=$db->getRow($sql2);
$row3=$db->getRow($sql3);
$osColor=$row2['color_id'];//得到openshop的颜色对应
$osSize=$row3['size_id'];//得到openshop的尺码对应
}
else
{
$color=parseColorSize($stockAttr);
$size=parseColorSize($stockAttr,1);
$sql2="select * from open_color where color_name like'%".$color."%'";
$sql3="select * from open_size where size_name like'%".$size."%'";
$row2=$db->getRow($sql2);
$row3=$db->getRow($sql3);
$osColor=$row2['color_id'];//得到openshop的颜色对应
$osSize=$row3['size_id'];//得到openshop的尺码对应
}
$sql4="select * from open_goods where goods_id='".$goosId."'";
$row4=$db->getRow($sql4);
$osGoodName=$row4['goods_name'];
$goods=array(
'goods_id'=>$goosId,
'goods_name'=>$osGoodName,
'order_id'=>Check_is_exist2('open_order_info','order_sn',$order_sn,'','order_id'),
'goods_sn'=>$detail->stockLocalCode,
'goods_number'=>$detail->itemDealCount,
'market_price'=>$detail->itemRetailPrice/100,
'goods_price'=>$detail->itemDealPrice/100,
'goods_attr'=>$detail->itemDetailLink,
'color_id'=>$osColor,
'size_id'=>$osSize
);
OS_InsertIntoTB('order_goods','rec_id',$goods);
}
Update_table_key('paipai_trade','outer_order_sn',$order_sn,"dealCode='".$dealCode."'"); //更新关联表的tb_trade表中outer_order_sn
return Check_is_exist2('open_order_info','order_sn',$order_sn,'','order_id');
}
/**
* 拍拍订单表,订单商品详细表转OS系统的订单表,订单商品详细表业务逻辑
* */
function TradeToOrderBusiness($dealCode)
{
global $_CFG, $db,$os ;
DownTradeByTid2($dealCode);
$order_id=InsertOrderInfo($dealCode);
return $order_id;
}
/**
* 颜色,尺码解析函数(类似于:"颜色:白色|尺码:XXL"的字符串形式)
* */
function parseColorSize($ColorSize,$flag=0)
{
if($ColorSize)
{
$result = explode("|", $ColorSize);
if($flag==0)
{
$color=explode(":", $result[0]);
return $color[1];
}
else
{
$size=explode(":", $result[1]);
return $size[1];
}
}
}
/* 函数 sub_str($text, $length)
** 功能 从文本中截取指定长度字符串,考虑了对中文的处理
** 参数 $text 要截取的文本
** 参数 $length 要截取的字符串长度
*/
function sub_strfinn($text, $length)
{
for ($i=0; $i<$length; $i++)
{
$chr = substr($text, $i, 1);
if (ord($chr) > 0x80)//字符是中文
{
$length++;
$i++;
}
}
$str = substr($text, 0, $length);
return $str;
}
/**
*颜色,尺码判断
* */
function IsColorSize($ColorSize)
{
$color=parseColorSize($ColorSize);
$size=parseColorSize($ColorSize,1);
if(!$color && !$size)
{
return 0;
}
else if($color && !$size)
{
return 1;
}
else
{
return 2;
}
}
?>