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'
|
||||
)
|
||||
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)
|
||||
{
|
||||
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::prefix('profile')->group(function(){
|
||||
Route::controller(ProfileController::class)->group(function(){
|
||||
// Route::get('status',[LoginApiController::class,'check']);
|
||||
// },
|
||||
// );
|
||||
|
||||
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