Baik, siap! Mari kita lanjutkan ke tahap pengembangan berikutnya: Manajemen Voucher Diskon/Promo (Admin).
Pada tahap ini, kita akan mengimplementasikan fungsionalitas yang memungkinkan Admin untuk membuat, mengelola, dan melacak voucher diskon/promo yang dapat digunakan oleh pembeli.
Tahap 17: Manajemen Voucher Diskon/Promo (Admin)
17.1. Admin Voucher Controller
Kita akan membuat controller untuk menangani logika manajemen voucher dari sisi Admin.
AdminVoucherController
14 Jul, 18.21
Buka https://g.co/gemini/share/9409d9d26141
Bash
php artisan make:controller Admin/VoucherController
17.2. Rute Voucher Admin
Tambahkan rute ini di routes/web.php di dalam grup admin middleware:
Rute Voucher Admin
14 Jul, 18.21
Buka https://g.co/gemini/share/9b6c358cc4e7
17.3. Pembaruan Dashboard Admin
Tambahkan tautan ke “Manajemen Voucher” di dashboard admin.
Admin Dashboard View (Updated)
14 Jul, 18.21
Buka https://g.co/gemini/share/985948f815fe
17.4. Tampilan Daftar Voucher Admin
Buat direktori resources/views/admin/vouchers/ dan di dalamnya buat file index.blade.php.
Admin Vouchers Index View
14 Jul, 18.21
Buka https://g.co/gemini/share/666d8601721e
17.5. Tampilan Tambah Voucher Admin
Buat file resources/views/admin/vouchers/create.blade.php.
Admin Vouchers Create View
14 Jul, 18.21
Buka https://g.co/gemini/share/569619ff1354
17.6. Tampilan Edit Voucher Admin
Buat file resources/views/admin/vouchers/edit.blade.php.
Admin Vouchers Edit View
14 Jul, 18.21
Buka https://g.co/gemini/share/752476354b25
17.7. Penambahan Enums untuk Tipe Voucher
Buat file app/Enums/VoucherTypeEnum.php dan app/Enums/VoucherValueTypeEnum.php.
VoucherTypeEnum dan VoucherValueTypeEnum
14 Jul, 18.21
Buka https://g.co/gemini/share/426c1230fd27
Ringkasan Tahap Pengembangan Saat Ini:
Anda telah berhasil mengimplementasikan:
- Manajemen Voucher Diskon/Promo (Admin):
- Controller Admin\VoucherController untuk CRUD voucher.
- Rute untuk mengelola voucher.
- Tampilan daftar voucher.
- Tampilan form tambah voucher dengan input untuk kode, nama, deskripsi, tipe (diskon produk/pengiriman), nilai (fixed/percentage), tanggal berlaku, batas penggunaan, minimum belanja, dan “berlaku untuk” (produk/kategori/vendor tertentu) menggunakan dropdown dinamis dengan jQuery.
- Tampilan form edit voucher yang mengisi data yang sudah ada.
- Penambahan Enums VoucherTypeEnum dan VoucherValueTypeEnum.
- Logika di CheckoutController sudah mendukung penerapan voucher ini.
Langkah Selanjutnya yang Perlu Anda Lakukan:
- Pastikan semua file Enum yang direferensikan oleh model Anda di app/Enums/ telah dibuat.
- Uji coba:
- Login sebagai user dengan role = ‘admin’.
- Akses /admin/vouchers dan coba tambahkan beberapa voucher baru dengan berbagai tipe dan aturan (misal: diskon produk 10% untuk kategori tertentu, diskon ongkir fixed untuk semua).
- Coba edit dan hapus voucher.
- Setelah membuat voucher, login sebagai user biasa dan coba proses checkout. Masukkan kode voucher yang baru Anda buat dan pastikan perhitungannya benar (diskon diterapkan pada subtotal atau biaya pengiriman).
Setelah Anda berhasil mengimplementasikan dan menguji coba bagian ini, kita bisa melanjutkan ke tahap terakhir dari fitur utama: Laporan (Admin, Vendor, Kurir).
Apakah ada pertanyaan atau bagian yang ingin Anda perjelas sebelum melanjutkan?
