ExpressDetailForm.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\models;
  8. use app\models\common\ExpressDetail;
  9. use app\models\Goods;
  10. use app\models\Order;
  11. use app\models\OrderDetail;
  12. use yii\base\Model;
  13. class ExpressDetailForm extends Model
  14. {
  15. public $store_id;
  16. public $user_id;
  17. public $order_id;
  18. public function rules()
  19. {
  20. return [
  21. [['order_id'], 'required']
  22. ];
  23. }
  24. public function search()
  25. {
  26. if (!$this->validate()) {
  27. return [
  28. 'code' => 1,
  29. 'msg' => $this->getErrorSummary(false)[0]
  30. ];
  31. }
  32. $order = Order::findOne([
  33. 'store_id' => $this->store_id,
  34. 'id' => $this->order_id,
  35. ]);
  36. if (!$order) {
  37. return [
  38. 'code' => 1,
  39. 'msg' => '订单不存在',
  40. ];
  41. }
  42. // 查询物流信息
  43. $model = new ExpressDetail();
  44. $model->express = $order->express;
  45. $model->express_no = $order->express_no;
  46. $model->receive_mobile = $order->mobile;
  47. // TODO: 测试
  48. // $model->express = '圆通';
  49. // $model->express_no = 'YT5364186723454';
  50. $model->store_id = $this->store_id;
  51. $res = $model->search();
  52. if ($res['code'] != 0) {
  53. $res['code'] = 0;
  54. if (!$res['data']) {
  55. $res['data'] = [];
  56. }
  57. $res['data']['status'] = 0;
  58. $res['data']['status_text'] = '未知';
  59. }
  60. $res['data']['express'] = $order->express;
  61. $res['data']['express_no'] = $order->express_no;
  62. $od = OrderDetail::findOne([
  63. 'order_id' => $order->id,
  64. 'is_delete' => 0,
  65. ]);
  66. if ($od) {
  67. $res['data']['goods_pic'] = Goods::getGoodsPicStatic($od->goods_id)->pic_url;
  68. } else {
  69. $res['data']['goods_pic'] = '';
  70. }
  71. return $res;
  72. }
  73. }