ソースを参照

Place single orders

master
コミット
530038f8e8
3個のファイルの変更71行の追加0行の削除
  1. +64
    -0
      app/Http/Controllers/Supply.php
  2. +4
    -0
      app/Models/Service.php
  3. +3
    -0
      database/migrations/2021_05_19_185302_create_orders_table.php

+ 64
- 0
app/Http/Controllers/Supply.php ファイルの表示

@@ -7,6 +7,7 @@ use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;

use App\Models\Supplier;
use App\Models\Order;

class Supply extends Controller
{
@@ -60,4 +61,67 @@ class Supply extends Controller
}
}

public static function fulfill($order) {
if (gettype($order) == 'integer') {
$order = Order::find($order);
}
return Supply::orderPrimary($order);
}

public static function fulfillAny($order) {
if (gettype($order) == 'integer') {
$order = Order::find($order);
}
if (Supply::orderPrimary($order)) {

};
}

public static function orderPrimary($order) {
if (gettype($order) == 'integer') {
$order = Order::find($order);
}

$primary = $order->service->primary;

switch ($primary->supplier) {
case 'smmkings':
return Supply::orderSmmkings($order, $primary);
break;
case 'smmworld':
return Supply::orderSmmworld($order, $primary);
break;
}
}


public static function orderSmmkings($order, $supplier) {
if ($supplier->supplier != 'smmkings') {
return false;
}

$response = Http::post(config("services.smmkings.link"), ['key' =>
config("services.smmkings.key"), 'action' => 'add',
'service' => $supplier->supplier_id, 'link' =>
$order->url, 'quantity' => $order->quantity])->json();

return $response;
}

public static function orderSmmworld($order, $supplier) {
if ($supplier->supplier != 'smmworld') {
return false;
}

$response = Http::post(config("services.smmworld.link"), ['key' =>
config("services.smmworld.key"), 'action' => 'add',
'service' => $supplier->supplier_id, 'link' => $order->url, 'quantity' =>
$order->quantity])->json();

return $response;
}


}

+ 4
- 0
app/Models/Service.php ファイルの表示

@@ -23,4 +23,8 @@ class Service extends Model
return $this->hasMany(Supplier::class);
}

public function primary() {
return $this->belongsTo(Supplier::class, 'primary_supplier', 'id');
}

}

+ 3
- 0
database/migrations/2021_05_19_185302_create_orders_table.php ファイルの表示

@@ -21,6 +21,9 @@ class CreateOrdersTable extends Migration
$table->bigInteger('quantity');
$table->integer('attempts')->default(0);
$table->string('note')->default('');
$table->string('fulfilled_by')->nullable();
$table->string('fulfiller_status')->nullable();
$table->integer('fulfiller_id')->nullable();
$table->string('message')->nullable();
$table->bigInteger('remaining')->default(0);
$table->enum('status', ['processing', 'pending', 'canceled',


読み込み中…
キャンセル
保存