CostExpressDetailForm.php 2.2 KB

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