Files
amb_wechatapp/application/common/model/app/physical/OrderExpress.php
T

74 lines
1.7 KiB
PHP

<?php
namespace app\common\model\app\physical;
use think\Model;
/**
* 实物商品快递包裹模型
*/
class OrderExpress extends Model
{
protected $name = 'app_physical_order_express';
protected $autoWriteTimestamp = 'integer';
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
protected $deleteTime = false;
protected $append = ['status_text'];
/**
* 根据订单ID获取快递信息
* @param int $orderId 订单ID
* @return array|null
*/
public static function getByOrderId($orderId)
{
$express = self::where([
'order_id' => $orderId,
'uniacid' => UNIACID
])->find();
return $express ? $express->toArray() : null;
}
/**
* 获取物流轨迹
* @param int $expressId 快递包裹ID
* @return array
*/
public function getLogs()
{
$logs = OrderExpressLog::where([
'order_express_id' => $this->id,
'uniacid' => UNIACID
])->order('change_date', 'desc')
->select();
if (is_array($logs)) {
return $logs;
}
return $logs->toArray();
}
public function getStatusTextAttr($value, $data)
{
$statusList = [
'noinfo' => '暂无信息',
'collect' => '已揽件',
'transport' => '运输中',
'delivery' => '派送中',
'signfor' => '已签收',
'refuse' => '用户拒收',
'difficulty' => '问题件',
'invalid' => '无效件',
'timeout' => '超时单',
'fail' => '签收失败',
'back' => '退回'
];
return $statusList[$data['status']] ?? '';
}
}