Improve managed_price

This commit is contained in:
iVampireSP.com 2022-08-15 19:10:51 +08:00
parent 64268af6b8
commit 10bd7f8373
No known key found for this signature in database
GPG Key ID: 2F7B001CA27A8132
11 changed files with 133 additions and 13 deletions

View File

@ -0,0 +1,11 @@
<?php
namespace App\Http\Controllers\Remote;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class DropController extends Controller
{
//
}

View File

@ -0,0 +1,20 @@
<?php
namespace App\Http\Controllers\Remote\User;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;
class DropController extends Controller
{
public function destroy(Request $request, User $user) {
$request->validate([
'amount' => 'required|numeric|max:1000',
]);
return $this->success();
}
}

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Remote; namespace App\Http\Controllers\Remote\User;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;

View File

@ -0,0 +1,11 @@
<?php
namespace App\Http\Controllers\Remote;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class WorkOrderController extends Controller
{
//
}

View File

@ -0,0 +1,11 @@
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class WorkOrderController extends Controller
{
//
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\Remote;
use Illuminate\Foundation\Http\FormRequest;
class WorkOrderRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
//
];
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\User;
use Illuminate\Foundation\Http\FormRequest;
class WorkOrderRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
//
];
}
}

View File

@ -55,6 +55,10 @@ public function handle()
} }
} }
if ($host->managed_price) {
$host->price = $host->managed_price;
}
$this->user->drops -= $host->price; $this->user->drops -= $host->price;
// update cache // update cache

View File

@ -4,7 +4,8 @@
use App\Models\User; use App\Models\User;
use App\Models\Module\Module; use App\Models\Module\Module;
use App\Models\Module\ProviderModule; // use App\Models\Module\ProviderModule;
use Illuminate\Support\Facades\Cache;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
@ -35,10 +36,10 @@ public function user() {
return $this->belongsTo(User::class); return $this->belongsTo(User::class);
} }
// provider module // // provider module
public function provider_module() { // public function provider_module() {
return $this->belongsTo(ProviderModule::class); // return $this->belongsTo(ProviderModule::class);
} // }
// workorders // workorders
public function workorders() { public function workorders() {
@ -46,17 +47,16 @@ public function workorders() {
} }
// module 远程一对一 // module 远程一对一
public function module() { // public function module() {
return $this->hasOneThrough(Module::class, ProviderModule::class); // return $this->hasOneThrough(Module::class, ProviderModule::class);
} // }
// scope // scope
public function scopeActive($query) { public function scopeActive($query) {
return $query->where('status', 'running')->where('price', '!=', 0); return $query->where('status', 'running')->where('price', '!=', 0);
} }
// on create // on create
protected static function boot() protected static function boot()
{ {

View File

@ -15,7 +15,7 @@ public function up()
{ {
Schema::table('hosts', function (Blueprint $table) { Schema::table('hosts', function (Blueprint $table) {
// //
$table->boolean('managed_price')->default(true)->index(); $table->double('managed_price', 60, 8)->index()->nullable()->after('price');
}); });
} }
@ -27,7 +27,8 @@ public function up()
public function down() public function down()
{ {
Schema::table('hosts', function (Blueprint $table) { Schema::table('hosts', function (Blueprint $table) {
// // drop
$table->dropColumn('managed_price');
}); });
} }
}; };

View File

@ -6,5 +6,7 @@
Route::name('remote.')->middleware(['api'])->group(function () { Route::name('remote.')->middleware(['api'])->group(function () {
Route::apiResource('modules', Remote\ModuleController::class)->only(['index']); Route::apiResource('modules', Remote\ModuleController::class)->only(['index']);
Route::apiResource('servers', Remote\ServerController::class); Route::apiResource('servers', Remote\ServerController::class);
Route::delete('users/{user}/drops', [Remote\User\DropController::class, 'destroy']);
Route::apiResource('users.tasks', Remote\User\TaskController::class);
// Route::apiResource('users', Controllers\User\UserController::class); // Route::apiResource('users', Controllers\User\UserController::class);
}); });