From 7c278507eb811f3a27d6b9afa2e753c93486c995 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Tue, 12 Apr 2022 18:05:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=A0=8D=E4=BB=B7=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=94=AE=E5=90=8E=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/OrderProduct.php | 1 + app/Services/OrderService.php | 9 +++-- ...bargain_amount_to_order_products_table.php | 34 +++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 database/migrations/2022_04_12_174541_add_bargain_amount_to_order_products_table.php diff --git a/app/Models/OrderProduct.php b/app/Models/OrderProduct.php index 0550c0bc..7c27db2a 100644 --- a/app/Models/OrderProduct.php +++ b/app/Models/OrderProduct.php @@ -41,6 +41,7 @@ class OrderProduct extends Model 'remain_quantity', 'is_gift', 'activity_id', + 'bargain_amount', ]; public function packageProducts() diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index 1ea130cb..45067009 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -128,7 +128,7 @@ class OrderService $coupon = $user->coupons()->onlyAvailable()->lockForUpdate()->findOrFail($couponId); } - $mapProducts = $this->mapProducts($user, $products, $coupon); + $mapProducts = $this->mapProducts($user, $products, $coupon, $bargainOrder); // 计算运费 $shippingFee = $this->calculateShippingFee($mapProducts, $shippingAddress); @@ -675,13 +675,14 @@ class OrderService * @param \App\Models\User $user * @param array $products * @param \App\Models\UserCoupon|null $coupon + * @param \App\Models\BargainOrder|null $bargainOrder * @return array * * @throws \App\Exceptions\BizException */ - protected function mapProducts(User $user, array $products, ?UserCoupon $coupon): array + protected function mapProducts(User $user, array $products, ?UserCoupon $coupon, ?BargainOrder $bargainOrder): array { - $_products = collect($products)->map(function ($item) use ($user) { + $_products = collect($products)->map(function ($item) use ($user, $bargainOrder) { $sku = $item['sku']; return array_merge($item, [ @@ -695,6 +696,8 @@ class OrderService 'total_amount' => $sku->sell_price * $item['quantity'], // 总销售值 'total_sales_value' => bcmul($sku->sales_value, $item['quantity'], 2), + //填入砍价金额 + 'bargain_amount'=> $bargainOrder?->bargain_price ?? 0, ]); }); diff --git a/database/migrations/2022_04_12_174541_add_bargain_amount_to_order_products_table.php b/database/migrations/2022_04_12_174541_add_bargain_amount_to_order_products_table.php new file mode 100644 index 00000000..2616e724 --- /dev/null +++ b/database/migrations/2022_04_12_174541_add_bargain_amount_to_order_products_table.php @@ -0,0 +1,34 @@ +unsignedBigInteger('bargain_amount')->nullable()->default(0)->comment('砍价金额'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('order_products', function (Blueprint $table) { + // + $table->dropColumn(['bargain_amount']); + }); + } +}