mirror of
https://gitee.com/ShopeX/OMS
synced 2026-03-22 18:35:35 +08:00
110 lines
4.6 KiB
PHP
110 lines
4.6 KiB
PHP
<?php
|
|
/**
|
|
* Copyright 2012-2026 ShopeX (https://www.shopex.cn)
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
class ome_unionpay{
|
|
const _TO_NODE_ID = '1705101437';
|
|
function detail_delivery($logi_no = false,$order_bn = false){
|
|
#获取物流数据
|
|
$data = $this->getDeliveryInfo($logi_no);
|
|
$delivery_html = null;
|
|
$rpc_data['order_bn'] = $order_bn;
|
|
$rpc_data['logi_code'] = $data['type'];#物流编码
|
|
$rpc_data['company_name'] = $data['name'];
|
|
$rpc_data['logi_no'] = $data['logi_no'];
|
|
|
|
$rpc_result = $this->get_dly_info($rpc_data);
|
|
|
|
if($rpc_result['rsp'] == 'succ'){
|
|
$count = count( $rpc_result['data']);
|
|
$max = $count - 1;#最新那条物流记录
|
|
$html = "<ul style='margin-top:10px;'>";
|
|
foreach($rpc_result['data'] as $key=>$val){
|
|
#这时间是最新的
|
|
if($max == $key ){
|
|
$html .= "<li style='line-height:15px;border-bottom:1px dotted #ddd;'><font style='font-size:13px;COLOR: red'>".$val['CreateTime']."".$val['WlNote']."</font><li/>";
|
|
}else{
|
|
$html .= "<li style='line-height:15px;border-bottom:1px dotted #ddd;'>"."<em style='font-size:13px;COLOR: black'>".$val['CreateTime']."</em> ".$val['WlNote']." <li/>";
|
|
}
|
|
}
|
|
$html .='</ul>';
|
|
}else{
|
|
$html = "<ul>";
|
|
if($rpc_result['err_msg'] == "'HTTP Error 500: Internal Server Error'"){
|
|
$html .= "<li style='line-height:15px;margin-top:10px;border-bottom:1px dotted #ddd;'><font color='red'>此订单可能缺少物流公司或运单号</font><li/>";
|
|
}else{
|
|
$html .= "<li style='line-height:15px;margin-top:10px;border-bottom:1px dotted #ddd;'><font color='red'>".$rpc_result['err_msg']."</font><li/>";
|
|
}
|
|
}
|
|
$html .='</ul>';
|
|
$html .= "<div style='font-weight:700;font-color:#000000;margin-bottom:10px;'>(<font>以上信息由物流公司提供,如无跟踪信息或有疑问,请咨询对应物流公司</font>)<div>";
|
|
return $html;
|
|
}
|
|
function getDeliveryInfo($logi_no = false){
|
|
$logi_no = "'".$logi_no."'";
|
|
#主单
|
|
$delivery_sql = "select
|
|
d.logi_no,d.logi_name name,c.type from sdb_ome_delivery d
|
|
left join sdb_ome_dly_corp c on d.logi_id= c.corp_id
|
|
where d.logi_no=".$logi_no;
|
|
#子单
|
|
$bill_sql = "select
|
|
d.logi_name name ,b.logi_no,c.type
|
|
from sdb_ome_delivery d
|
|
left join sdb_ome_delivery_bill b on d.delivery_id=b.delivery_id
|
|
left join sdb_ome_dly_corp c on d.logi_id= c.corp_id
|
|
where b.logi_no=".$logi_no;
|
|
#先找主单
|
|
$rs = kernel::database()->selectrow($delivery_sql);
|
|
#主单没有,再查子单
|
|
if(empty($rs)){
|
|
$rs = kernel::database()->selectrow($bill_sql);
|
|
}
|
|
return $rs;
|
|
}
|
|
|
|
function get_dly_info($rpc_data = false){
|
|
#检测是否已经绑定华强宝物流
|
|
base_kvstore::instance('ome/bind/')->fetch('ome_bind_unionpay', $is_ome_bind_unionpay);
|
|
if(!$is_ome_bind_unionpay){
|
|
$rs = kernel::single('erpapi_router_request')->set('unionpay',self::_TO_NODE_ID)->unionpay_bind();
|
|
|
|
if(!$rs){
|
|
$return_data['rsp'] = 'fail';
|
|
$return_data['err_msg'] = '没有绑定!';
|
|
return $return_data;
|
|
}
|
|
}
|
|
$params = array(
|
|
'tid' => $rpc_data['order_bn'],
|
|
'company_code' => $rpc_data['logi_code'],
|
|
'company_name' => $rpc_data['company_name'],
|
|
'logistic_code' => $rpc_data['logi_no'],
|
|
);
|
|
|
|
$data = kernel::single('erpapi_router_request')->set('unionpay',self::_TO_NODE_ID)->unionpay_query($params);
|
|
|
|
if($data['rsp'] == 'succ'){
|
|
#倒叙排序
|
|
krsort($data['data']);
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
|
|
}
|
|
|