From c50cb56efe66bea533006ad56506af326788b6c9 Mon Sep 17 00:00:00 2001 From: weigang Date: Fri, 4 Sep 2020 17:03:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E6=88=B7=E8=AE=A2=E5=8D=95=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Model/v3/Order.php | 5 +++++ app/Model/v3/OrderGoods.php | 15 +++++++++++++++ app/Model/v3/OrderMain.php | 2 +- .../v3/Implementations/OrderOnlineService.php | 18 ++++++++++++------ 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/Model/v3/Order.php b/app/Model/v3/Order.php index 53a6099..709e33c 100644 --- a/app/Model/v3/Order.php +++ b/app/Model/v3/Order.php @@ -27,4 +27,9 @@ class Order extends Model { return $this->belongsTo(User::class, 'user_id', 'id'); } + + public function store() + { + return $this->belongsTo(Store::class, 'store_id', 'id'); + } } \ No newline at end of file diff --git a/app/Model/v3/OrderGoods.php b/app/Model/v3/OrderGoods.php index 57a3b35..c3f580d 100644 --- a/app/Model/v3/OrderGoods.php +++ b/app/Model/v3/OrderGoods.php @@ -10,5 +10,20 @@ class OrderGoods extends Model protected $casts = [ 'spec' => 'array', + 'tags' => 'array', ]; + + protected $appends = [ + 'tags' + ]; + + public function goods() + { + return $this->belongsTo(Goods::class, 'goods_id', 'id'); + } + + public function getTagsAttribute() + { + return Goods::query()->where(['id' => $this->attributes['goods_id']])->value('tags'); + } } \ No newline at end of file diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php index 91cebd2..5f0a7aa 100644 --- a/app/Model/v3/OrderMain.php +++ b/app/Model/v3/OrderMain.php @@ -26,7 +26,7 @@ class OrderMain extends Model public function getPayTimeTextAttribute() { - return date('Y-m-d H:i:s', $this->attributes['time_pay']); + return date('Y-m-d H:i:s', $this->attributes['pay_time']); } public function getStateTextAttribute() diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php index a0a57c2..3fa41d3 100644 --- a/app/Service/v3/Implementations/OrderOnlineService.php +++ b/app/Service/v3/Implementations/OrderOnlineService.php @@ -2,6 +2,7 @@ namespace App\Service\v3\Implementations; +use App\Model\v3\Order; use App\Model\v3\OrderMain; use Hyperf\Di\Annotation\Inject; use App\Service\v3\Interfaces\OrderOnlineServiceInterface; @@ -23,11 +24,16 @@ class OrderOnlineService implements OrderOnlineServiceInterface public function detailByUser($orderMainId, $userId) { - return OrderMain::query() - ->where(['id' => $orderMainId]) - ->with(['orders' => function($query) { - return $query->with(['orderGoods']); - }]) - ->first()->toArray(); + + $orderMain = OrderMain::with(['market'])->find($orderMainId); + $orders = Order::query() + ->where(['order_main_id' => $orderMainId, 'user_id' => $userId]) + ->with([ + 'orderGoods', + 'store' + ]) + ->get()->toArray(); + + return ['order_main' => $orderMain, 'orders' => $orders]; } } \ No newline at end of file