Explorar el Código

修改发票的运费险字段

llp hace 1 semana
padre
commit
7772c3a3ff

+ 37 - 0
packages/Longyi/Gift/src/Database/Migrations/2026_08_11_000003_add_invoiced_fields_to_orders_table.php

@@ -0,0 +1,37 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('orders', function (Blueprint $table) {
+            $table->decimal('giftcard_invoiced', 10, 2)->default(0)->nullable()->after('base_giftcard_amount');
+            $table->decimal('base_giftcard_invoiced', 10, 2)->default(0)->nullable()->after('giftcard_invoiced');
+            $table->decimal('vip_plus_invoiced', 10, 2)->default(0)->nullable()->after('base_giftcard_invoiced');
+            $table->decimal('base_vip_plus_invoiced', 10, 2)->default(0)->nullable()->after('vip_plus_invoiced');
+            $table->decimal('vip_discount_invoiced', 10, 2)->default(0)->nullable()->after('base_vip_plus_invoiced');
+            $table->decimal('base_vip_discount_invoiced', 10, 2)->default(0)->nullable()->after('vip_discount_invoiced');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('orders', function (Blueprint $table) {
+            $table->dropColumn([
+                'giftcard_invoiced', 'base_giftcard_invoiced',
+                'vip_plus_invoiced', 'base_vip_plus_invoiced',
+                'vip_discount_invoiced', 'base_vip_discount_invoiced',
+            ]);
+        });
+    }
+};

+ 6 - 2
packages/Longyi/Gift/src/Repositories/CustomInvoiceRepository.php

@@ -18,6 +18,7 @@ class CustomInvoiceRepository extends BaseInvoiceRepository
         $invoice->base_giftcard_amount = $invoice->base_giftcard_amount = 0;
         $invoice->vip_plus_amount = $invoice->base_vip_plus_amount = 0;
         $invoice->vip_discount_amount = $invoice->base_vip_discount_amount = 0;
+        $invoice->shipping_insurance_amount = $invoice->base_shipping_insurance_amount = 0;
 
         foreach ($invoice->items as $item) {
             $invoice->tax_amount += $item->tax_amount;
@@ -51,6 +52,9 @@ class CustomInvoiceRepository extends BaseInvoiceRepository
         $invoice->vip_discount_amount += $invoice->order->vip_discount_amount;
         $invoice->base_vip_discount_amount += $invoice->order->base_vip_discount_amount;
 
+        $invoice->shipping_insurance_amount += $invoice->order->shipping_insurance_amount;
+        $invoice->base_shipping_insurance_amount += $invoice->order->base_shipping_insurance_amount;
+
         if ($invoice->order->shipping_tax_amount) {
             $invoice->shipping_tax_amount = $invoice->order->shipping_tax_amount;
 
@@ -85,8 +89,8 @@ class CustomInvoiceRepository extends BaseInvoiceRepository
             }
         }
 
-        $invoice->grand_total = $invoice->sub_total + $invoice->tax_amount + $invoice->shipping_amount - $invoice->discount_amount - $invoice->giftcard_amount + $invoice->vip_plus_amount - $invoice->vip_discount_amount;
-        $invoice->base_grand_total = $invoice->base_sub_total + $invoice->base_tax_amount + $invoice->base_shipping_amount - $invoice->base_discount_amount - $invoice->base_giftcard_amount + $invoice->base_vip_plus_amount - $invoice->base_vip_discount_amount;
+        $invoice->grand_total = $invoice->sub_total + $invoice->tax_amount + $invoice->shipping_amount - $invoice->discount_amount - $invoice->giftcard_amount + $invoice->vip_plus_amount - $invoice->vip_discount_amount + $invoice->shipping_insurance_amount;
+        $invoice->base_grand_total = $invoice->base_sub_total + $invoice->base_tax_amount + $invoice->base_shipping_amount - $invoice->base_discount_amount - $invoice->base_giftcard_amount + $invoice->base_vip_plus_amount - $invoice->base_vip_discount_amount + $invoice->base_shipping_insurance_amount;
 
         $invoice->save();
         return $invoice;

+ 15 - 11
packages/Longyi/Gift/src/Repositories/CustomOrderRepository.php

@@ -13,9 +13,10 @@ class CustomOrderRepository extends BaseOrderRepository
         $order->shipping_invoiced = $order->base_shipping_invoiced = 0;
         $order->tax_amount_invoiced = $order->base_tax_amount_invoiced = 0;
         $order->discount_invoiced = $order->base_discount_invoiced = 0;
-        $order->giftcard_amount = $order->base_giftcard_amount = 0;
-        $order->vip_plus_amount = $order->base_vip_plus_amount = 0;
-        $order->vip_discount_amount = $order->base_vip_discount_amount = 0;
+        $order->giftcard_invoiced = $order->base_giftcard_invoiced = 0;
+        $order->vip_plus_invoiced = $order->base_vip_plus_invoiced = 0;
+        $order->vip_discount_invoiced = $order->base_vip_discount_invoiced = 0;
+        $order->shipping_insurance_invoiced = $order->base_shipping_insurance_invoiced = 0;
 
         foreach ($order->invoices as $invoice) {
             $order->sub_total_invoiced += $invoice->sub_total;
@@ -30,18 +31,21 @@ class CustomOrderRepository extends BaseOrderRepository
             $order->discount_invoiced += $invoice->discount_amount;
             $order->base_discount_invoiced += $invoice->base_discount_amount;
 
-            $order->giftcard_amount += $invoice->giftcard_amount;
-            $order->base_giftcard_amount += $invoice->base_giftcard_amount;
+            $order->giftcard_invoiced += $invoice->giftcard_amount;
+            $order->base_giftcard_invoiced += $invoice->base_giftcard_amount;
 
-            $order->vip_plus_amount += $invoice->vip_plus_amount;
-            $order->base_vip_plus_amount += $invoice->base_vip_plus_amount;
+            $order->vip_plus_invoiced += $invoice->vip_plus_amount;
+            $order->base_vip_plus_invoiced += $invoice->base_vip_plus_amount;
 
-            $order->vip_discount_amount += $invoice->vip_discount_amount;
-            $order->base_vip_discount_amount += $invoice->base_vip_discount_amount;
+            $order->vip_discount_invoiced += $invoice->vip_discount_amount;
+            $order->base_vip_discount_invoiced += $invoice->base_vip_discount_amount;
+
+            $order->shipping_insurance_invoiced += $invoice->shipping_insurance_amount;
+            $order->base_shipping_insurance_invoiced += $invoice->base_shipping_insurance_amount;
         }
 
-        $order->grand_total_invoiced = $order->sub_total_invoiced + $order->shipping_invoiced + $order->tax_amount_invoiced - $order->discount_invoiced - $order->giftcard_amount + $order->vip_plus_amount - $order->vip_discount_amount;
-        $order->base_grand_total_invoiced = $order->base_sub_total_invoiced + $order->base_shipping_invoiced + $order->base_tax_amount_invoiced - $order->base_discount_invoiced - $order->base_giftcard_amount + $order->base_vip_plus_amount - $order->base_vip_discount_amount;
+        $order->grand_total_invoiced = $order->sub_total_invoiced + $order->shipping_invoiced + $order->tax_amount_invoiced - $order->discount_invoiced - $order->giftcard_invoiced + $order->vip_plus_invoiced - $order->vip_discount_invoiced + $order->shipping_insurance_invoiced;
+        $order->base_grand_total_invoiced = $order->base_sub_total_invoiced + $order->base_shipping_invoiced + $order->base_tax_amount_invoiced - $order->base_discount_invoiced - $order->base_giftcard_invoiced + $order->base_vip_plus_invoiced - $order->base_vip_discount_invoiced + $order->base_shipping_insurance_invoiced;
 
         // order refund total
         $order->sub_total_refunded = $order->base_sub_total_refunded = 0;

+ 29 - 0
packages/Longyi/ShippingInsurance/src/Database/Migrations/2026_08_11_000000_add_shipping_insurance_to_orders_table.php

@@ -0,0 +1,29 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('orders', function (Blueprint $table) {
+            $table->decimal('shipping_insurance_amount', 12, 4)->default(0)->nullable()->after('base_vip_discount_amount');
+            $table->decimal('base_shipping_insurance_amount', 12, 4)->default(0)->nullable()->after('shipping_insurance_amount');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('orders', function (Blueprint $table) {
+            $table->dropColumn(['shipping_insurance_amount', 'base_shipping_insurance_amount']);
+        });
+    }
+};

+ 29 - 0
packages/Longyi/ShippingInsurance/src/Database/Migrations/2026_08_11_000001_add_shipping_insurance_to_invoices_table.php

@@ -0,0 +1,29 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('invoices', function (Blueprint $table) {
+            $table->decimal('shipping_insurance_amount', 12, 4)->default(0)->nullable()->after('base_vip_discount_amount');
+            $table->decimal('base_shipping_insurance_amount', 12, 4)->default(0)->nullable()->after('shipping_insurance_amount');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('invoices', function (Blueprint $table) {
+            $table->dropColumn(['shipping_insurance_amount', 'base_shipping_insurance_amount']);
+        });
+    }
+};

+ 29 - 0
packages/Longyi/ShippingInsurance/src/Database/Migrations/2026_08_11_000002_add_shipping_insurance_invoiced_to_orders_table.php

@@ -0,0 +1,29 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('orders', function (Blueprint $table) {
+            $table->decimal('shipping_insurance_invoiced', 12, 4)->default(0)->nullable()->after('base_shipping_insurance_amount');
+            $table->decimal('base_shipping_insurance_invoiced', 12, 4)->default(0)->nullable()->after('shipping_insurance_invoiced');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('orders', function (Blueprint $table) {
+            $table->dropColumn(['shipping_insurance_invoiced', 'base_shipping_insurance_invoiced']);
+        });
+    }
+};

+ 4 - 0
packages/Webkul/BagistoApi/src/Transformers/ExpressOrderResource.php

@@ -69,6 +69,10 @@ class ExpressOrderResource extends JsonResource
             'applied_cart_rule_ids'    => $this->applied_cart_rule_ids,
             'discount_amount'          => $discount,
             'base_discount_amount'     => $baseDiscount,
+            $this->mergeWhen($this->shipping_insurance_amount && $this->shipping_insurance_amount > 0, [
+                'shipping_insurance_amount'      => $this->shipping_insurance_amount,
+                'base_shipping_insurance_amount' => $this->base_shipping_insurance_amount,
+            ]),
             'billing_address'          => $billing,
             'shipping_address'         => $shipping,
             'payment'                  => (new OrderPaymentResource($this->payment))->jsonSerialize(),

+ 4 - 0
packages/Webkul/Sales/src/Transformers/OrderResource.php

@@ -86,6 +86,10 @@ class OrderResource extends JsonResource
                 'base_vip_discount_amount'      => $this->base_vip_discount_amount,
                 'formatted_vip_discount_amount' => core()->formatPrice($this->vip_discount_amount),
             ]),
+            $this->mergeWhen($this->shipping_insurance_amount && $this->shipping_insurance_amount > 0, [
+                'shipping_insurance_amount'      => $this->shipping_insurance_amount,
+                'base_shipping_insurance_amount' => $this->base_shipping_insurance_amount,
+            ]),
         ];
     }
 }