From f77d87e7051abe7130071ce659caa715ce64589a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=9F=E5=B7=9D=E4=B8=9C?= Date: Fri, 23 May 2025 14:14:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=80=90=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E3=80=91=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BC=98=E6=83=A0=E5=88=B8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/model/Order.php | 5 +++ application/services/OrderDispatchService.php | 36 ++++++++++++++----- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/application/common/model/Order.php b/application/common/model/Order.php index 05e1248..24737de 100644 --- a/application/common/model/Order.php +++ b/application/common/model/Order.php @@ -19,6 +19,11 @@ class Order extends Model return $this->belongsTo(\app\admin\model\Area::class,'area_id', 'area_code'); } + public function coupon() + { + return $this->belongsTo(\app\admin\model\Coupons::class,'coupon_id', 'id'); + } + public function getCustomerAttr(string $val) { return maskExceptFirstChar($val); diff --git a/application/services/OrderDispatchService.php b/application/services/OrderDispatchService.php index 0d977b6..23ddf93 100644 --- a/application/services/OrderDispatchService.php +++ b/application/services/OrderDispatchService.php @@ -14,9 +14,16 @@ class OrderDispatchService extends BaseService { return $this->getOrderDispatchModel() ->with(['orderInfo' => function ($query) { - $query->with(['area' => function ($query) { - $query->field('id,area_code,merge_name'); - }])->field('id,order_no,item_id,item_title,receive_type,address,lng,lat,plan_time,online_amount,discount_amount,area_id,status'); + $query->with( + [ + 'area' => function ($query) { + $query->field('id,area_code,merge_name'); + }, + 'coupon' => function ($query) { + $query->field('id,threshold,discount_value'); + } + ] + )->field('id,order_no,item_id,item_title,receive_type,address,lng,lat,plan_time,online_amount,discount_amount,area_id,status,coupon_id'); }]) ->where('status', OrderDispatch::STATUS_TOGET) ->where('worker_id', $workerId) @@ -72,9 +79,14 @@ class OrderDispatchService extends BaseService { $model = $this->getOrderDispatchModel() ->with(['orderInfo' => function ($query) { - $query->with(['area' => function ($query) { - $query->field('id,area_code,merge_name'); - }])->field('id,order_no,item_id,item_title,receive_type,address,lng,lat,plan_time,online_amount,discount_amount,area_id,customer,tel,status'); + $query->with([ + 'area' => function ($query) { + $query->field('id,area_code,merge_name'); + }, + 'coupon' => function ($query) { + $query->field('id,threshold,discount_value'); + } + ])->field('id,order_no,item_id,item_title,receive_type,address,lng,lat,plan_time,online_amount,discount_amount,area_id,customer,tel,status,coupon_id'); }]) ->where('worker_id', $workerId); @@ -213,6 +225,7 @@ class OrderDispatchService extends BaseService 'detail', 'images', 'status', + 'coupon_id', ]; $orderDispatchFields = [ 'id', @@ -235,9 +248,14 @@ class OrderDispatchService extends BaseService ]; $res = $this->getOrderDispatchModel() ->with(['orderInfo' => function ($query) use ($orderFields) { - $query->with(['area' => function ($query) { - $query->field('id,area_code,merge_name'); - }])->field($orderFields); + $query->with([ + 'area' => function ($query) { + $query->field('id,area_code,merge_name'); + }, + 'coupon' => function ($query) { + $query->field('id,threshold,discount_value'); + } + ])->field($orderFields); }]) ->where('id', $orderDispatchId) ->where('worker_id', $workerId)