feat: Implement order and invoice management, enhance addon features, and remove the 'Type' module.

This commit is contained in:
pbao9
2026-02-11 17:02:07 +07:00
parent 58a9aa685b
commit 556b2c02e6
47 changed files with 1367 additions and 497 deletions
+15 -16
View File
@@ -2,47 +2,46 @@
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\Addon;
class AddonSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
public function run(): void
{
$productAddon = [
$addons = [
[
'code' => 'cpu',
'name' => 'CPU',
'price' => 100000,
'type_id' => 1,
'min' => 0,
'max' => 30,
'step' => 1,
'prefix' => 'vCore'
'prefix' => 'vCore',
'status' => true,
],
[
'code' => 'ram',
'name' => 'RAM',
'price' => 50000,
'type_id' => 1,
'min' => 0,
'max' => 32,
'step' => 1,
'prefix' => 'GB'
'prefix' => 'GB',
'status' => true,
],
[
'code' => 'disk',
'name' => 'SSD',
'price' => 4000,
'type_id' => 1,
'min' => 0,
'max' => 1500,
'step' => 10,
'prefix' => 'GB'
]
'prefix' => 'GB',
'status' => true,
],
];
\App\Models\Addon::insert($productAddon);
Addon::upsert($addons, ['code']);
}
}
+2 -1
View File
@@ -16,7 +16,7 @@ class DatabaseSeeder extends Seeder
public function run(): void
{
User::factory(1)->create();
$this->call(TypeSeeder::class);
$this->call(DomainTypeSeeder::class);
$this->call(GroupSeeder::class);
$this->call(Payment::class);
@@ -30,5 +30,6 @@ class DatabaseSeeder extends Seeder
$this->call(Setting::class);
$this->call(MenuSeeder::class);
$this->call(ControlPanelSeeder::class);
$this->call(VcenterSeeder::class);
}
}
-45
View File
@@ -1,45 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Type;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class TypeSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$group = [
[
'name' => 'Addon',
'status' => 1,
'icon' => ''
],
[
'name' => 'Domain',
'status' => 1,
'icon' => 'file/domain.svg'
],
[
'name' => 'Hosting',
'status' => 1,
'icon' => 'file/hosting.svg'
],
[
'name' => 'VPS',
'status' => 1,
'icon' => 'file/vps.svg'
],
];
foreach ($group as $item) {
Type::create($item);
}
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders;
use App\Models\vCenter;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class VcenterSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
// vCenter::create([
// 'host' => '10.10.10.6',
// 'user' => 'administrator@vsphere.local',
// 'password' => bcrypt('Tgs@1238989$%^'),
// 'status' => 1
// ]);
}
}