From 5127c1dcacb2d318ac5860a9a2dcae7a82a67993 Mon Sep 17 00:00:00 2001 From: wanghousheng Date: Sat, 3 Feb 2024 16:25:11 +0800 Subject: [PATCH] 1 --- app/api/controller/Recovery.php | 13 +++++++++++++ app/api/model/RecoveryOrder.php | 2 +- app/common/model/RecoveryOrder.php | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/api/controller/Recovery.php b/app/api/controller/Recovery.php index 5456513d..2a64ea5e 100644 --- a/app/api/controller/Recovery.php +++ b/app/api/controller/Recovery.php @@ -89,10 +89,23 @@ class Recovery extends Controller $data['list'] = $list->items(); $data['total'] = $list->total(); if ($data['total']) { + $recovery_id = array_column($data['list'], 'recovery_id'); + $model = new ServerRecovery(); + $recovery_list = $model->whereIn('recovery_id', $recovery_id) + ->with(['image']) + ->select() + ->toArray(); + $image_list = []; + if ($recovery_list) { + $image_list = array_column($recovery_list, 'recovery_image', 'recovery_id'); + } foreach ($data['list'] as $key => $value) { $data['list'][$key]['is_cancel'] = 0; + $data['list'][$key]['is_success'] = 0; + $data['list'][$key]['recovery_image'] = !empty($image_list[$value['recovery_id']]) ?: ''; if ($value['order_status'] == RecoveryStatusEnum::ACCEPTED) { $data['list'][$key]['is_cancel'] = 1; + $data['list'][$key]['is_success'] = 1; } } } diff --git a/app/api/model/RecoveryOrder.php b/app/api/model/RecoveryOrder.php index 07e33610..94a3749a 100644 --- a/app/api/model/RecoveryOrder.php +++ b/app/api/model/RecoveryOrder.php @@ -38,7 +38,7 @@ class RecoveryOrder extends BaseRecoveryOrder $where = array_merge($where, ['user_id' => $userId]); } //分销商工程师 - return $this->where($where) + return $this ->where($where) ->order(['create_time' => 'desc']) ->paginate($listRows); diff --git a/app/common/model/RecoveryOrder.php b/app/common/model/RecoveryOrder.php index 7082596f..5a360326 100644 --- a/app/common/model/RecoveryOrder.php +++ b/app/common/model/RecoveryOrder.php @@ -3,6 +3,7 @@ declare (strict_types=1); namespace app\common\model; +use app\api\model\Server\ServerRecovery; use app\common\enum\RecoveryStatusEnum; use app\common\enum\RecoveryTypeEnum; use cores\BaseModel; @@ -33,6 +34,11 @@ class RecoveryOrder extends BaseModel return $this->hasMany(RecoveryImage::class, 'order_id', 'order_id')->order(['id']); } + public function recovery() + { + $this->hasOne(ServerRecovery::class, 'recovery_id', 'recovery_id'); + } + public function getOrderStatusTextAttr($value, $data) { $result = RecoveryStatusEnum::data();