ExpressDetailForm.php 2.4 KB

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