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
namespace App\Http\Controllers\Remote;
namespace App\Http\Controllers\Remote\User;
use App\Http\Controllers\Controller;
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;
// update cache

View File

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

View File

@ -15,7 +15,7 @@ public function up()
{
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()
{
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::apiResource('modules', Remote\ModuleController::class)->only(['index']);
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);
});