API Flutter
This commit is contained in:
		
							parent
							
								
									c353a83bd4
								
							
						
					
					
						commit
						59aa63be93
					
				@ -10,22 +10,31 @@ use Illuminate\Support\Facades\DB;
 | 
			
		||||
use Illuminate\Support\Facades\Log;
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use Illuminate\Support\Facades\Auth;
 | 
			
		||||
use Tymon\JWTAuth\Facades\JWTAuth;
 | 
			
		||||
use Yajra\DataTables\Facades\DataTables;
 | 
			
		||||
 | 
			
		||||
class ContactApiController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function getContact()
 | 
			
		||||
    public function getListContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        // $token = JWTAuth::getToken();
 | 
			
		||||
        // $user = JWTAuth::user($token);
 | 
			
		||||
 | 
			
		||||
        $data = DB::table('contacts')
 | 
			
		||||
            ->join('users', 'contacts.relasi_kontak', '=', 'users.email')
 | 
			
		||||
            ->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
 | 
			
		||||
            ->where('contacts.pemilik_kontak', '=', Auth::user()->email)
 | 
			
		||||
            ->select('contacts.relasi_kontak', DB::raw("CONCAT(users.nama_depan, ' ', users.nama_belakang) as nama_lengkap") )
 | 
			
		||||
            ->where('contacts.pemilik_kontak', '=', auth()->user()->email)
 | 
			
		||||
            ->whereRaw("LOWER(CONCAT(users.nama_depan, ' ', users.nama_belakang)) LIKE ?", ['%' . strtolower($request->input('search')) . '%'])
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
        return response()->json($data);
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'data' => $data
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function store(Request $request)
 | 
			
		||||
    public function storeContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $email_relasi = $request->email;
 | 
			
		||||
        $email_relasi = $request->input('email');
 | 
			
		||||
        if ($email_relasi == Auth::user()->email) {
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'status' => false,
 | 
			
		||||
@ -33,7 +42,7 @@ class ContactApiController extends Controller
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try{
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Contact::create([
 | 
			
		||||
@ -45,10 +54,9 @@ class ContactApiController extends Controller
 | 
			
		||||
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'status' => true,
 | 
			
		||||
                'message' => 'Kontak berhasil ditambahkan.'
 | 
			
		||||
                'message' => 'Kontak berhasil ditambahkan.',
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
        }catch(Throwable $e){
 | 
			
		||||
        } catch (Throwable $e) {
 | 
			
		||||
            DB::rollBack();
 | 
			
		||||
 | 
			
		||||
            Log::error($e->getMessage());
 | 
			
		||||
@ -60,12 +68,12 @@ class ContactApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function destroy(Request $request)
 | 
			
		||||
    public function deleteContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Contact::destroy($request->id);
 | 
			
		||||
            Contact::destroy($request->input('id'));
 | 
			
		||||
 | 
			
		||||
            DB::commit();
 | 
			
		||||
 | 
			
		||||
@ -73,7 +81,6 @@ class ContactApiController extends Controller
 | 
			
		||||
                'message' => 'Berhasil hapus data',
 | 
			
		||||
                'status' => true,
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
        } catch (Throwable $e) {
 | 
			
		||||
            DB::rollBack();
 | 
			
		||||
 | 
			
		||||
@ -86,9 +93,9 @@ class ContactApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function cekEmail(Request $request)
 | 
			
		||||
    public function checkContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $result = User::where('email', $request->email)
 | 
			
		||||
        $result = User::where('email', $request->input('email'))
 | 
			
		||||
            ->where('role', 'User')
 | 
			
		||||
            ->first();
 | 
			
		||||
        if ($result) {
 | 
			
		||||
@ -100,37 +107,76 @@ class ContactApiController extends Controller
 | 
			
		||||
            } else {
 | 
			
		||||
                return response()->json([
 | 
			
		||||
                    'status' => false,
 | 
			
		||||
                    'message' => 'Akun dengen email ' . $request->email . ' tersedia dan belum diverifikasi',
 | 
			
		||||
                    'message' => 'Akun dengen email ' . $request->input('email') . ' tersedia dan belum diverifikasi',
 | 
			
		||||
                ]);
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'status' => false,
 | 
			
		||||
                'message' => 'Akun dengen email ' . $request->email . ' tidak tersedia atau ditolak',
 | 
			
		||||
                'message' => 'Akun dengen email ' . $request->input('email') . ' tidak tersedia atau ditolak',
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function detailContact(Request $request){
 | 
			
		||||
        $data = Contact::join('users','contacts.relasi_kontak','=','users.email')
 | 
			
		||||
        ->join('indonesia_villages','users.kode_kelurahan','=','indonesia_villages.code')
 | 
			
		||||
        ->join('indonesia_districts','indonesia_villages.district_code','=','indonesia_districts.code')
 | 
			
		||||
        ->join('indonesia_cities','indonesia_districts.city_code','=','indonesia_cities.code')
 | 
			
		||||
        ->join('indonesia_provinces','indonesia_cities.province_code','=','indonesia_provinces.code')
 | 
			
		||||
        ->where('contacts.id',$request->id)
 | 
			
		||||
        ->select(
 | 
			
		||||
            DB::raw("CONCAT(users.nama_depan,' ',users.nama_belakang) as nama_lengkap"),
 | 
			
		||||
            'users.alamat',
 | 
			
		||||
            'users.email',
 | 
			
		||||
            'users.nohp',
 | 
			
		||||
            'indonesia_villages.name as kelurahan',
 | 
			
		||||
            'indonesia_districts.name as kecamatan',
 | 
			
		||||
            'indonesia_cities.name as kota',
 | 
			
		||||
            'indonesia_provinces.name as provinsi'
 | 
			
		||||
        )
 | 
			
		||||
        ->first();
 | 
			
		||||
    public function detailContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $data = Contact::join('users', 'contacts.relasi_kontak', '=', 'users.email')
 | 
			
		||||
            ->join('indonesia_villages', 'users.kode_kelurahan', '=', 'indonesia_villages.code')
 | 
			
		||||
            ->join('indonesia_districts', 'indonesia_villages.district_code', '=', 'indonesia_districts.code')
 | 
			
		||||
            ->join('indonesia_cities', 'indonesia_districts.city_code', '=', 'indonesia_cities.code')
 | 
			
		||||
            ->join('indonesia_provinces', 'indonesia_cities.province_code', '=', 'indonesia_provinces.code')
 | 
			
		||||
            ->where('contacts.id', $request->input('id'))
 | 
			
		||||
            ->select(DB::raw("CONCAT(users.nama_depan,' ',users.nama_belakang) as nama_lengkap"), 'users.alamat', 'users.email', 'users.nohp', 'indonesia_villages.name as kelurahan', 'indonesia_districts.name as kecamatan', 'indonesia_cities.name as kota', 'indonesia_provinces.name as provinsi')
 | 
			
		||||
            ->first();
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'data' => $data
 | 
			
		||||
            'data' => $data,
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function listContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        try {
 | 
			
		||||
            $subQuery = Contact::join('users', 'contacts.relasi_kontak', '=', 'users.email')
 | 
			
		||||
                ->where('pemilik_kontak', Auth::user()->email)
 | 
			
		||||
                ->select('contacts.id', DB::raw("CONCAT(users.nama_depan, ' ', users.nama_belakang) as nama_lengkap"));
 | 
			
		||||
 | 
			
		||||
            if ($request->has('search') && !empty($request->search['value'])) {
 | 
			
		||||
                $searchContact = $request->search['value'];
 | 
			
		||||
                $subQuery->where(function ($a) use ($searchContact) {
 | 
			
		||||
                    $a->whereRaw("LOWER(CONCAT(users.nama_depan,' ',users.nama_belakang)) LIKE ?", ['%' . strtolower($searchContact) . '%']);
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $queryContact = Contact::from(DB::raw("({$subQuery->toSql()}) as tmp"))
 | 
			
		||||
                ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters
 | 
			
		||||
                ->select('*')
 | 
			
		||||
                ->get();
 | 
			
		||||
 | 
			
		||||
            if ($request->ajax()) {
 | 
			
		||||
                return DataTables::of($queryContact)
 | 
			
		||||
                    ->addIndexColumn()
 | 
			
		||||
                    ->addColumn('action', function ($row) {
 | 
			
		||||
                        $html_code =
 | 
			
		||||
                            '
 | 
			
		||||
                    <button class="btn btn-info open-detail-modal" data-toggle="modal"
 | 
			
		||||
                                                        data-target="#modaldetail" id="detailContact"
 | 
			
		||||
                                                        data-id="' .
 | 
			
		||||
                            $row->id .
 | 
			
		||||
                            '">Detail</button>
 | 
			
		||||
                                                    <button class="btn btn-danger open-detail-modal" id="deleteContact"
 | 
			
		||||
                                                        data-id="' .
 | 
			
		||||
                            $row->id .
 | 
			
		||||
                            '">Hapus</button>
 | 
			
		||||
                    ';
 | 
			
		||||
                        return $html_code;
 | 
			
		||||
                    })
 | 
			
		||||
                    ->rawColumns(['action'])
 | 
			
		||||
                    ->make(true);
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Throwable $e) {
 | 
			
		||||
            Log::error($e->getMessage());
 | 
			
		||||
 | 
			
		||||
            return response()->json(['success' => false, 'message' => 'Terjadi Kesalahan pada sisi server']);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										27
									
								
								app/Http/Controllers/API/Invoice/InvoiceApiController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								app/Http/Controllers/API/Invoice/InvoiceApiController.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\API\Invoice;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Models\Transaction;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
 | 
			
		||||
class InvoiceApiController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function getInvoice($id)
 | 
			
		||||
    {
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'transaction' => Transaction::findOrFail($id),
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function exportInvoice($id)
 | 
			
		||||
    {
 | 
			
		||||
        // $transaction = Transaction::findOrFail($request->id);
 | 
			
		||||
        // $pdf = Pdf::loadView('invoice.export-invoice',compact('transaction'))->setPaper('A4','Portrait');
 | 
			
		||||
        // return $pdf->download("invoice-$request->id.pdf");
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'transaction' => Transaction::findOrFail($id),
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
namespace App\Http\Controllers\API\Login;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Mail\verificationMail;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use Tymon\JWTAuth\Facades\JWTFactory;
 | 
			
		||||
use Illuminate\Support\Facades\Hash;
 | 
			
		||||
@ -11,8 +12,13 @@ use Carbon\Carbon;
 | 
			
		||||
use Illuminate\Support\Facades\Auth;
 | 
			
		||||
use Illuminate\Support\Facades\DB;
 | 
			
		||||
use Illuminate\Support\Facades\Log;
 | 
			
		||||
use Illuminate\Support\Facades\Mail;
 | 
			
		||||
use Illuminate\Support\Facades\Storage;
 | 
			
		||||
use Illuminate\Support\Str;
 | 
			
		||||
use Laravolt\Indonesia\Models\City;
 | 
			
		||||
use Laravolt\Indonesia\Models\District;
 | 
			
		||||
use Laravolt\Indonesia\Models\Province;
 | 
			
		||||
use Laravolt\Indonesia\Models\Village;
 | 
			
		||||
use Tymon\JWTAuth\Facades\JWTAuth;
 | 
			
		||||
 | 
			
		||||
class LoginApiController extends Controller
 | 
			
		||||
@ -22,42 +28,14 @@ class LoginApiController extends Controller
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct()
 | 
			
		||||
    {
 | 
			
		||||
        $this->middleware('auth:api', ['except' => ['login', 'register', 'hai']]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get a JWT via given credentials.
 | 
			
		||||
     *
 | 
			
		||||
     * @return \Illuminate\Http\JsonResponse
 | 
			
		||||
     */
 | 
			
		||||
    public function login(Request $request)
 | 
			
		||||
    public function login()
 | 
			
		||||
    {
 | 
			
		||||
        // $credentials = $request->validate(
 | 
			
		||||
        //     [
 | 
			
		||||
        //         'email' => ['required', 'email'],
 | 
			
		||||
        //         'password' => ['required', 'min:8'],
 | 
			
		||||
        //     ],
 | 
			
		||||
        //     [
 | 
			
		||||
        //         'email.required' => 'Alamat email wajib diisi.',
 | 
			
		||||
        //         'email.email' => 'Alamat email harus berformat valid.',
 | 
			
		||||
        //         'password.required' => 'Password wajib diisi.',
 | 
			
		||||
        //         'password.min' => 'Password harus memiliki panjang minimal 8 karakter.',
 | 
			
		||||
        //     ],
 | 
			
		||||
        // );
 | 
			
		||||
 | 
			
		||||
        // $credentials = $request->only('email', 'password');
 | 
			
		||||
 | 
			
		||||
        // if (!$token = Auth::attempt($credentials)) {
 | 
			
		||||
        //     return response()->json(['error' => 'Unauthorized', 'message' => $credentials ], 401);
 | 
			
		||||
        // }
 | 
			
		||||
 | 
			
		||||
        // // return $this->respondWithToken($token);
 | 
			
		||||
        // return response()->json([
 | 
			
		||||
        //     'token' => $token
 | 
			
		||||
        // ]);
 | 
			
		||||
 | 
			
		||||
        $credentials = request(['email', 'password']);
 | 
			
		||||
 | 
			
		||||
        if (!($token = Auth::guard('api')->attempt($credentials))) {
 | 
			
		||||
@ -82,7 +60,7 @@ class LoginApiController extends Controller
 | 
			
		||||
    {
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'message' => 'Hello from API',
 | 
			
		||||
            'data' => $request->input('data'),
 | 
			
		||||
            'data' => $request->all(),
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -251,4 +229,60 @@ class LoginApiController extends Controller
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function verificationCode(Request $request){
 | 
			
		||||
        $email = $request->input('email');
 | 
			
		||||
        $code = $request->input('code');
 | 
			
		||||
 | 
			
		||||
        $verificationEmail = [
 | 
			
		||||
            'code' => $code,
 | 
			
		||||
            'email' => $email,
 | 
			
		||||
        ];
 | 
			
		||||
        try {
 | 
			
		||||
            Mail::to($email)->send(new verificationMail($verificationEmail));
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'message' => 'Kode verifikasi berhasil dikirim ke email. Silahkan cek di email anda.',
 | 
			
		||||
                'status' => true,
 | 
			
		||||
            ]);
 | 
			
		||||
        } catch (\Exception $e) {
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'message' => 'Kode verifikasi gagal dikirim ke email. ' . $e,
 | 
			
		||||
                'status' => false,
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function searchProvince()
 | 
			
		||||
    {
 | 
			
		||||
        $data = Province::where('name', 'LIKE', '%' . strtoupper(request('q')) . '%')->paginate(10);
 | 
			
		||||
 | 
			
		||||
        return response()->json($data);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function searchCity(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $data = City::where('province_code', $request->input('code'))
 | 
			
		||||
            ->where('name', 'LIKE', '%' . strtoupper(request('q')) . '%')
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
 | 
			
		||||
        return response()->json($data);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function searchDistrict(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $data = District::where('city_code', $request->input('code'))
 | 
			
		||||
            ->where('name', 'LIKE', '%' . strtoupper(request('q')) . '%')
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
 | 
			
		||||
        return response()->json($data);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function searchVillage(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $data = Village::where('district_code', $request->input('code'))
 | 
			
		||||
            ->where('name', 'LIKE', '%' . strtoupper(request('q')) . '%')
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
 | 
			
		||||
        return response()->json($data);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -16,10 +16,11 @@ use Illuminate\Support\Facades\Log;
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use Illuminate\Support\Facades\Http;
 | 
			
		||||
use App\Models\TransactionDescription;
 | 
			
		||||
use Yajra\DataTables\Facades\DataTables;
 | 
			
		||||
 | 
			
		||||
class PembeliApiController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function create()
 | 
			
		||||
    public function createTransaction()
 | 
			
		||||
    {
 | 
			
		||||
        $now = Carbon::now();
 | 
			
		||||
        $bulan = $now->format('F');
 | 
			
		||||
@ -33,20 +34,21 @@ class PembeliApiController extends Controller
 | 
			
		||||
                ->latest()
 | 
			
		||||
                ->value('persentase');
 | 
			
		||||
        }
 | 
			
		||||
        return view('user.transaction.pembeli.new-transaction', [
 | 
			
		||||
            'persentase_keuntungan' => $persentase_keuntungan,
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'persentase_keuntungan' => $persentase_keuntungan
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function store(Request $request)
 | 
			
		||||
    public function storeTransaction(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $pembeli = auth()->user()->email;
 | 
			
		||||
        $penjual = $request->email_penjual;
 | 
			
		||||
        $nama_barang = $request->nama_barang;
 | 
			
		||||
        $satuan_barang = $request->satuan_barang;
 | 
			
		||||
        $deskripsi_transaksi = $request->deskripsi;
 | 
			
		||||
        $harga_barang = $request->harga_barang;
 | 
			
		||||
        $jumlah_barang = $request->jumlah_barang;
 | 
			
		||||
        $penjual = $request->input('email_penjual');
 | 
			
		||||
        $nama_barang = $request->input('nama_barang');
 | 
			
		||||
        $satuan_barang = $request->input('satuan_barang');
 | 
			
		||||
        $deskripsi_transaksi = $request->input('deskripsi');
 | 
			
		||||
        $harga_barang = $request->input('harga_barang');
 | 
			
		||||
        $jumlah_barang = $request->input('jumlah_barang');
 | 
			
		||||
 | 
			
		||||
        $nama_depan_pembeli = auth()->user()->nama_depan;
 | 
			
		||||
        $nama_belakang_pembeli = auth()->user()->nama_belakang;
 | 
			
		||||
@ -66,11 +68,11 @@ class PembeliApiController extends Controller
 | 
			
		||||
 | 
			
		||||
        $now = Carbon::now();
 | 
			
		||||
 | 
			
		||||
        $persentase_keuntungan = $request->persentase_keuntungan;
 | 
			
		||||
        $persentase_keuntungan = $request->input('persentase_keuntungan');
 | 
			
		||||
 | 
			
		||||
        $total_harga = $request->total_harga;
 | 
			
		||||
        $total_keuntungan = $request->total_keuntungan;
 | 
			
		||||
        $total_bayar = $request->total_bayar;
 | 
			
		||||
        $total_harga = $request->input('total_harga');
 | 
			
		||||
        $total_keuntungan = $request->input('total_keuntungan');
 | 
			
		||||
        $total_bayar = $request->input('total_bayar');
 | 
			
		||||
 | 
			
		||||
        $batas_pembayaran = $now->addDays(1)->toTimeString();
 | 
			
		||||
        $batas_konfirmasi_transaksi = $now->addDays(2)->toDateTimeString();
 | 
			
		||||
@ -143,26 +145,26 @@ class PembeliApiController extends Controller
 | 
			
		||||
                'enabled_payments' => ['credit_card', 'shopeepay', 'gopay', 'other_qris'],
 | 
			
		||||
            ];
 | 
			
		||||
 | 
			
		||||
            // $client = new Client([
 | 
			
		||||
            //     'verify' => false,
 | 
			
		||||
            // ]);
 | 
			
		||||
            $client = new Client([
 | 
			
		||||
                'verify' => false,
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            // $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
            $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
 | 
			
		||||
            // $response = $client->request('POST', 'https://app.sandbox.midtrans.com/snap/v1/transactions', [
 | 
			
		||||
            //     'body' => json_encode($params),
 | 
			
		||||
            //     'headers' => [
 | 
			
		||||
            //         'accept' => 'application/json',
 | 
			
		||||
            //         'authorization' => 'Basic ' . $auth,
 | 
			
		||||
            //         'content-type' => 'application/json',
 | 
			
		||||
            //     ],
 | 
			
		||||
            // ]);
 | 
			
		||||
            $response = $client->request('POST', 'https://app.sandbox.midtrans.com/snap/v1/transactions', [
 | 
			
		||||
                'body' => json_encode($params),
 | 
			
		||||
                'headers' => [
 | 
			
		||||
                    'accept' => 'application/json',
 | 
			
		||||
                    'authorization' => 'Basic ' . $auth,
 | 
			
		||||
                    'content-type' => 'application/json',
 | 
			
		||||
                ],
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            // $result = json_decode($response->getBody(), true);
 | 
			
		||||
            $result = json_decode($response->getBody(), true);
 | 
			
		||||
 | 
			
		||||
            // Transaction::where('id', $query->id)->update([
 | 
			
		||||
            //     'token' => $result['token'],
 | 
			
		||||
            // ]);
 | 
			
		||||
            Transaction::where('id', $query->id)->update([
 | 
			
		||||
                'token' => $result['token'],
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            $contact = Contact::where('pemilik_kontak', $pembeli)
 | 
			
		||||
                ->where('relasi_kontak', $penjual)
 | 
			
		||||
@ -207,13 +209,13 @@ class PembeliApiController extends Controller
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_transaksi' => 'finished',
 | 
			
		||||
                'status_pembayaran' => 'settlement',
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            TransactionDescription::create([
 | 
			
		||||
                'transaction_id' => $request->id,
 | 
			
		||||
                'transaction_id' => $request->input('id'),
 | 
			
		||||
                'status' => 'finished',
 | 
			
		||||
                'background' => 'bg-buyer',
 | 
			
		||||
                'user' => auth()->user()->email,
 | 
			
		||||
@ -239,7 +241,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function payTransaction(Request $request)
 | 
			
		||||
    public function payPayment(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
 | 
			
		||||
@ -250,7 +252,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                'Content-Type' => 'application/json',
 | 
			
		||||
                'Authorization' => "Basic $auth",
 | 
			
		||||
            ])
 | 
			
		||||
            ->get('https://api.sandbox.midtrans.com/v2/' . $request->id . '/status');
 | 
			
		||||
            ->get('https://api.sandbox.midtrans.com/v2/' . $request->input('id') . '/status');
 | 
			
		||||
 | 
			
		||||
        $result = json_decode($response->body(), true);
 | 
			
		||||
 | 
			
		||||
@ -263,8 +265,8 @@ class PembeliApiController extends Controller
 | 
			
		||||
                return response()->json([
 | 
			
		||||
                    'status' => false,
 | 
			
		||||
                    'message' => 'Terjadi error di server.',
 | 
			
		||||
                    'data' => $result,
 | 
			
		||||
                ]);
 | 
			
		||||
                Log::error($result);
 | 
			
		||||
            } else {
 | 
			
		||||
                if ($result['transaction_status'] == 'settlement') {
 | 
			
		||||
                    $transaction = 'success';
 | 
			
		||||
@ -278,7 +280,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                    $transaction = 'failure';
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                Transaction::where('id', $request->id)->update([
 | 
			
		||||
                Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                    'metode_pembayaran' => $result['payment_type'],
 | 
			
		||||
                    'tanggal_transaksi' => $result['transaction_time'],
 | 
			
		||||
                    'status_transaksi' => $transaction,
 | 
			
		||||
@ -289,7 +291,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
 | 
			
		||||
                if ($transaction == 'success') {
 | 
			
		||||
                    TransactionDescription::create([
 | 
			
		||||
                        'transaction_id' => $request->id,
 | 
			
		||||
                        'transaction_id' => $request->input('id'),
 | 
			
		||||
                        'status' => 'success',
 | 
			
		||||
                        'background' => 'bg-buyer',
 | 
			
		||||
                        'judul' => 'fas fa-money-bill',
 | 
			
		||||
@ -305,7 +307,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                    ]);
 | 
			
		||||
                } elseif ($transaction == 'challenge') {
 | 
			
		||||
                    TransactionDescription::create([
 | 
			
		||||
                        'transaction_id' => $request->id,
 | 
			
		||||
                        'transaction_id' => $request->input('id'),
 | 
			
		||||
                        'status' => 'challenge',
 | 
			
		||||
                        'background' => 'bg-primary',
 | 
			
		||||
                        'judul' => 'fas fa-clock',
 | 
			
		||||
@ -322,7 +324,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                    ]);
 | 
			
		||||
                } else {
 | 
			
		||||
                    TransactionDescription::create([
 | 
			
		||||
                        'transaction_id' => $request->id,
 | 
			
		||||
                        'transaction_id' => $request->input('id'),
 | 
			
		||||
                        'status' => 'failure',
 | 
			
		||||
                        'background' => 'bg-primary',
 | 
			
		||||
                        'judul' => 'fas fa-exclamation',
 | 
			
		||||
@ -364,7 +366,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                'Content-Type' => 'application/json',
 | 
			
		||||
                'Authorization' => "Basic $auth",
 | 
			
		||||
            ])
 | 
			
		||||
            ->post('https://api.sandbox.midtrans.com/v2/' . $request->id . '/cancel');
 | 
			
		||||
            ->post('https://api.sandbox.midtrans.com/v2/' . $request->input('id') . '/cancel');
 | 
			
		||||
 | 
			
		||||
        $result = json_decode($response->body(), true);
 | 
			
		||||
 | 
			
		||||
@ -372,19 +374,19 @@ class PembeliApiController extends Controller
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'status' => false,
 | 
			
		||||
                'message' => 'Transaksi gagal.',
 | 
			
		||||
                'data' => $result
 | 
			
		||||
            ]);
 | 
			
		||||
            Log::error($result);
 | 
			
		||||
        } else {
 | 
			
		||||
            try {
 | 
			
		||||
                DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
                Transaction::where('id', $request->id)->update([
 | 
			
		||||
                Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                    'status_transaksi' => 'failure',
 | 
			
		||||
                    'status_pembayaran' => 'cancel'
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
                TransactionDescription::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'status' => 'cancel',
 | 
			
		||||
                    'background' => 'bg-buyer',
 | 
			
		||||
                    'judul' => 'fas fa-exclamation',
 | 
			
		||||
@ -412,12 +414,12 @@ class PembeliApiController extends Controller
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function cancelTransaction(Request $request){
 | 
			
		||||
        $transaction = Transaction::where('id', $request->id)->first();
 | 
			
		||||
        $transaction = Transaction::where('id', $request->input('id'))->first();
 | 
			
		||||
 | 
			
		||||
        $params = [
 | 
			
		||||
            'refund_key' => $request->id . '-ref1',
 | 
			
		||||
            'refund_key' => $request->input('id') . '-ref1',
 | 
			
		||||
            'amount' => $transaction->total_bayar,
 | 
			
		||||
            'reason' => $request->complaint,
 | 
			
		||||
            'reason' => $request->input('complaint'),
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
@ -429,7 +431,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                'Content-Type' => 'application/json',
 | 
			
		||||
                'Authorization' => "Basic $auth",
 | 
			
		||||
            ])
 | 
			
		||||
            ->post('https://api.sandbox.midtrans.com/v2/' . $request->id . '/refund', $params);
 | 
			
		||||
            ->post('https://api.sandbox.midtrans.com/v2/' . $request->input('id') . '/refund', $params);
 | 
			
		||||
 | 
			
		||||
        $result = json_decode($response->body(), true);
 | 
			
		||||
        $code = $result['status_code'];
 | 
			
		||||
@ -439,26 +441,26 @@ class PembeliApiController extends Controller
 | 
			
		||||
            try {
 | 
			
		||||
                DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
                Transaction::where('id', $request->id)->update([
 | 
			
		||||
                Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                    'status_transaksi' => 'failure',
 | 
			
		||||
                    'status_pembayaran' => 'refund',
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
                Refund::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'total' => $transaction->total_bayar,
 | 
			
		||||
                    'due_date' => now(),
 | 
			
		||||
                    'status' => 'refund',
 | 
			
		||||
                    'complaint' => $request->complaint,
 | 
			
		||||
                    'complaint' => $request->input('complaint'),
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
                TransactionDescription::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'status' => 'refund',
 | 
			
		||||
                    'background' => 'bg-seller',
 | 
			
		||||
                    'user' => auth()->user()->email,
 | 
			
		||||
                    'judul' => 'fas fa-times',
 | 
			
		||||
                    'deskripsi' => 'Transaksi dibatalkan oleh ' . auth()->user()->nama_depan . '. Alasan : ' . $request->complaint,
 | 
			
		||||
                    'deskripsi' => 'Transaksi dibatalkan oleh ' . auth()->user()->nama_depan . '. Alasan : ' . $request->input('complaint'),
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
                DB::commit();
 | 
			
		||||
@ -487,7 +489,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function pendingTransaction(Request $request)
 | 
			
		||||
    public function pendingPayment(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
 | 
			
		||||
@ -498,14 +500,14 @@ class PembeliApiController extends Controller
 | 
			
		||||
                'Content-Type' => 'application/json',
 | 
			
		||||
                'Authorization' => "Basic $auth",
 | 
			
		||||
            ])
 | 
			
		||||
            ->get('https://api.sandbox.midtrans.com/v2/' . $request->id . '/status');
 | 
			
		||||
            ->get('https://api.sandbox.midtrans.com/v2/' . $request->input('id') . '/status');
 | 
			
		||||
 | 
			
		||||
        $result = json_decode($response->body(), true);
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_pembayaran' => $result['transaction_status'],
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
@ -513,7 +515,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
 | 
			
		||||
            return response()->json([
 | 
			
		||||
                'status' => true,
 | 
			
		||||
                'message' => 'Pembayaran di-pending, silahkan masuk lagi dan bayar secepat mungkin.',
 | 
			
		||||
                'message' => 'Pembayaran di-pending, silahkan lalukan pembayaran lagi.',
 | 
			
		||||
            ]);
 | 
			
		||||
        } catch (Throwable $e) {
 | 
			
		||||
            DB::rollBack();
 | 
			
		||||
@ -529,10 +531,12 @@ class PembeliApiController extends Controller
 | 
			
		||||
 | 
			
		||||
    public function complaintTransaction($id)
 | 
			
		||||
    {
 | 
			
		||||
        return view('user.refund.new-refund', compact('id'));
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'id' => $id
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function onErrorTransaction(Request $request)
 | 
			
		||||
    public function errorPayment(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
 | 
			
		||||
@ -543,20 +547,20 @@ class PembeliApiController extends Controller
 | 
			
		||||
                'Content-Type' => 'application/json',
 | 
			
		||||
                'Authorization' => "Basic $auth",
 | 
			
		||||
            ])
 | 
			
		||||
            ->get('https://api.sandbox.midtrans.com/v2/' . $request->id . '/status');
 | 
			
		||||
            ->get('https://api.sandbox.midtrans.com/v2/' . $request->input('id') . '/status');
 | 
			
		||||
 | 
			
		||||
        $result = json_decode($response->body(), true);
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_pembayaran' => $result['transaction_status'],
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            if ($result['transaction_status'] == 'expire') {
 | 
			
		||||
                TransactionDescription::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'status' => 'cancel',
 | 
			
		||||
                    'background' => 'bg-buyer',
 | 
			
		||||
                    'judul' => 'fas fa-exclamation',
 | 
			
		||||
@ -572,7 +576,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                ]);
 | 
			
		||||
            } elseif ($result['transaction'] == 'failure') {
 | 
			
		||||
                TransactionDescription::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'status' => 'failure',
 | 
			
		||||
                    'background' => 'bg-buyer',
 | 
			
		||||
                    'judul' => 'fas fa-exclamation',
 | 
			
		||||
@ -589,7 +593,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
                ]);
 | 
			
		||||
            } else {
 | 
			
		||||
                TransactionDescription::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'status' => $result['transaction_status'],
 | 
			
		||||
                    'background' => 'bg-primary',
 | 
			
		||||
                    'judul' => 'fas fa-exclamation',
 | 
			
		||||
@ -618,7 +622,7 @@ class PembeliApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function onCloseTransaction(Request $request)
 | 
			
		||||
    public function closePayment(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
 | 
			
		||||
 | 
			
		||||
@ -722,6 +726,112 @@ class PembeliApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function listPembeli(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        try{
 | 
			
		||||
            $subQuery = Transaction::join('users','transactions.penjual','=','users.email')
 | 
			
		||||
            ->where('transactions.pembeli',auth()->user()->email)
 | 
			
		||||
            ->select(
 | 
			
		||||
                'transactions.id',
 | 
			
		||||
                DB::raw("CONCAT(users.nama_depan,' ',users.nama_belakang) as nama_penjual"),
 | 
			
		||||
                'transactions.nama_barang',
 | 
			
		||||
                'transactions.total_harga',
 | 
			
		||||
                'transactions.created_at',
 | 
			
		||||
                'transactions.status_transaksi',
 | 
			
		||||
                'transactions.token'
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            if($request->has('search') && !empty($request->search['value'])){
 | 
			
		||||
                $searchPembeli = $request->search['value'];
 | 
			
		||||
                if(!is_numeric($searchPembeli)){
 | 
			
		||||
                    $subQuery->where(function($a) use ($searchPembeli){
 | 
			
		||||
                        $a->whereRaw("LOWER(CONCAT(users.nama_depan,' ',users.nama_belakang)) LIKE ?",['%'.strtolower($searchPembeli).'%'])
 | 
			
		||||
                        ->orWhereRaw('LOWER(transactions.nama_barang) LIKE ?',['%'.strtolower($searchPembeli).'%'])
 | 
			
		||||
                        ->orWhereRaw('LOWER(transactions.status_transaksi) LIKE ?',['%'.strtolower($searchPembeli).'%']);
 | 
			
		||||
                    });
 | 
			
		||||
                }else{
 | 
			
		||||
                    $subQuery->where(function($a) use ($searchPembeli){
 | 
			
		||||
                        $a->where('transactions.total_harga','=',$searchPembeli);
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $queryPembeli = Transaction::from(DB::raw("({$subQuery->toSql()}) as tmp"))
 | 
			
		||||
            ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters
 | 
			
		||||
            ->select('*')
 | 
			
		||||
            ->get();
 | 
			
		||||
 | 
			
		||||
            if ($request->ajax()) {
 | 
			
		||||
                return DataTables::of($queryPembeli)
 | 
			
		||||
                    ->addIndexColumn()
 | 
			
		||||
                    ->addColumn('action', function ($row) {
 | 
			
		||||
                        $url = route('user-transaction.show', ['id' => $row->id]);
 | 
			
		||||
                        $invoice = route('invoice.get',['id' => $row->id]);
 | 
			
		||||
                        $html_code = '
 | 
			
		||||
                        <div class="btn-group">
 | 
			
		||||
                            <button type="button" class="btn btn-primary dropdown-toggle"
 | 
			
		||||
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
 | 
			
		||||
                                ....
 | 
			
		||||
                            </button>
 | 
			
		||||
 | 
			
		||||
                            <ul class="dropdown-menu">
 | 
			
		||||
                                <li><a class="dropdown-item"
 | 
			
		||||
                                        href="'.$url.'">Detail</a>
 | 
			
		||||
                                </li>
 | 
			
		||||
                                <li><a class="dropdown-item"
 | 
			
		||||
                                        href="'.$invoice.'">Invoice</a>
 | 
			
		||||
                                </li>
 | 
			
		||||
                                <li><a class="dropdown-item" data-toggle="modal"
 | 
			
		||||
                                    data-target="#modalTracking"
 | 
			
		||||
                                    data-id="'.$row->id.'"
 | 
			
		||||
                                    href="#">Tracking</a>
 | 
			
		||||
                                </li>';
 | 
			
		||||
 | 
			
		||||
                                if($row->status_transaksi == 'created'){
 | 
			
		||||
                                    $html_code .= '
 | 
			
		||||
                                    <li><a class="dropdown-item" id="bayar"
 | 
			
		||||
                                        data-id="'.$row->id.'"
 | 
			
		||||
                                        data-token="'.$row->token.'"
 | 
			
		||||
                                        href="#">Bayar</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    <li><a href="#" data-id="'.$row->id.'"
 | 
			
		||||
                                            id="cancelPayment" class="dropdown-item">Batal Pembayaran</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    ';
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if($row->status_transaksi == 'success'){
 | 
			
		||||
                                    $html_code .= '
 | 
			
		||||
                                    <li><a href="#" data-id="'.$row->id.'"
 | 
			
		||||
                                            id="cancelTransaction" class="dropdown-item">Batal Transaksi</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    ';
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                if($row->status_transaksi == 'sent'){
 | 
			
		||||
                                    $html_code .= '
 | 
			
		||||
                                    <li><a class="dropdown-item" data-toggle="modal"
 | 
			
		||||
                                        data-target="#modalFinish"
 | 
			
		||||
                                        data-id="'.$row->id.'"
 | 
			
		||||
                                        href="#">Selesaikan</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    ';
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                        $html_code .= '
 | 
			
		||||
                            </ul>
 | 
			
		||||
                        </div>';
 | 
			
		||||
                        return $html_code;
 | 
			
		||||
                    })
 | 
			
		||||
                    ->rawColumns(['action'])
 | 
			
		||||
                    ->make(true);
 | 
			
		||||
                }
 | 
			
		||||
        }catch(Throwable $e){
 | 
			
		||||
            Log::error($e->getMessage());
 | 
			
		||||
 | 
			
		||||
            return response()->json(['success' => false, 'message' => 'Terjadi Kesalahan pada sisi server']);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -12,6 +12,7 @@ use App\Http\Controllers\Controller;
 | 
			
		||||
use Illuminate\Support\Facades\Http;
 | 
			
		||||
use App\Models\TransactionDescription;
 | 
			
		||||
use Illuminate\Support\Facades\Storage;
 | 
			
		||||
use Yajra\DataTables\Facades\DataTables;
 | 
			
		||||
 | 
			
		||||
class PenjualApiController extends Controller
 | 
			
		||||
{
 | 
			
		||||
@ -20,12 +21,12 @@ class PenjualApiController extends Controller
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_transaksi' => 'process',
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            TransactionDescription::create([
 | 
			
		||||
                'transaction_id' => $request->id,
 | 
			
		||||
                'transaction_id' => $request->input('id'),
 | 
			
		||||
                'status' => 'process',
 | 
			
		||||
                'background' => 'bg-seller',
 | 
			
		||||
                'user' => auth()->user()->email,
 | 
			
		||||
@ -51,12 +52,12 @@ class PenjualApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function denyTransaction(Request $request)
 | 
			
		||||
    public function rejectTransaction(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $transaction = Transaction::where('id', $request->id)->first();
 | 
			
		||||
        $transaction = Transaction::where('id', $request->input('id'))->first();
 | 
			
		||||
 | 
			
		||||
        $params = [
 | 
			
		||||
            'refund_key' => $request->id . '-ref1',
 | 
			
		||||
            'refund_key' => $request->input('id') . '-ref1',
 | 
			
		||||
            'amount' => $transaction->total_bayar,
 | 
			
		||||
            'reason' => $request->complaint,
 | 
			
		||||
        ];
 | 
			
		||||
@ -70,7 +71,7 @@ class PenjualApiController extends Controller
 | 
			
		||||
                'Content-Type' => 'application/json',
 | 
			
		||||
                'Authorization' => "Basic $auth",
 | 
			
		||||
            ])
 | 
			
		||||
            ->post('https://api.sandbox.midtrans.com/v2/' . $request->id . '/refund', $params);
 | 
			
		||||
            ->post('https://api.sandbox.midtrans.com/v2/' . $request->input('id') . '/refund', $params);
 | 
			
		||||
 | 
			
		||||
        $result = json_decode($response->body(), true);
 | 
			
		||||
        $code = $result['status_code'];
 | 
			
		||||
@ -80,13 +81,13 @@ class PenjualApiController extends Controller
 | 
			
		||||
            try {
 | 
			
		||||
                DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
                Transaction::where('id', $request->id)->update([
 | 
			
		||||
                Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                    'status_transaksi' => 'failure',
 | 
			
		||||
                    'status_pembayaran' => 'refund',
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
                Refund::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'total' => $transaction->total_bayar,
 | 
			
		||||
                    'due_date' => now(),
 | 
			
		||||
                    'status' => 'refund',
 | 
			
		||||
@ -94,7 +95,7 @@ class PenjualApiController extends Controller
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
                TransactionDescription::create([
 | 
			
		||||
                    'transaction_id' => $request->id,
 | 
			
		||||
                    'transaction_id' => $request->input('id'),
 | 
			
		||||
                    'status' => 'refund',
 | 
			
		||||
                    'background' => 'bg-seller',
 | 
			
		||||
                    'user' => auth()->user()->email,
 | 
			
		||||
@ -133,12 +134,12 @@ class PenjualApiController extends Controller
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_transaksi' => 'sending',
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            TransactionDescription::create([
 | 
			
		||||
                'transaction_id' => $request->id,
 | 
			
		||||
                'transaction_id' => $request->input('id'),
 | 
			
		||||
                'status' => 'sending',
 | 
			
		||||
                'background' => 'bg-seller',
 | 
			
		||||
                'user' => auth()->user()->email,
 | 
			
		||||
@ -169,7 +170,7 @@ class PenjualApiController extends Controller
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->transaction_id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_transaksi' => 'sent',
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
@ -184,7 +185,7 @@ class PenjualApiController extends Controller
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            TransactionDescription::create([
 | 
			
		||||
                'transaction_id' => $request->transaction_id,
 | 
			
		||||
                'transaction_id' => $request->input('id'),
 | 
			
		||||
                'status' => 'sent',
 | 
			
		||||
                'background' => 'bg-seller',
 | 
			
		||||
                'user' => auth()->user()->email,
 | 
			
		||||
@ -217,4 +218,125 @@ class PenjualApiController extends Controller
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function listPenjual(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        try {
 | 
			
		||||
            $subQuery = Transaction::join('users', 'transactions.pembeli', '=', 'users.email')
 | 
			
		||||
                ->where('transactions.penjual', auth()->user()->email)
 | 
			
		||||
                ->select('transactions.id', DB::raw("CONCAT(users.nama_depan,' ',users.nama_belakang) as nama_pembeli"), 'transactions.nama_barang', 'transactions.total_harga', 'transactions.created_at', 'transactions.status_transaksi');
 | 
			
		||||
 | 
			
		||||
            if ($request->has('search') && !empty($request->search['value'])) {
 | 
			
		||||
                $searchPenjual = $request->search['value'];
 | 
			
		||||
                if (!is_numeric($searchPenjual)) {
 | 
			
		||||
                    $subQuery->where(function ($a) use ($searchPenjual) {
 | 
			
		||||
                        $a->whereRaw("LOWER(CONCAT(users.nama_depan,' ',users.nama_belakang)) LIKE ?", ['%' . strtolower($searchPenjual) . '%'])
 | 
			
		||||
                            ->orWhereRaw('LOWER(transactions.nama_barang) LIKE ?', ['%' . strtolower($searchPenjual) . '%'])
 | 
			
		||||
                            ->orWhereRaw('LOWER(transactions.status_transaksi) LIKE ?', ['%' . strtolower($searchPenjual) . '%']);
 | 
			
		||||
                    });
 | 
			
		||||
                } else {
 | 
			
		||||
                    $subQuery->where(function ($a) use ($searchPenjual) {
 | 
			
		||||
                        $a->whereDay('transactions.created_at', '=', $searchPenjual)
 | 
			
		||||
                            ->orWhereMonth('transactions.created_at', '=', $searchPenjual)
 | 
			
		||||
                            ->orWhereYear('transactions.created_at', '=', $searchPenjual)
 | 
			
		||||
                            ->orWhere('transactions.total_harga', '=', $searchPenjual);
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $queryPenjual = Transaction::from(DB::raw("({$subQuery->toSql()}) as tmp"))
 | 
			
		||||
                ->mergeBindings($subQuery->getQuery()) // Menggabungkan binding parameters
 | 
			
		||||
                ->select('*')
 | 
			
		||||
                ->get();
 | 
			
		||||
 | 
			
		||||
            if ($request->ajax()) {
 | 
			
		||||
                return DataTables::of($queryPenjual)
 | 
			
		||||
                    ->addIndexColumn()
 | 
			
		||||
                    ->addColumn('action', function ($row) {
 | 
			
		||||
                        $url = route('user-transaction.show', ['id' => $row->id]);
 | 
			
		||||
                        $invoice = route('invoice.get', ['id' => $row->id]);
 | 
			
		||||
                        $html_code =
 | 
			
		||||
                            '
 | 
			
		||||
                        <div class="btn-group">
 | 
			
		||||
                            <button type="button" class="btn btn-primary dropdown-toggle"
 | 
			
		||||
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
 | 
			
		||||
                                ....
 | 
			
		||||
                            </button>
 | 
			
		||||
 | 
			
		||||
                            <ul class="dropdown-menu">
 | 
			
		||||
                                <li><a class="dropdown-item"
 | 
			
		||||
                                        href="' .
 | 
			
		||||
                            $url .
 | 
			
		||||
                            '">Detail</a>
 | 
			
		||||
                                </li>
 | 
			
		||||
                                <li><a class="dropdown-item"
 | 
			
		||||
                                        href="' .
 | 
			
		||||
                            $invoice .
 | 
			
		||||
                            '">Invoice</a>
 | 
			
		||||
                                </li>
 | 
			
		||||
                                <li><a class="dropdown-item" data-toggle="modal"
 | 
			
		||||
                                    data-target="#modalTracking"
 | 
			
		||||
                                    data-id="' .
 | 
			
		||||
                            $row->id .
 | 
			
		||||
                            '"
 | 
			
		||||
                                    href="#">Tracking</a>
 | 
			
		||||
                                </li>';
 | 
			
		||||
 | 
			
		||||
                        if ($row->status_transaksi == 'success') {
 | 
			
		||||
                            $html_code .=
 | 
			
		||||
                                '
 | 
			
		||||
                                    <li><a class="dropdown-item" id="processTransaction"
 | 
			
		||||
                                        data-id="' .
 | 
			
		||||
                                $row->id .
 | 
			
		||||
                                '"
 | 
			
		||||
                                        href="#">Proses Transaksi</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
 | 
			
		||||
                                <li><a class="dropdown-item" id="denyTransaction"
 | 
			
		||||
                                data-id="' .
 | 
			
		||||
                                $row->id .
 | 
			
		||||
                                '"
 | 
			
		||||
                                href="#">Tolak Transaksi</a>
 | 
			
		||||
                            </li>
 | 
			
		||||
                                    ';
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if ($row->status_transaksi == 'progress') {
 | 
			
		||||
                            $html_code .=
 | 
			
		||||
                                '
 | 
			
		||||
                                    <li><a class="dropdown-item" id="sendOrder"
 | 
			
		||||
                                        data-id="' .
 | 
			
		||||
                                $row->id .
 | 
			
		||||
                                '"
 | 
			
		||||
                                        href="#">Kirim barang</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    ';
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if ($row->status_transaksi == 'sent') {
 | 
			
		||||
                            $html_code .=
 | 
			
		||||
                                '
 | 
			
		||||
                                    <li><a class="dropdown-item" data-toggle="modal"
 | 
			
		||||
                                        data-target="#modalOrderSent"
 | 
			
		||||
                                        data-id="' .
 | 
			
		||||
                                $row->id .
 | 
			
		||||
                                '"
 | 
			
		||||
                                        href="#">Barang sudah sampai</a>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    ';
 | 
			
		||||
                        }
 | 
			
		||||
                        $html_code .= '
 | 
			
		||||
                            </ul>
 | 
			
		||||
                        </div>';
 | 
			
		||||
                        return $html_code;
 | 
			
		||||
                    })
 | 
			
		||||
                    ->rawColumns(['action'])
 | 
			
		||||
                    ->make(true);
 | 
			
		||||
            }
 | 
			
		||||
        } catch (Throwable $e) {
 | 
			
		||||
            Log::error($e->getMessage());
 | 
			
		||||
 | 
			
		||||
            return response()->json(['success' => false, 'message' => 'Terjadi Kesalahan pada sisi server']);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -3,9 +3,111 @@
 | 
			
		||||
namespace App\Http\Controllers\API\Profile;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Models\User;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use Illuminate\Support\Facades\DB;
 | 
			
		||||
use Illuminate\Support\Facades\Hash;
 | 
			
		||||
use Illuminate\Support\Facades\Log;
 | 
			
		||||
use Illuminate\Support\Facades\Storage;
 | 
			
		||||
use Laravolt\Indonesia\Models\City;
 | 
			
		||||
use Laravolt\Indonesia\Models\District;
 | 
			
		||||
use Laravolt\Indonesia\Models\Provinsi;
 | 
			
		||||
use Laravolt\Indonesia\Models\Village;
 | 
			
		||||
use Throwable;
 | 
			
		||||
use Tymon\JWTAuth\Facades\JWTAuth;
 | 
			
		||||
 | 
			
		||||
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'));
 | 
			
		||||
        $nohp = $request->input('nohp');
 | 
			
		||||
        $kode_kelurahan = $request->input('kelurahan');
 | 
			
		||||
        $alamat = $request->input('alamat');
 | 
			
		||||
        $nama_bank = $request->input('nama_bank');
 | 
			
		||||
        $no_rek = $request->input('no_rek');
 | 
			
		||||
        $foto_profile = '';
 | 
			
		||||
        if ($request->hasFile('foto')) {
 | 
			
		||||
            $file = $request->file('foto');
 | 
			
		||||
            $foto_profile = 'Foto_Profil_' . $nama_depan . '_' . $nama_belakang .'.'. $file->getClientOriginalExtension();
 | 
			
		||||
            $path = 'foto-profile/' . $foto_profile;
 | 
			
		||||
 | 
			
		||||
            Storage::disk('public')->put($path, file_get_contents($file));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            User::where('id', auth()->user()->id)->update([
 | 
			
		||||
                'nama_depan' => $nama_depan,
 | 
			
		||||
                'nama_belakang' => $nama_belakang,
 | 
			
		||||
                'nohp' => $nohp,
 | 
			
		||||
                'kode_kelurahan' => $kode_kelurahan,
 | 
			
		||||
                'alamat' => $alamat,
 | 
			
		||||
                'nama_bank' => $nama_bank,
 | 
			
		||||
                'no_rek' => $no_rek,
 | 
			
		||||
                'foto_profile' => $foto_profile,
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            DB::commit();
 | 
			
		||||
 | 
			
		||||
            return response()->json(['status' => true, 'message' => 'Data Profile berhasil diupdate']);
 | 
			
		||||
        } catch (Throwable $e) {
 | 
			
		||||
            DB::rollBack();
 | 
			
		||||
 | 
			
		||||
            Log::error($e->getMessage());
 | 
			
		||||
 | 
			
		||||
            return response()->json(['status' => false, 'message' => 'Terjadi Kesalahan pada sisi server']);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function updateProfilePassword(Request $request){
 | 
			
		||||
        $currentPassword = $request->input('currentPassword');
 | 
			
		||||
        $newPassword = $request->input('newPassword');
 | 
			
		||||
        $renewPassword = $request->input('renewPassword');
 | 
			
		||||
 | 
			
		||||
        if(!Hash::check($currentPassword, auth()->user()->password)){
 | 
			
		||||
            return response()->json(['status' => false, 'message' => 'Password sekarang tidak sama','password' => $currentPassword]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if($renewPassword != $newPassword){
 | 
			
		||||
            return response()->json(['status' => false, 'message' => 'Ketikan ulang password baru']);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try{
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            User::where('id', auth()->user()->id)->update([
 | 
			
		||||
                'password' => Hash::make($newPassword)
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            DB::commit();
 | 
			
		||||
 | 
			
		||||
            return response()->json(['status' => true, 'message' => 'Password Berhasil diubah']);
 | 
			
		||||
        }catch(Throwable $e){
 | 
			
		||||
            DB::rollBack();
 | 
			
		||||
 | 
			
		||||
            Log::error($e->getMessage());
 | 
			
		||||
 | 
			
		||||
            return response()->json(['status' => false, 'message' => 'Terjadi Kesalahan pada sisi server']);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -15,29 +15,29 @@ use App\Models\TransactionDescription;
 | 
			
		||||
 | 
			
		||||
class RefundApiController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function create($id)
 | 
			
		||||
    public function createRefund($id)
 | 
			
		||||
    {
 | 
			
		||||
        return view('user.refund.new-refund',['id' => $id]);
 | 
			
		||||
        return response()->json(['transaction_id' => $id]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function store(Request $request){
 | 
			
		||||
    public function storeRefund(Request $request){
 | 
			
		||||
        $now = Carbon::now();
 | 
			
		||||
        $due_date = $now->addDays(2)->toDateTimeString();
 | 
			
		||||
 | 
			
		||||
        try{
 | 
			
		||||
            DB::beginTransaction();
 | 
			
		||||
 | 
			
		||||
            $transaction = Transaction::where('id',$request->id)->first();
 | 
			
		||||
            $transaction = Transaction::where('id',$request->input('id'))->first();
 | 
			
		||||
 | 
			
		||||
            Transaction::where('id', $request->id)->update([
 | 
			
		||||
            Transaction::where('id', $request->input('id'))->update([
 | 
			
		||||
                'status_transaksi' => 'refund'
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            $refund = Refund::create([
 | 
			
		||||
                'transaction_id' => $request->id,
 | 
			
		||||
                'transaction_id' => $request->input('id'),
 | 
			
		||||
                'total' => $transaction->total_harga,
 | 
			
		||||
                'due_date' => $due_date,
 | 
			
		||||
                'complaint' => $request->complaint
 | 
			
		||||
                'complaint' => $request->input('complaint')
 | 
			
		||||
            ]);
 | 
			
		||||
 | 
			
		||||
            if ($request->hasFile('files')) {
 | 
			
		||||
@ -64,7 +64,7 @@ class RefundApiController extends Controller
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            TransactionDescription::create([
 | 
			
		||||
                'transaction_id' => $request->id,
 | 
			
		||||
                'transaction_id' => $request->input('id'),
 | 
			
		||||
                'status' => 'pending',
 | 
			
		||||
                'user' => auth()->user()->email,
 | 
			
		||||
                'judul' => 'fas fa-clock',
 | 
			
		||||
@ -87,10 +87,10 @@ class RefundApiController extends Controller
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function show($id){
 | 
			
		||||
    public function getDetailRefund($id){
 | 
			
		||||
        $refund = Refund::find($id);
 | 
			
		||||
        $refundDescription = RefundDescription::where('refund_id',$id)->get();
 | 
			
		||||
        return view('user.refund.detail-refund',[
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'refund' => $refund,
 | 
			
		||||
            'descriptions' => $refundDescription
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
@ -9,17 +9,17 @@ use App\Models\Transaction;
 | 
			
		||||
 | 
			
		||||
class TransactionApiController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function transactionTracking(Request $request){
 | 
			
		||||
        $data = TransactionDescription::where('transaction_id', $request->id)->get();
 | 
			
		||||
    public function getTrackingTransaction($id){
 | 
			
		||||
        $data = TransactionDescription::where('transaction_id', $id)->get();
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'data' => $data
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function show($id)
 | 
			
		||||
    public function getDetailTransaction($id)
 | 
			
		||||
    {
 | 
			
		||||
        return view('user.transaction.pembeli.detail-transaction', [
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'transaction' => Transaction::findOrFail($id),
 | 
			
		||||
            'trackings' => TransactionDescription::where('transaction_id', $id)
 | 
			
		||||
                ->latest()
 | 
			
		||||
 | 
			
		||||
@ -313,7 +313,7 @@ class LoginController extends Controller
 | 
			
		||||
 | 
			
		||||
    public function searchDistrict(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $data = District::where('city_code', $$request->code)
 | 
			
		||||
        $data = District::where('city_code', $request->code)
 | 
			
		||||
            ->where('name', 'LIKE', '%' . strtoupper(request('q')) . '%')
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,14 +13,14 @@ use Illuminate\Support\Facades\Hash;
 | 
			
		||||
use Illuminate\Support\Facades\Storage;
 | 
			
		||||
use Laravolt\Indonesia\Models\City;
 | 
			
		||||
use Laravolt\Indonesia\Models\District;
 | 
			
		||||
use Laravolt\Indonesia\Models\Provinsi;
 | 
			
		||||
use Laravolt\Indonesia\Models\Province;
 | 
			
		||||
use Laravolt\Indonesia\Models\Village;
 | 
			
		||||
 | 
			
		||||
class ProfileController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function index()
 | 
			
		||||
    {
 | 
			
		||||
        $provinces = Provinsi::all();
 | 
			
		||||
        $provinces = Province::all();
 | 
			
		||||
        $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();
 | 
			
		||||
 | 
			
		||||
@ -22,13 +22,23 @@ class UserContactController extends Controller
 | 
			
		||||
        return view('user.contact.index');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getContact()
 | 
			
		||||
    public function getContact(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $data = DB::table('contacts')
 | 
			
		||||
        if($request->input == '' || $request->input == null){
 | 
			
		||||
            $data = DB::table('contacts')
 | 
			
		||||
            ->join('users', 'contacts.relasi_kontak', '=', 'users.email')
 | 
			
		||||
            ->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
 | 
			
		||||
            ->where('contacts.pemilik_kontak', '=', Auth::user()->email)
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
        }else{
 | 
			
		||||
            $data = DB::table('contacts')
 | 
			
		||||
            ->join('users', 'contacts.relasi_kontak', '=', 'users.email')
 | 
			
		||||
            ->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
 | 
			
		||||
            ->where('contacts.pemilik_kontak', '=', Auth::user()->email)
 | 
			
		||||
            ->whereRaw(DB::raw("LOWER(CONCAT(users.nama_depan,' ',users.nama_belakang)) LIKE ?",['%'.strtolower($request->input).'%']))
 | 
			
		||||
            ->paginate(10);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return response()->json($data);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,7 @@ class UserRefundController extends Controller
 | 
			
		||||
 | 
			
		||||
    public function create($id)
 | 
			
		||||
    {
 | 
			
		||||
        return view('user.refund.new-refund',['id' => $id]);
 | 
			
		||||
        return view('user.refund.new-refund',['transaction_id' => $id]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function store(Request $request){
 | 
			
		||||
 | 
			
		||||
@ -110,19 +110,19 @@ class User extends Authenticatable implements JWTSubject
 | 
			
		||||
 | 
			
		||||
    //function alamat
 | 
			
		||||
    public function getVillageName(){
 | 
			
		||||
        return $this->village->name;
 | 
			
		||||
        return ucwords(strtolower($this->village->name));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getDistrictName(){
 | 
			
		||||
        return $this->village->district->name;
 | 
			
		||||
        return ucwords(strtolower($this->village->district->name));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getCityName(){
 | 
			
		||||
        return $this->village->district->city->name;
 | 
			
		||||
        return ucwords(strtolower($this->village->district->city->name));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getProvinceName(){
 | 
			
		||||
        return $this->village->district->city->province->name;
 | 
			
		||||
        return ucwords(strtolower($this->village->district->city->province->name));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function contacts()
 | 
			
		||||
 | 
			
		||||
@ -298,7 +298,7 @@
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="row">
 | 
			
		||||
            {{-- <div class="row">
 | 
			
		||||
                <div class="col-12">
 | 
			
		||||
                    <div class="card">
 | 
			
		||||
                        <div class="card-header">
 | 
			
		||||
@ -380,7 +380,7 @@
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            </div> --}}
 | 
			
		||||
        </section>
 | 
			
		||||
    </div>
 | 
			
		||||
    @include('admin.transaction.modal-tracking')
 | 
			
		||||
 | 
			
		||||
@ -47,6 +47,7 @@
 | 
			
		||||
    <script>
 | 
			
		||||
        $(document).ready(function() {
 | 
			
		||||
            let check = false;
 | 
			
		||||
            var teksArea = document.getElementById('resultArea');
 | 
			
		||||
 | 
			
		||||
            $('#modaldetail').on('show.bs.modal', function(event) {
 | 
			
		||||
                var triggerLink = $(event.relatedTarget);
 | 
			
		||||
@ -150,7 +151,7 @@
 | 
			
		||||
                            url: "{{ route('user-contact.destroy') }}",
 | 
			
		||||
                            data: {
 | 
			
		||||
                                id: dataId
 | 
			
		||||
                            }
 | 
			
		||||
                            },
 | 
			
		||||
                            type: 'DELETE',
 | 
			
		||||
                            contentType: false,
 | 
			
		||||
                            processType: false,
 | 
			
		||||
@ -207,11 +208,10 @@
 | 
			
		||||
                    url: "{{ route('user-contact.email') }}",
 | 
			
		||||
                    data: {
 | 
			
		||||
                        email: email
 | 
			
		||||
                    }
 | 
			
		||||
                    },
 | 
			
		||||
                    type: 'GET',
 | 
			
		||||
                    success: function(response) {
 | 
			
		||||
                        if (response.status) {
 | 
			
		||||
                            let status = response.message.status
 | 
			
		||||
                            Swal.fire({
 | 
			
		||||
                                title: response.status ? 'Akun ditemukan' :
 | 
			
		||||
                                    'Akun tidak ditemukan',
 | 
			
		||||
@ -239,6 +239,8 @@
 | 
			
		||||
                            }).then(function() {
 | 
			
		||||
                                Swal.close();
 | 
			
		||||
                            });
 | 
			
		||||
                            teksArea.value = '';
 | 
			
		||||
                            teksArea.style.height = 'auto';
 | 
			
		||||
                            check = false;
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
@ -251,6 +253,8 @@
 | 
			
		||||
                        }).then(function() {
 | 
			
		||||
                            Swal.close();
 | 
			
		||||
                        });
 | 
			
		||||
                        teksArea.value = '';
 | 
			
		||||
                        teksArea.style.height = 'auto';
 | 
			
		||||
                        check = false;
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
@ -280,7 +284,7 @@
 | 
			
		||||
                    });
 | 
			
		||||
 | 
			
		||||
                    $.ajax({
 | 
			
		||||
                        url: '{{ route('user-contact.store') }}',
 | 
			
		||||
                        url: "{{ route('user-contact.store') }}",
 | 
			
		||||
                        type: 'POST',
 | 
			
		||||
                        data: formData,
 | 
			
		||||
                        processData: false,
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@
 | 
			
		||||
                                        <div class="card-header d-flex justify-content-center">
 | 
			
		||||
                                            <h2>Form Refund Pesanan</h2>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <input type="hidden" name="id" value="{{ $id }}">
 | 
			
		||||
                                        <input type="hidden" name="id" value="{{ $transaction_id }}">
 | 
			
		||||
                                        <div class="card-body">
 | 
			
		||||
                                            <div class="section-title mt-0">Alasan Komplain</div>
 | 
			
		||||
                                            <div class="col-md-12">
 | 
			
		||||
 | 
			
		||||
@ -155,7 +155,8 @@
 | 
			
		||||
                                    <div class="col-md-8 col-lg-9">
 | 
			
		||||
                                        <select style="width: 100%;" name="provinsi" id="selectProvince">
 | 
			
		||||
                                            @foreach ($provinces as $province)
 | 
			
		||||
                                                <option value="{{ $province->code }}">{{ $province->name }}</option>
 | 
			
		||||
                                                <option value="{{ $province->code }}">
 | 
			
		||||
                                                    {{ ucwords(strtolower($province->name)) }}</option>
 | 
			
		||||
                                            @endforeach
 | 
			
		||||
                                        </select>
 | 
			
		||||
                                    </div>
 | 
			
		||||
@ -167,7 +168,8 @@
 | 
			
		||||
                                    <div class="col-md-8 col-lg-9">
 | 
			
		||||
                                        <select style="width: 100%;" name="kota" id="selectCity">
 | 
			
		||||
                                            @foreach ($cities as $city)
 | 
			
		||||
                                                <option value="{{ $city->code }}">{{ $city->name }}</option>
 | 
			
		||||
                                                <option value="{{ $city->code }}">
 | 
			
		||||
                                                    {{ ucwords(strtolower($city->name)) }}</option>
 | 
			
		||||
                                            @endforeach
 | 
			
		||||
                                        </select>
 | 
			
		||||
                                    </div>
 | 
			
		||||
@ -178,7 +180,8 @@
 | 
			
		||||
                                    <div class="col-md-8 col-lg-9">
 | 
			
		||||
                                        <select style="width: 100%;" name="kecamatan" id="selectDistrict">
 | 
			
		||||
                                            @foreach ($districts as $district)
 | 
			
		||||
                                                <option value="{{ $district->code }}">{{ $district->name }}</option>
 | 
			
		||||
                                                <option value="{{ $district->code }}">
 | 
			
		||||
                                                    {{ ucwords(strtolower($district->name)) }}</option>
 | 
			
		||||
                                            @endforeach
 | 
			
		||||
                                        </select>
 | 
			
		||||
                                    </div>
 | 
			
		||||
@ -189,7 +192,8 @@
 | 
			
		||||
                                    <div class="col-md-8 col-lg-9">
 | 
			
		||||
                                        <select style="width: 100%;" name="kelurahan" id="selectVillage" required>
 | 
			
		||||
                                            @foreach ($villages as $village)
 | 
			
		||||
                                                <option value="{{ $village->code }}">{{ $village->name }}</option>
 | 
			
		||||
                                                <option value="{{ $village->code }}">
 | 
			
		||||
                                                    {{ ucwords(strtolower($village->name)) }}</option>
 | 
			
		||||
                                            @endforeach
 | 
			
		||||
                                        </select>
 | 
			
		||||
                                    </div>
 | 
			
		||||
@ -205,7 +209,7 @@
 | 
			
		||||
 | 
			
		||||
                                <div class="row mb-3">
 | 
			
		||||
                                    <label for="namaBank" class="col-md-4 col-lg-3 col-form-label">Bank/e-Wallet
 | 
			
		||||
                                        Tujuan</label>
 | 
			
		||||
                                        Tujuan (Digunakan untuk pengiriman uang jika menjadi penjual)</label>
 | 
			
		||||
                                    <div class="col-md-4 col-lg-4">
 | 
			
		||||
                                        <select style="width: 100%;" name="nama_bank" id="namaBank" required>
 | 
			
		||||
                                            <option selected disabled>Silahkan Pilih Bank/e-Wallet</option>
 | 
			
		||||
@ -390,16 +394,6 @@
 | 
			
		||||
 | 
			
		||||
        $(document).ready(function() {
 | 
			
		||||
 | 
			
		||||
            var selectedVillage = "{{ Auth::user()->kode_kelurahan }}";
 | 
			
		||||
            var selectedDistrict = "{{ Auth::user()->village->district->code }}";
 | 
			
		||||
            var selectedCity = "{{ Auth::user()->village->district->city->code }}";
 | 
			
		||||
            var selectedProvince = "{{ Auth::user()->village->district->city->province->code }}";
 | 
			
		||||
 | 
			
		||||
            $("#selectProvince").val(selectedProvince).trigger('change');
 | 
			
		||||
            $("#selectCity").val(selectedCity).trigger('change');
 | 
			
		||||
            $("#selectDistrict").val(selectedDistrict).trigger('change');
 | 
			
		||||
            $("#selectVillage").val(selectedVillage).trigger('change');
 | 
			
		||||
 | 
			
		||||
            function ucwords(str) {
 | 
			
		||||
                return str.toLowerCase().replace(/\b\w/g, function(l) {
 | 
			
		||||
                    return l.toUpperCase();
 | 
			
		||||
@ -419,10 +413,10 @@
 | 
			
		||||
                let code = $("#selectProvince").val();
 | 
			
		||||
 | 
			
		||||
                // Mengosongkan pilihan di selectCity dan selectDistrict dan selectVillage
 | 
			
		||||
                $("#selectCity", "#selectDistrict", "#selectVillage").empty();
 | 
			
		||||
                $("#selectCity, #selectDistrict, #selectVillage").empty();
 | 
			
		||||
 | 
			
		||||
                // Menghapus properti 'disabled' pada selectCity dan selectDistrict dan selectVillage
 | 
			
		||||
                $("#selectCity", "#selectDistrict", "#selectVillage").prop(
 | 
			
		||||
                $("#selectCity, #selectDistrict, #selectVillage").prop(
 | 
			
		||||
                    "disable",
 | 
			
		||||
                    false
 | 
			
		||||
                );
 | 
			
		||||
@ -431,7 +425,7 @@
 | 
			
		||||
                $("#selectCity").select2({
 | 
			
		||||
                    placeholder: "Pilih Kabupaten/Kota",
 | 
			
		||||
                    ajax: {
 | 
			
		||||
                        url: "/cari-kota/",
 | 
			
		||||
                        url: "{{ route('cari-kota') }}",
 | 
			
		||||
                        data: {
 | 
			
		||||
                            code: code,
 | 
			
		||||
                        },
 | 
			
		||||
@ -456,16 +450,16 @@
 | 
			
		||||
                let code = $("#selectCity").val();
 | 
			
		||||
 | 
			
		||||
                // Mengosongkan pilihan di selectDistrict dan selectVillage
 | 
			
		||||
                $("#selectDristrict", "#selectVillage").empty();
 | 
			
		||||
                $("#selectDristrict, #selectVillage").empty();
 | 
			
		||||
 | 
			
		||||
                // Menghapus properti 'disable' pada selectDistrict dan selectVillage
 | 
			
		||||
                $("#selectDistrict", "#selectVillage").prop("disabled", false);
 | 
			
		||||
                $("#selectDistrict, #selectVillage").prop("disabled", false);
 | 
			
		||||
 | 
			
		||||
                // Memuat ulang data berdasarkan wilayah yang baru dipilih di selectCity
 | 
			
		||||
                $("#selectDistrict").select2({
 | 
			
		||||
                    placeholder: "Pilih Kecamatan",
 | 
			
		||||
                    ajax: {
 | 
			
		||||
                        url: "/cari-kecamatan/", // Isi dengan URL yang sesuai
 | 
			
		||||
                        url: "{{ route('cari-kecamatan') }}", // Isi dengan URL yang sesuai
 | 
			
		||||
                        data: {
 | 
			
		||||
                            code: code,
 | 
			
		||||
                        },
 | 
			
		||||
@ -499,7 +493,7 @@
 | 
			
		||||
                $("#selectVillage").select2({
 | 
			
		||||
                    placeholder: "Pilih Kelurahan",
 | 
			
		||||
                    ajax: {
 | 
			
		||||
                        url: "/cari-kelurahan/", // Isi dengan URL yang sesuai
 | 
			
		||||
                        url: "{{ route('cari-kelurahan') }}", // Isi dengan URL yang sesuai
 | 
			
		||||
                        data: {
 | 
			
		||||
                            code: code,
 | 
			
		||||
                        },
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										116
									
								
								routes/api.php
									
									
									
									
									
								
							
							
						
						
									
										116
									
								
								routes/api.php
									
									
									
									
									
								
							@ -2,6 +2,13 @@
 | 
			
		||||
 | 
			
		||||
use Illuminate\Support\Facades\Route;
 | 
			
		||||
use App\Http\Controllers\API\Login\LoginApiController;
 | 
			
		||||
use App\Http\Controllers\API\Refund\RefundApiController;
 | 
			
		||||
use App\Http\Controllers\API\Contact\ContactApiController;
 | 
			
		||||
use App\Http\Controllers\API\Pembeli\PembeliApiController;
 | 
			
		||||
use App\Http\Controllers\API\Penjual\PenjualApiController;
 | 
			
		||||
use App\Http\Controllers\API\Profile\ProfileApiController;
 | 
			
		||||
use App\Http\Controllers\API\Transaction\TransactionApiController;
 | 
			
		||||
use App\Http\Controllers\API\Invoice\InvoiceApiController;
 | 
			
		||||
use Illuminate\Support\Facades\Auth;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@ -19,48 +26,97 @@ use Illuminate\Support\Facades\Auth;
 | 
			
		||||
//     return $request->user();
 | 
			
		||||
// });
 | 
			
		||||
 | 
			
		||||
Route::group(
 | 
			
		||||
    [
 | 
			
		||||
        'middleware' => 'api',
 | 
			
		||||
        'prefix' => 'auth',
 | 
			
		||||
    ],
 | 
			
		||||
    function () {
 | 
			
		||||
        Route::post('login', [LoginApiController::class,'login']);
 | 
			
		||||
        Route::get('logout', [LoginApiController::class,'logout']);
 | 
			
		||||
        Route::get('refresh', [LoginApiController::class,'refresh']);
 | 
			
		||||
        Route::get('me', [LoginApiController::class,'me']);
 | 
			
		||||
        Route::post('register',[LoginApiController::class,'register']);
 | 
			
		||||
        Route::post('hai',[LoginApiController::class,'test']);
 | 
			
		||||
        Route::get('status',[LoginApiController::class,'check']);
 | 
			
		||||
    },
 | 
			
		||||
);
 | 
			
		||||
// Login
 | 
			
		||||
// Route::group(
 | 
			
		||||
//     [
 | 
			
		||||
//         'middleware' => 'api',
 | 
			
		||||
//         'prefix' => 'auth',
 | 
			
		||||
//     ],
 | 
			
		||||
//     function () {
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
//         Route::get('me', [LoginApiController::class,'me']);
 | 
			
		||||
 | 
			
		||||
Route::middleware(['auth'])->group(function(){
 | 
			
		||||
//         Route::get('status',[LoginApiController::class,'check']);
 | 
			
		||||
//     },
 | 
			
		||||
// );
 | 
			
		||||
 | 
			
		||||
    Route::prefix('profile')->group(function(){
 | 
			
		||||
        Route::controller(ProfileController::class)->group(function(){
 | 
			
		||||
Route::prefix('auth')->group(function () {
 | 
			
		||||
    Route::controller(LoginApiController::class)->group(function () {
 | 
			
		||||
        Route::post('login', 'login')->name('auth.login'); // bisa
 | 
			
		||||
        Route::post('test', 'test')->name('auth.test'); // bisa
 | 
			
		||||
        Route::post('register', 'register')->name('auth.register'); // bisa
 | 
			
		||||
        Route::get('cari-provinsi', 'searchProvince')->name('auth.cari-provinsi'); // bisa
 | 
			
		||||
        Route::get('cari-kota', 'searchCity')->name('auth.cari-kota'); // bisa
 | 
			
		||||
        Route::get('cari-kecamatan', 'searchDistrict')->name('auth.cari-kecamatan'); // bisa
 | 
			
		||||
        Route::get('cari-kelurahan', 'searchVillage')->name('auth.cari-kelurahan'); // bisa
 | 
			
		||||
        Route::post('verification-code', 'verificationCode')->name('auth.verification-code'); // bisa
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
Route::middleware(['auth:api'])->group(function () {
 | 
			
		||||
    Route::prefix('auth')->group(function () {
 | 
			
		||||
        Route::controller(LoginApiController::class)->group(function () {
 | 
			
		||||
            Route::get('logout', 'logout')->name('auth.logout'); // bisa
 | 
			
		||||
            Route::get('me', 'me')->name('auth.me'); // bisa
 | 
			
		||||
            Route::get('refresh', 'refresh')->name('auth.refresh'); // bisa
 | 
			
		||||
        }); // sudah
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    Route::middleware(['user'])->group(function(){
 | 
			
		||||
        Route::prefix('user')->group(function(){
 | 
			
		||||
            Route::controller(UserDashboardController::class)->group(function(){
 | 
			
		||||
    Route::middleware(['user'])->group(function () {
 | 
			
		||||
        Route::prefix('user')->group(function () {
 | 
			
		||||
            Route::controller(ContactApiController::class)->group(function () {
 | 
			
		||||
                Route::get('list-contact', 'listContact')->name('contact.list-contact');
 | 
			
		||||
                Route::get('check-contact', 'checkContact')->name('contact.check-contact'); // Bisa
 | 
			
		||||
                Route::get('get-list-contact', 'getListContact')->name('contact.get-list-contact'); // bisa // untuk list kontak pembeli membuat transaksi baru
 | 
			
		||||
                Route::get('detail-contact', 'detailContact')->name('contact.detail-contact'); // Bisa
 | 
			
		||||
                Route::delete('delete-contact', 'deleteContact')->name('contact.delete-contact'); // Bisa
 | 
			
		||||
                Route::post('store-contact', 'storeContact')->name('contact.store-contact'); // Bisa
 | 
			
		||||
            }); // sudah
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
            Route::controller(TransactionApiController::class)->group(function () {
 | 
			
		||||
                Route::get('get-transaction-tracking/{id}', 'getTrackingTransaction')->name('transaction.get-transaction-tracking');
 | 
			
		||||
                Route::get('get-detail-transaction/{id}', 'getDetailTransaction')->name('transaction.get-detail-transaction');
 | 
			
		||||
            }); // sudah
 | 
			
		||||
 | 
			
		||||
            Route::controller(UserContactController::class)->group(function(){
 | 
			
		||||
            Route::controller(RefundApiController::class)->group(function () {
 | 
			
		||||
                Route::get('list-refund', 'listRefund')->name('refund.list-refund');
 | 
			
		||||
                Route::get('create-refund/{id}','createRefund')->name('refund.create-refund');
 | 
			
		||||
                Route::get('detail-refund/{id}','getDetailRefund')->name('refund.get-detail-refund');
 | 
			
		||||
                Route::post('store-refund', 'storeRefund')->name('refund.store-refund');
 | 
			
		||||
            }); // sudah
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
            Route::controller(PembeliApiController::class)->group(function () {
 | 
			
		||||
                Route::get('list-pembeli', 'listPembeli')->name('pembeli.list-pembeli');
 | 
			
		||||
                Route::get('create-transaction', 'createTransaction')->name('pembeli.create-transaction');
 | 
			
		||||
                Route::post('store-transaction', 'storeTransaction')->name('pembeli.store-transaction');
 | 
			
		||||
                Route::post('pay-payment', 'payPayment')->name('pembeli.pay-payment');
 | 
			
		||||
                Route::post('cancel-payment', 'cancelPayment')->name('pembeli.cancel-payment');
 | 
			
		||||
                Route::post('pending-payment', 'pendingPayment')->name('pembeli.pending-payment');
 | 
			
		||||
                Route::post('error-payment', 'errorPayment')->name('pembeli.error-paymennt');
 | 
			
		||||
                Route::post('close-payment', 'closePayment')->name('pembeli.close-payment');
 | 
			
		||||
                Route::post('finish-transaction', 'finishTransaction')->name('pembeli.finish-transaction');
 | 
			
		||||
                Route::post('cancel-transaction', 'cancelTransaction')->name('pembeli.cancel-transaction');
 | 
			
		||||
            }); // sudah
 | 
			
		||||
 | 
			
		||||
            Route::controller(UserTransactionController::class)->group(function(){
 | 
			
		||||
            Route::controller(PenjualApiController::class)->group(function () {
 | 
			
		||||
                Route::get('list-penjual', 'listPenjual')->name('penjual.list-penjual');
 | 
			
		||||
                Route::post('accept-transaction', 'acceptTransaction')->name('penjual.accept-transaction');
 | 
			
		||||
                Route::post('reject-transaction', 'rejectTransaction')->name('penjual.reject-transaction');
 | 
			
		||||
                Route::post('sending-order', 'sendingOrder')->name('penjual.sending-order');
 | 
			
		||||
                Route::post('sent-order', 'sentOrder')->name('penjual.sent-order');
 | 
			
		||||
            }); // sudah
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
            Route::controller(ProfileApiController::class)->group(function () {
 | 
			
		||||
                Route::get('get-profile', 'getProfile')->name('profile.get-profile');
 | 
			
		||||
                Route::post('update-profile', 'updateProfile')->name('profile.update-profile');
 | 
			
		||||
                Route::post('update-profile-password', 'updateProfilePassword')->name('profile.update-profile-password');
 | 
			
		||||
            }); // sudah
 | 
			
		||||
 | 
			
		||||
            Route::controller(UserRefundController::class)->group(function(){
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
            Route::controller(InvoiceApiController::class)->group(function () {
 | 
			
		||||
                Route::get('get-invoice/{id}', 'getInvoice')->name('invoice.get-invoice');
 | 
			
		||||
                Route::get('export-invoice/{id}', 'exportInvoice')->name('invoice.export-invoice');
 | 
			
		||||
            }); // sudah
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,4 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
use App\Models\Refunds;
 | 
			
		||||
use App\Models\Transactions;
 | 
			
		||||
use Illuminate\Support\Facades\Route;
 | 
			
		||||
 | 
			
		||||
//Admin
 | 
			
		||||
@ -45,26 +42,6 @@ Route::get('/', function () {
 | 
			
		||||
    );
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Route::get('/detail_transaction', function () {
 | 
			
		||||
    return view('admin/transaction/detail-transaction',[
 | 
			
		||||
        'name'=>'Jilhn Haura',
 | 
			
		||||
        'detail_transaction' => Transactions::allDetailTransactions()
 | 
			
		||||
    ]);
 | 
			
		||||
})->name('transaction.detail');
 | 
			
		||||
 | 
			
		||||
Route::get('/detail_refund',function() {
 | 
			
		||||
    return view('admin/refund/detail-refund',[
 | 
			
		||||
        'name'=>'Jilhan Haura',
 | 
			
		||||
        "detail_refund"=> Refunds::DetailRefund()
 | 
			
		||||
    ]);
 | 
			
		||||
})->name('refund.detail');
 | 
			
		||||
Route::get('/next_detail_refund',function() {
 | 
			
		||||
    return view('admin/refund/next-detail-refund',[
 | 
			
		||||
        'name'=>"Jilhan Haura"
 | 
			
		||||
    ]);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
//Index
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -165,7 +142,7 @@ Route::middleware(['auth'])->group(function(){
 | 
			
		||||
                Route::get('user-contact/list-contact','listContact')->name('user-contact.list-contact');
 | 
			
		||||
                Route::post('user-contact','store')->name('user-contact.store');
 | 
			
		||||
                Route::delete('user-contact/delete','destroy')->name('user-contact.destroy');
 | 
			
		||||
                Route::get('user-contact/get-user-contact','getContact')->name('user-contact.get');
 | 
			
		||||
                Route::get('user-contact/get-user-contact','getContact')->name('user-contact.get'); // select2
 | 
			
		||||
                Route::get('user-contact/cek-contact','cekEmail')->name('user-contact.email');
 | 
			
		||||
                Route::get('user-contact/detailContact','detailContact')->name('user-contact.detail-contact');
 | 
			
		||||
            });
 | 
			
		||||
@ -189,7 +166,6 @@ Route::middleware(['auth'])->group(function(){
 | 
			
		||||
                Route::put('user-pembeli/transaksi-error','onErrorTransaction')->name('user-pembeli.error');
 | 
			
		||||
                Route::put('user-pembeli/transaksi-close','onCloseTransaction')->name('user-pembeli.close');
 | 
			
		||||
                Route::put('user-pembeli/transaksi-selesai','finishTransaction')->name('user-pembeli.finish');
 | 
			
		||||
                Route::put('user-pembeli/transaksi-komplain/{id}','complaintTransaction')->name('user-pembeli.complain');
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            // Penjual
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user