Express.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\common\model;
  3. use think\Request;
  4. use app\common\library\express\Kuaidi100;
  5. /**
  6. * 物流公司模型
  7. * Class Express
  8. * @package app\common\model
  9. */
  10. class Express extends BaseModel
  11. {
  12. protected $name = 'express';
  13. /**
  14. * 获取全部
  15. * @return mixed
  16. */
  17. public static function getAll()
  18. {
  19. $model = new static;
  20. return $model->order(['sort' => 'asc', $model->getPk() => 'desc'])->select();
  21. }
  22. /**
  23. * 获取列表
  24. * @return \think\Paginator
  25. * @throws \think\exception\DbException
  26. */
  27. public function getList()
  28. {
  29. return $this->order(['sort' => 'asc', $this->getPk() => 'desc'])
  30. ->paginate(15, false, [
  31. 'query' => Request::instance()->request()
  32. ]);
  33. }
  34. /**
  35. * 物流公司详情
  36. * @param $express_id
  37. * @return null|static
  38. * @throws \think\exception\DbException
  39. */
  40. public static function detail($express_id)
  41. {
  42. return self::get($express_id);
  43. }
  44. /**
  45. * 获取物流动态信息
  46. * @param $express_name
  47. * @param $express_code
  48. * @param $express_no
  49. * @return array|bool
  50. */
  51. public function dynamic($express_name, $express_code, $express_no)
  52. {
  53. $data = [
  54. 'express_name' => $express_name,
  55. 'express_no' => $express_no
  56. ];
  57. // 实例化快递100类
  58. $config = Setting::getItem('store');
  59. $Kuaidi100 = new Kuaidi100($config['kuaidi100']);
  60. // 请求查询接口
  61. $data['list'] = $Kuaidi100->query($express_code, $express_no);
  62. if ($data['list'] === false) {
  63. $this->error = $Kuaidi100->getError();
  64. return false;
  65. }
  66. return $data;
  67. }
  68. }