Express.php 1.8 KB

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