diff --git a/app/Http/Controllers/API/Pembeli/PembeliApiController.php b/app/Http/Controllers/API/Pembeli/PembeliApiController.php index 86ef230..e6e50d3 100644 --- a/app/Http/Controllers/API/Pembeli/PembeliApiController.php +++ b/app/Http/Controllers/API/Pembeli/PembeliApiController.php @@ -191,6 +191,7 @@ class PembeliApiController extends Controller return response()->json([ 'status' => true, 'message' => 'Berhasil menambahkan transaksi. Silahkan lakukan pembayaran.', + 'url' => $result['redirect_url'] ]); } catch (Throwable $e) { DB::rollBack(); @@ -243,6 +244,7 @@ class PembeliApiController extends Controller public function payPayment(Request $request) { + $auth = base64_encode(env('MIDTRANS_SERVER_KEY')); $response = Http::withOptions([ @@ -351,8 +353,6 @@ class PembeliApiController extends Controller 'message' => 'Transaksi pembayaran gagal.', ]); } - - return response()->json(); } public function cancelPayment(Request $request) @@ -574,7 +574,7 @@ class PembeliApiController extends Controller 'status' => false, 'message' => 'Pembayaran sudah expire, silahkan buat transaksi baru.', ]); - } elseif ($result['transaction'] == 'failure') { + } elseif ($result['transaction_status'] == 'failure') { TransactionDescription::create([ 'transaction_id' => $request->input('id'), 'status' => 'failure', diff --git a/app/Http/Controllers/API/Penjual/PenjualApiController.php b/app/Http/Controllers/API/Penjual/PenjualApiController.php index 14c8d7b..19c7a7e 100644 --- a/app/Http/Controllers/API/Penjual/PenjualApiController.php +++ b/app/Http/Controllers/API/Penjual/PenjualApiController.php @@ -59,7 +59,7 @@ class PenjualApiController extends Controller $params = [ 'refund_key' => $request->input('id') . '-ref1', 'amount' => $transaction->total_bayar, - 'reason' => $request->complaint, + 'reason' => $request->input('complaint'), ]; $auth = base64_encode(env('MIDTRANS_SERVER_KEY')); @@ -91,7 +91,7 @@ class PenjualApiController extends Controller 'total' => $transaction->total_bayar, 'due_date' => now(), 'status' => 'refund', - 'complaint' => $request->complaint, + 'complaint' => $request->input('complaint'), ]); TransactionDescription::create([ @@ -100,7 +100,7 @@ class PenjualApiController extends Controller 'background' => 'bg-seller', 'user' => auth()->user()->email, 'judul' => 'fas fa-times', - 'deskripsi' => 'Transaksi ditolak ' . auth()->user()->nama_depan . ', uang akan dikembalikan ke pembeli. Alasan : ' . $request->complaint, + 'deskripsi' => 'Transaksi ditolak ' . auth()->user()->nama_depan . ', uang akan dikembalikan ke pembeli. Alasan : ' . $request->input('complaint'), ]); DB::commit(); @@ -339,4 +339,8 @@ class PenjualApiController extends Controller } } + public function acceptResult(Request $request){ + + } + } diff --git a/app/Http/Controllers/API/Profile/ProfileApiController.php b/app/Http/Controllers/API/Profile/ProfileApiController.php index a974b35..1ec9e8c 100644 --- a/app/Http/Controllers/API/Profile/ProfileApiController.php +++ b/app/Http/Controllers/API/Profile/ProfileApiController.php @@ -20,25 +20,17 @@ class ProfileApiController extends Controller { public function getProfile() { - $provinces = Provinsi::where('code', auth()->user()->village->district->city->province->code)->get(); - $cities = City::where('province_code', auth()->user()->village->district->city->province->code)->get(); - $districts = District::where('city_code', auth()->user()->village->district->city->code)->get(); - $villages = Village::where('district_code', auth()->user()->village->district->code)->get(); $token = JWTAuth::getToken(); $user = JWTAuth::user($token); return response()->json([ 'user' => $user, - 'provinces' => $provinces, - 'cities' => $cities, - 'districts' => $districts, - 'villages' => $villages ]); } public function updateProfile(Request $request) { - $nama_depan = str_replace(' ', '_', $request->input('nama_depan')); - $nama_belakang = str_replace(' ', '_', $request->input('nama_belakang')); + $nama_depan = $request->input('nama_depan'); + $nama_belakang = $request->input('nama_belakang'); $nohp = $request->input('nohp'); $kode_kelurahan = $request->input('kelurahan'); $alamat = $request->input('alamat'); @@ -47,7 +39,7 @@ class ProfileApiController extends Controller $foto_profile = ''; if ($request->hasFile('foto')) { $file = $request->file('foto'); - $foto_profile = 'Foto_Profil_' . $nama_depan . '_' . $nama_belakang .'.'. $file->getClientOriginalExtension(); + $foto_profile = 'Foto_Profil_' . str_replace(' ', '_', $request->input('nama_depan')) . '_' . str_replace(' ', '_', $request->input('nama_belakang')).'.'. $file->getClientOriginalExtension(); $path = 'foto-profile/' . $foto_profile; Storage::disk('public')->put($path, file_get_contents($file)); @@ -80,12 +72,12 @@ class ProfileApiController extends Controller } public function updateProfilePassword(Request $request){ - $currentPassword = $request->input('currentPassword'); - $newPassword = $request->input('newPassword'); - $renewPassword = $request->input('renewPassword'); + $currentPassword = $request->input('current_password'); + $newPassword = $request->input('new_password'); + $renewPassword = $request->input('renew_password'); if(!Hash::check($currentPassword, auth()->user()->password)){ - return response()->json(['status' => false, 'message' => 'Password sekarang tidak sama','password' => $currentPassword]); + return response()->json(['status' => false, 'message' => 'Password sekarang tidak sama']); } if($renewPassword != $newPassword){ diff --git a/app/Http/Controllers/API/Refund/RefundApiController.php b/app/Http/Controllers/API/Refund/RefundApiController.php index 8101fc3..e23d730 100644 --- a/app/Http/Controllers/API/Refund/RefundApiController.php +++ b/app/Http/Controllers/API/Refund/RefundApiController.php @@ -12,6 +12,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use App\Http\Controllers\Controller; use App\Models\TransactionDescription; +use Yajra\DataTables\Facades\DataTables; class RefundApiController extends Controller { @@ -83,7 +84,7 @@ class RefundApiController extends Controller Log::error($e->getMessage()); - return response()->json(['success' => false, 'message' => 'Terjadi Kesalahan pada sisi server']); + return response()->json(['success' => false, 'message' => 'Terjadi kesalahan pada sisi server']); } } @@ -95,4 +96,75 @@ class RefundApiController extends Controller 'descriptions' => $refundDescription ]); } + + public function listRefund(Request $request) + { + try{ + $subQuery = Refund::join('transactions', 'refunds.transaction_id', '=', 'transactions.id') + ->join('users as s', 'transactions.penjual','=','s.email') + ->select( + 'refunds.id', + 'refunds.total', + 'refunds.due_date', + 'refunds.created_at', + 'refunds.status', + 'transactions.nama_barang', + DB::raw("CONCAT(s.nama_depan,' ',s.nama_belakang) as nama_penjual"), + ); + + if($request->has('search') && !empty($request->search['value'])){ + $searchRefund = $request->search['value']; + if(!is_numeric($searchRefund)){ + $subQuery->where(function($a) use ($searchRefund){ + $a->whereRaw("LOWER(CONCAT(s.nama_depan,' ',s.nama_belakang)) LIKE ?",['%'.strtolower($searchRefund).'%']) + ->orWhereRaw('LOWER(transactions.nama_barang) LIKE ?',['%'.strtolower($searchRefund).'%']) + ->orWhereRaw('LOWER(refunds.status) LIKE ?',['%'.strtolower($searchRefund).'%']); + }); + }else{ + $subQuery->where(function($a) use ($searchRefund){ + $a->whereDay('refunds.created_at', '=', $searchRefund) + ->orWhereMonth('refunds.created_at', '=', $searchRefund) + ->orWhereYear('refunds.created_at', '=', $searchRefund) + ->orWhereDay('refunds.due_date', '=', $searchRefund) + ->orWhereMonth('refunds.due_date', '=', $searchRefund) + ->orWhereYear('refunds.due_date', '=', $searchRefund) + ->orWhere('refunds.total', '=', $searchRefund); + }); + } + } + + $queryRefund = Refund::from(DB::raw("({$subQuery->toSql()}) as tmp")) + ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters + ->select('*') + ->get(); + + if ($request->ajax()) { + return DataTables::of($queryRefund) + ->addIndexColumn() + ->addColumn('action', function ($row) { + $url = route('user-refund.show', ['id' => $row->id]); + $html_code = ' +
- # - | -Nama Barang | -Pembeli | -Penjual | -Total | -Tanggal Transaksi | -Tanggal Update | -Status | -Aksi | -
---|---|---|---|---|---|---|---|---|
{{ $loop->iteration }} | -{{ $transaction->nama_barang }} | -{{ $transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang }} - | -{{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }} - | -Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }} | -{{ $transaction->created_at }} | -{{ $transaction->updated_at }} | -{{ ucwords($transaction->status) }} - | -
-
-
-
-
-
- |
-
Transaksi telah selesai dan diselesaikan oleh pembeli.
Transaksi selesai dan uang akan dikirim ke penjual.
+Transaksi ditandai oleh pembeli untuk dikembalikan/retur dikarenakan diff --git a/resources/views/User/index.blade.php b/resources/views/User/index.blade.php index b7d7a61..a674235 100644 --- a/resources/views/User/index.blade.php +++ b/resources/views/User/index.blade.php @@ -4,49 +4,59 @@
Transaksi telah selesai dan diselesaikan oleh pembeli.
Transaksi selesai dan uang akan dikirim ke penjual.
+Transaksi ditandai oleh pembeli untuk dikembalikan/retur dikarenakan diff --git a/resources/views/User/transaction/penjual/index.blade.php b/resources/views/User/transaction/penjual/index.blade.php index 9f2bfe0..4b227ba 100644 --- a/resources/views/User/transaction/penjual/index.blade.php +++ b/resources/views/User/transaction/penjual/index.blade.php @@ -134,7 +134,7 @@ return ` ${row.status_transaksi.charAt(0).toUpperCase()}${row.status_transaksi.slice(1)} `; - } else if (row.status_transaksi == 'finished') { + } else if (['finished', 'done'].includes(row.status_transaksi)) { return ` ${row.status_transaksi.charAt(0).toUpperCase()}${row.status_transaksi.slice(1)} `; @@ -532,6 +532,49 @@ $('#acceptResult').on('click', function() { const csrfToken = $('meta[name="csrf-token"]').attr('content'); + const id = $(this).data('id'); + + Swal.fire({ + html: '
Mohon tunggu...