Prechádzať zdrojové kódy

添加 快递面单打印计数

ajun 4 rokov pred
rodič
commit
519f580331

+ 14 - 0
app/Http/Controllers/OrderPackageExpressBillPrintRecordsController.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Services\OrderPackageExpressBillPrintRecordsService;
+
+class OrderPackageExpressBillPrintRecordsController extends Controller
+{
+    public function updateRecordApi($logistic_number,OrderPackageExpressBillPrintRecordsService  $service): array
+    {
+        return $service->expressBillPrintRecord($logistic_number);
+    }
+
+}

+ 25 - 0
app/OrderPackageExpressBillPrintRecords.php

@@ -0,0 +1,25 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+use App\Traits\ModelLogChanging;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+
+class OrderPackageExpressBillPrintRecords extends Model
+{
+    use ModelLogChanging;
+
+    protected $fillable = ['order_id','order_package_id','process_id','logistic_number','print_count'];
+
+    public function order(): BelongsTo
+    {
+        return $this->belongsTo(Order::class);
+    }
+
+    public function orderPackage(): BelongsTo
+    {
+        return $this->belongsTo(OrderPackage::class);
+    }
+}

+ 35 - 0
app/Services/OrderPackageExpressBillPrintRecordsService.php

@@ -0,0 +1,35 @@
+<?php
+
+namespace App\Services;
+
+use App\OrderPackage;
+use App\Traits\ServiceAppAop;
+use App\OrderPackageExpressBillPrintRecords;
+use Illuminate\Support\Facades\Auth;
+
+class OrderPackageExpressBillPrintRecordsService
+{
+    use ServiceAppAop;
+    protected $modelClass=OrderPackageExpressBillPrintRecords::class;
+
+    // 添加 快递面单打印记录
+    public function expressBillPrintRecord($logisticNumber): array
+    {
+        $orderPackage =  OrderPackage::query()->with('order')->where('logistic_number',$logisticNumber)->first();
+        $data = ['logistic_number' => $logisticNumber];
+        if ($orderPackage){
+            $data['order_id'] = $orderPackage['order']['id'];
+            $data['order_package_id'] = $orderPackage['id'];
+        }
+
+        $printCount = OrderPackageExpressBillPrintRecords::query()->where('logistic_number',$logisticNumber)->max("print_count");
+        if ($printCount == 0) $printCount = 1;
+        else $printCount ++;
+        $data['print_count'] = $printCount;
+
+        $data['process_id'] = Auth::user()['id'];
+        OrderPackageExpressBillPrintRecords::query()->create($data);
+        return ['success' => true];
+    }
+
+}

+ 14 - 0
app/TerminalPrinterLogistic.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+use App\Traits\ModelLogChanging;
+
+class TerminalPrinterLogistic extends Model
+{
+    use ModelLogChanging;
+
+    protected $fillable = ['terminal_printer_id','logistic_id'];
+}

+ 16 - 0
database/factories/OrderPackageExpressBillPrintRecordsFactory.php

@@ -0,0 +1,16 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\OrderPackageExpressBillPrintRecords;
+use Faker\Generator as Faker;
+
+$factory->define(OrderPackageExpressBillPrintRecords::class, function (Faker $faker) {
+    return [
+        'order_id' => $faker->numberBetween(0,10),
+        'order_package_id' => $faker->numberBetween(0,10),
+        'process_id' => $faker->numberBetween(0,10),
+        'logistic_number' => $faker->text(12),
+        'print_count' => $faker->numberBetween(0,10),
+    ];
+});

+ 36 - 0
database/migrations/2021_07_29_114758_create_order_package_express_bill_print_records_table.php

@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateOrderPackageExpressBillPrintRecordsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('order_package_express_bill_print_records', function (Blueprint $table) {
+            $table->id();
+            $table->integer('order_id')->comment('订单');
+            $table->integer('order_package_id')->comment('快递');
+            $table->integer('process_id')->comment('打印账号');
+            $table->integer('logistic_number')->comment("面单号");
+            $table->integer('print_count')->comment('第几次打印');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('order_package_express_bill_print_records');
+    }
+}

+ 16 - 0
database/seeds/OrderPackageExpressBillPrintRecordsSeeder.php

@@ -0,0 +1,16 @@
+<?php
+
+use Illuminate\Database\Seeder;
+
+class OrderPackageExpressBillPrintRecordsSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        //
+    }
+}