初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

86
app/model/express/Trace.php Executable file
View File

@@ -0,0 +1,86 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace app\model\express;
use app\model\BaseModel;
/**
* 物流配送
*/
class Trace extends BaseModel
{
/**
* 物流跟踪信息
* @param $code
* @param $company_id
* @param $site_id
* @param $mobile
* @return array|mixed|void
*/
public function trace($code, $company_id, $site_id, $mobile)
{
// $result = array(
// 'success' => true,//成功与否
// 'reason' => '',//错误原因
// 'status' => '1',//物流状态:0-无轨迹,1-已揽收, 2-在途中 201-到达派件城市3-签收,4-问题件
// 'status_name' => '已揽收',//物流状态名称:0-无轨迹,1-已揽收, 2-在途中 201-到达派件城市3-签收,4-问题件,
// 'shipper_code' => 'SH',//快递公司编码
// 'logistic_code' => $code,//物流运单号
// 'list' => array(
// [
// 'datetime' => '2015-03-08 01:15:00',
// 'remark' => '离开广州市 发往北京市(经转)',
// ]
// )
// );
$express_company_model = new ExpressCompanyTemplate();
$company_info_result = $express_company_model->getExpressCompanyTemplateInfo([ [ 'company_id', '=', $company_id ] ]);
if (empty($company_info_result[ 'data' ]))
return $this->success([ 'success' => false, 'reason' => '物流公司信息不完整!' ]);
$company_info_result[ 'data' ][ 'site_id' ] = $site_id;
$result = $this->getTrace([ 'code' => $code, 'express_no_data' => $company_info_result[ 'data' ], 'mobile' => $mobile ]);
if (empty($result)) {
$data = [ 'success' => false, 'reason' => '抱歉,没有启用的物流方式' ];
return $this->success($data);
}
if ($result[ 'code' ] < 0 || empty($result[ 'data' ])) {
$data = [ 'success' => false, 'reason' => $result['message'] ?? '抱歉,暂无物流记录' ];
return $this->success($data);
}
return $result;
}
public function getTrace($data)
{
$express_no_data = $data[ "express_no_data" ];
$kd100_model = new Kd100();
$kd100_config = $kd100_model->getKd100Config($express_no_data[ "site_id" ]);
if ($kd100_config[ "data" ][ "is_use" ]) {
$express_no = $express_no_data[ "express_no_kd100" ];
return $kd100_model->trace($data[ "code" ], $express_no, $data[ 'mobile' ], $express_no_data[ "site_id" ]);
}
$kdbird_model = new Kdbird();
$kdbird_config = $kdbird_model->getKdbirdConfig($express_no_data[ "site_id" ]);
if ($kdbird_config[ "data" ][ "is_use" ]) {
$express_no = $express_no_data[ "express_no" ];
return $kdbird_model->trace($data[ "code" ], $express_no, $express_no_data[ "site_id" ], $data[ 'mobile' ]);
}
}
}