caipan_shop_admin/app/traits/order/ExpressTrait.php

96 lines
2.1 KiB
PHP
Executable File

<?php
namespace app\traits\order;
use app\model\Express;
use think\Collection;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\Model;
use think\Paginator;
/**
* 物流相关
*
* Trait ShoppingCartTrait
* @package app\traits\order
*/
trait ExpressTrait
{
/**
* 添加快递公司
*
* @param array $data
* @return Model
*/
public function addExpress(array $data): Model
{
return Express::create($data);
}
/**
* 删除快递
*
* @param array $where
* @return bool
*/
public function delExpress(array $where): bool
{
return Express::where($where)->delete();
}
/**
* 快递公司列表 [带分页]
*
* @param array $where
* @param array $pageParams
* @param callable|null $callable $callable
* @return Paginator
* @throws DbException
*/
public function express(array $where = [], array $pageParams = [], callable $callable = null): Paginator
{
return Express::findListWithPaginate($where, $pageParams, $callable);
}
/**
* 物流信息
*
* @param int $id
* @return array|Model|null
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function expressInfo(int $id)
{
return Express::findById($id);
}
/**
* 获取所有快递公司
*
* @param array $where
* @return Collection
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function allExpress(array $where = []): Collection
{
return Express::where($where)->order('is_default', 'desc')->select();
}
/**
* 获取默认快递
*
* @return Express|array|Model|null
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function getDefaultExpress()
{
return Express::where('is_default', Express::COMMON_ON)->find();
}
}