194 lines
7.0 KiB
PHP
194 lines
7.0 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
|
|
use App\Models\Contact;
|
|
use App\Models\Refund;
|
|
use App\Models\RefundDescription;
|
|
use Illuminate\Database\Seeder;
|
|
use App\Models\User;
|
|
use Carbon\Carbon;
|
|
use App\Models\Setting;
|
|
use App\Models\Transaction;
|
|
use App\Models\TransactionDescription;
|
|
use Illuminate\Support\Str;
|
|
use Faker\Factory as FakerFactory;
|
|
use Faker\Provider\id_ID\Person as Person;
|
|
use Laravolt\Indonesia\Seeds\CitiesSeeder;
|
|
use Laravolt\Indonesia\Seeds\VillagesSeeder;
|
|
use Laravolt\Indonesia\Seeds\DistrictsSeeder;
|
|
use Laravolt\Indonesia\Seeds\ProvincesSeeder;
|
|
|
|
class DatabaseSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Seed the application's database.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$faker = FakerFactory::create();
|
|
$faker->addProvider(new Person($faker));
|
|
|
|
User::factory()->create([
|
|
'id' => Str::uuid(),
|
|
'nama_depan' => $faker->firstName,
|
|
'nama_belakang' => $faker->lastName,
|
|
'tanggal_lahir' => $faker->date('Y-m-d', 'now'),
|
|
'email' => 'admin@example.net',
|
|
'email_verified_at' => now(),
|
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
|
'remember_token' => Str::random(10),
|
|
'role' => 'Admin',
|
|
'nik' => $faker->nik($faker->randomElement(['male', 'female']), $faker->dateTimeBetween('-65 years', '-18 years')),
|
|
'alamat' => $faker->address,
|
|
'nohp' => $faker->phoneNumber(),
|
|
'status' => 'Finished',
|
|
'persentase_kemiripan' => 100,
|
|
'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
|
|
'kode_kelurahan' => '1101012002',
|
|
]);
|
|
|
|
$user1 = User::factory()->create([
|
|
'id' => Str::uuid(),
|
|
'nama_depan' => $faker->firstName,
|
|
'nama_belakang' => $faker->lastName,
|
|
'tanggal_lahir' => $faker->date('Y-m-d', 'now'),
|
|
'email' => $faker->email,
|
|
'email_verified_at' => now(),
|
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
|
'remember_token' => Str::random(10),
|
|
'role' => 'User',
|
|
'nik' => $faker->nik($faker->randomElement(['male', 'female']), $faker->dateTimeBetween('-65 years', '-18 years')),
|
|
'alamat' => $faker->address,
|
|
'nohp' => $faker->phoneNumber(),
|
|
'status' => 'Finished',
|
|
'persentase_kemiripan' => 100,
|
|
'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
|
|
'kode_kelurahan' => '1101012002',
|
|
'nama_bank' => 'mandiri',
|
|
'no_rek' => '019809210873'
|
|
]);
|
|
|
|
$user2 = User::factory()->create([
|
|
'id' => Str::uuid(),
|
|
'nama_depan' => $faker->firstName,
|
|
'nama_belakang' => $faker->lastName,
|
|
'tanggal_lahir' => $faker->date('Y-m-d', 'now'),
|
|
'email' => $faker->email(),
|
|
'email_verified_at' => now(),
|
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
|
'remember_token' => Str::random(10),
|
|
'role' => 'User',
|
|
'nik' => $faker->nik($faker->randomElement(['male', 'female']), $faker->dateTimeBetween('-65 years', '-18 years')),
|
|
'alamat' => $faker->address,
|
|
'nohp' => $faker->phoneNumber(),
|
|
'status' => 'Finished',
|
|
'persentase_kemiripan' => 100,
|
|
'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
|
|
'kode_kelurahan' => '1101012002',
|
|
'nama_bank' => 'bca',
|
|
'no_rek' => '01980921'
|
|
]);
|
|
|
|
// User::factory(20)->create();
|
|
|
|
$now = Carbon::now()->tz('Asia/Jakarta');
|
|
$bulan = $now->format('n');
|
|
$tahun = $now->year;
|
|
Setting::create([
|
|
'id' => Str::uuid(),
|
|
'bulan' => $bulan,
|
|
'tahun' => $tahun,
|
|
'persentase' => 5,
|
|
'status' => 'Active',
|
|
]);
|
|
|
|
$transaction = Transaction::create([
|
|
'id' => Str::uuid(),
|
|
'pembeli' => $user1->email,
|
|
'penjual' => $user2->email,
|
|
'nama_barang' => 'hah',
|
|
'deskripsi_transaksi' => null,
|
|
'satuan_barang' => 'barang',
|
|
'harga_barang' => 2000,
|
|
'jumlah_barang' => 2,
|
|
'persentase_keuntungan' => 2,
|
|
'total_keuntungan' => 2,
|
|
'total_harga' => 2,
|
|
'total_bayar' => 2,
|
|
'token' => 'asda',
|
|
'status_transaksi' => 'created',
|
|
'batas_pembayaran' => now(),
|
|
'batas_pengiriman_barang_awal' => now(),
|
|
'batas_pengiriman_barang_akhir' => now(),
|
|
'nama_bank_penjual' => $user2->nama_bank,
|
|
'no_rek_penjual' => $user2->no_rek,
|
|
]);
|
|
|
|
TransactionDescription::create([
|
|
'transaction_id' => $transaction->id,
|
|
'status' => 'pending',
|
|
'user' => $user1->email,
|
|
'judul' => 'fa fa-plus',
|
|
'background' => 'bg-buyer',
|
|
'deskripsi' => $user1->nama_depan . ' telah membuat transaksi baru dengan ' . $user2->nama_depan,
|
|
]);
|
|
|
|
$transactionRefund = Transaction::create([
|
|
'id' => Str::uuid(),
|
|
'pembeli' => $user1->email,
|
|
'penjual' => $user2->email,
|
|
'nama_barang' => 'hah',
|
|
'deskripsi_transaksi' => null,
|
|
'satuan_barang' => 'barang',
|
|
'harga_barang' => 2000,
|
|
'jumlah_barang' => 2,
|
|
'persentase_keuntungan' => 2,
|
|
'total_keuntungan' => 2,
|
|
'total_harga' => 2,
|
|
'total_bayar' => 2,
|
|
'token' => 'asda',
|
|
'status_transaksi' => 'success',
|
|
'status_pembayaran' => 'refund',
|
|
'batas_pembayaran' => now(),
|
|
'batas_pengiriman_barang_awal' => now(),
|
|
'batas_pengiriman_barang_akhir' => now(),
|
|
'nama_bank_penjual' => $user2->nama_bank,
|
|
'no_rek_penjual' => $user2->no_rek,
|
|
]);
|
|
|
|
$refund = Refund::create([
|
|
'transaction_id' => $transactionRefund->id,
|
|
'total' => $transactionRefund->total_harga,
|
|
'due_date' => now(),
|
|
'complaint' => 'ha',
|
|
]);
|
|
|
|
RefundDescription::create([
|
|
'refund_id' => $refund->id,
|
|
'filename' => 'img_1.jpg',
|
|
'type' => 'image'
|
|
]);
|
|
|
|
RefundDescription::create([
|
|
'refund_id' => $refund->id,
|
|
'filename' => 'img_2.jpg',
|
|
'type' => 'image'
|
|
]);
|
|
|
|
Contact::create([
|
|
'pemilik_kontak' => $user1->email,
|
|
'relasi_kontak' => $user2->email
|
|
]);
|
|
|
|
Contact::create([
|
|
'pemilik_kontak' => $user2->email,
|
|
'relasi_kontak' => $user1->email
|
|
]);
|
|
|
|
$this->call([ProvincesSeeder::class, CitiesSeeder::class, DistrictsSeeder::class, VillagesSeeder::class]);
|
|
}
|
|
}
|