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 Illuminate\Support\Facades\Log;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Tymon\JWTAuth\Facades\JWTAuth;
|
||||||
|
use Yajra\DataTables\Facades\DataTables;
|
||||||
|
|
||||||
class ContactApiController extends Controller
|
class ContactApiController extends Controller
|
||||||
{
|
{
|
||||||
public function getContact()
|
public function getListContact(Request $request)
|
||||||
{
|
{
|
||||||
|
// $token = JWTAuth::getToken();
|
||||||
|
// $user = JWTAuth::user($token);
|
||||||
|
|
||||||
$data = DB::table('contacts')
|
$data = DB::table('contacts')
|
||||||
->join('users', 'contacts.relasi_kontak', '=', 'users.email')
|
->join('users', 'contacts.relasi_kontak', '=', 'users.email')
|
||||||
->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
|
->select('contacts.relasi_kontak', DB::raw("CONCAT(users.nama_depan, ' ', users.nama_belakang) as nama_lengkap") )
|
||||||
->where('contacts.pemilik_kontak', '=', Auth::user()->email)
|
->where('contacts.pemilik_kontak', '=', auth()->user()->email)
|
||||||
|
->whereRaw("LOWER(CONCAT(users.nama_depan, ' ', users.nama_belakang)) LIKE ?", ['%' . strtolower($request->input('search')) . '%'])
|
||||||
->paginate(10);
|
->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) {
|
if ($email_relasi == Auth::user()->email) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => false,
|
'status' => false,
|
||||||
@ -45,9 +54,8 @@ class ContactApiController extends Controller
|
|||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'message' => 'Kontak berhasil ditambahkan.'
|
'message' => 'Kontak berhasil ditambahkan.',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
|
|
||||||
@ -60,12 +68,12 @@ class ContactApiController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy(Request $request)
|
public function deleteContact(Request $request)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Contact::destroy($request->id);
|
Contact::destroy($request->input('id'));
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
@ -73,7 +81,6 @@ class ContactApiController extends Controller
|
|||||||
'message' => 'Berhasil hapus data',
|
'message' => 'Berhasil hapus data',
|
||||||
'status' => true,
|
'status' => true,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
DB::rollBack();
|
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')
|
->where('role', 'User')
|
||||||
->first();
|
->first();
|
||||||
if ($result) {
|
if ($result) {
|
||||||
@ -100,37 +107,76 @@ class ContactApiController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => false,
|
'status' => false,
|
||||||
'message' => 'Akun dengen email ' . $request->email . ' tersedia dan belum diverifikasi',
|
'message' => 'Akun dengen email ' . $request->input('email') . ' tersedia dan belum diverifikasi',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => false,
|
'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){
|
public function detailContact(Request $request)
|
||||||
|
{
|
||||||
$data = Contact::join('users', 'contacts.relasi_kontak', '=', 'users.email')
|
$data = Contact::join('users', 'contacts.relasi_kontak', '=', 'users.email')
|
||||||
->join('indonesia_villages', 'users.kode_kelurahan', '=', 'indonesia_villages.code')
|
->join('indonesia_villages', 'users.kode_kelurahan', '=', 'indonesia_villages.code')
|
||||||
->join('indonesia_districts', 'indonesia_villages.district_code', '=', 'indonesia_districts.code')
|
->join('indonesia_districts', 'indonesia_villages.district_code', '=', 'indonesia_districts.code')
|
||||||
->join('indonesia_cities', 'indonesia_districts.city_code', '=', 'indonesia_cities.code')
|
->join('indonesia_cities', 'indonesia_districts.city_code', '=', 'indonesia_cities.code')
|
||||||
->join('indonesia_provinces', 'indonesia_cities.province_code', '=', 'indonesia_provinces.code')
|
->join('indonesia_provinces', 'indonesia_cities.province_code', '=', 'indonesia_provinces.code')
|
||||||
->where('contacts.id',$request->id)
|
->where('contacts.id', $request->input('id'))
|
||||||
->select(
|
->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')
|
||||||
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();
|
->first();
|
||||||
return response()->json([
|
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;
|
namespace App\Http\Controllers\API\Login;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Mail\verificationMail;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Tymon\JWTAuth\Facades\JWTFactory;
|
use Tymon\JWTAuth\Facades\JWTFactory;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
@ -11,8 +12,13 @@ use Carbon\Carbon;
|
|||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Support\Str;
|
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;
|
use Tymon\JWTAuth\Facades\JWTAuth;
|
||||||
|
|
||||||
class LoginApiController extends Controller
|
class LoginApiController extends Controller
|
||||||
@ -22,42 +28,14 @@ class LoginApiController extends Controller
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->middleware('auth:api', ['except' => ['login', 'register', 'hai']]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a JWT via given credentials.
|
* Get a JWT via given credentials.
|
||||||
*
|
*
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @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']);
|
$credentials = request(['email', 'password']);
|
||||||
|
|
||||||
if (!($token = Auth::guard('api')->attempt($credentials))) {
|
if (!($token = Auth::guard('api')->attempt($credentials))) {
|
||||||
@ -82,7 +60,7 @@ class LoginApiController extends Controller
|
|||||||
{
|
{
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Hello from API',
|
'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 App\Http\Controllers\Controller;
|
||||||
use Illuminate\Support\Facades\Http;
|
use Illuminate\Support\Facades\Http;
|
||||||
use App\Models\TransactionDescription;
|
use App\Models\TransactionDescription;
|
||||||
|
use Yajra\DataTables\Facades\DataTables;
|
||||||
|
|
||||||
class PembeliApiController extends Controller
|
class PembeliApiController extends Controller
|
||||||
{
|
{
|
||||||
public function create()
|
public function createTransaction()
|
||||||
{
|
{
|
||||||
$now = Carbon::now();
|
$now = Carbon::now();
|
||||||
$bulan = $now->format('F');
|
$bulan = $now->format('F');
|
||||||
@ -33,20 +34,21 @@ class PembeliApiController extends Controller
|
|||||||
->latest()
|
->latest()
|
||||||
->value('persentase');
|
->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;
|
$pembeli = auth()->user()->email;
|
||||||
$penjual = $request->email_penjual;
|
$penjual = $request->input('email_penjual');
|
||||||
$nama_barang = $request->nama_barang;
|
$nama_barang = $request->input('nama_barang');
|
||||||
$satuan_barang = $request->satuan_barang;
|
$satuan_barang = $request->input('satuan_barang');
|
||||||
$deskripsi_transaksi = $request->deskripsi;
|
$deskripsi_transaksi = $request->input('deskripsi');
|
||||||
$harga_barang = $request->harga_barang;
|
$harga_barang = $request->input('harga_barang');
|
||||||
$jumlah_barang = $request->jumlah_barang;
|
$jumlah_barang = $request->input('jumlah_barang');
|
||||||
|
|
||||||
$nama_depan_pembeli = auth()->user()->nama_depan;
|
$nama_depan_pembeli = auth()->user()->nama_depan;
|
||||||
$nama_belakang_pembeli = auth()->user()->nama_belakang;
|
$nama_belakang_pembeli = auth()->user()->nama_belakang;
|
||||||
@ -66,11 +68,11 @@ class PembeliApiController extends Controller
|
|||||||
|
|
||||||
$now = Carbon::now();
|
$now = Carbon::now();
|
||||||
|
|
||||||
$persentase_keuntungan = $request->persentase_keuntungan;
|
$persentase_keuntungan = $request->input('persentase_keuntungan');
|
||||||
|
|
||||||
$total_harga = $request->total_harga;
|
$total_harga = $request->input('total_harga');
|
||||||
$total_keuntungan = $request->total_keuntungan;
|
$total_keuntungan = $request->input('total_keuntungan');
|
||||||
$total_bayar = $request->total_bayar;
|
$total_bayar = $request->input('total_bayar');
|
||||||
|
|
||||||
$batas_pembayaran = $now->addDays(1)->toTimeString();
|
$batas_pembayaran = $now->addDays(1)->toTimeString();
|
||||||
$batas_konfirmasi_transaksi = $now->addDays(2)->toDateTimeString();
|
$batas_konfirmasi_transaksi = $now->addDays(2)->toDateTimeString();
|
||||||
@ -143,26 +145,26 @@ class PembeliApiController extends Controller
|
|||||||
'enabled_payments' => ['credit_card', 'shopeepay', 'gopay', 'other_qris'],
|
'enabled_payments' => ['credit_card', 'shopeepay', 'gopay', 'other_qris'],
|
||||||
];
|
];
|
||||||
|
|
||||||
// $client = new Client([
|
$client = new Client([
|
||||||
// 'verify' => false,
|
'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', [
|
$response = $client->request('POST', 'https://app.sandbox.midtrans.com/snap/v1/transactions', [
|
||||||
// 'body' => json_encode($params),
|
'body' => json_encode($params),
|
||||||
// 'headers' => [
|
'headers' => [
|
||||||
// 'accept' => 'application/json',
|
'accept' => 'application/json',
|
||||||
// 'authorization' => 'Basic ' . $auth,
|
'authorization' => 'Basic ' . $auth,
|
||||||
// 'content-type' => 'application/json',
|
'content-type' => 'application/json',
|
||||||
// ],
|
],
|
||||||
// ]);
|
]);
|
||||||
|
|
||||||
// $result = json_decode($response->getBody(), true);
|
$result = json_decode($response->getBody(), true);
|
||||||
|
|
||||||
// Transaction::where('id', $query->id)->update([
|
Transaction::where('id', $query->id)->update([
|
||||||
// 'token' => $result['token'],
|
'token' => $result['token'],
|
||||||
// ]);
|
]);
|
||||||
|
|
||||||
$contact = Contact::where('pemilik_kontak', $pembeli)
|
$contact = Contact::where('pemilik_kontak', $pembeli)
|
||||||
->where('relasi_kontak', $penjual)
|
->where('relasi_kontak', $penjual)
|
||||||
@ -207,13 +209,13 @@ class PembeliApiController extends Controller
|
|||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'finished',
|
'status_transaksi' => 'finished',
|
||||||
'status_pembayaran' => 'settlement',
|
'status_pembayaran' => 'settlement',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'finished',
|
'status' => 'finished',
|
||||||
'background' => 'bg-buyer',
|
'background' => 'bg-buyer',
|
||||||
'user' => auth()->user()->email,
|
'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'));
|
$auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
|
||||||
|
|
||||||
@ -250,7 +252,7 @@ class PembeliApiController extends Controller
|
|||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Authorization' => "Basic $auth",
|
'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);
|
$result = json_decode($response->body(), true);
|
||||||
|
|
||||||
@ -263,8 +265,8 @@ class PembeliApiController extends Controller
|
|||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => false,
|
'status' => false,
|
||||||
'message' => 'Terjadi error di server.',
|
'message' => 'Terjadi error di server.',
|
||||||
'data' => $result,
|
|
||||||
]);
|
]);
|
||||||
|
Log::error($result);
|
||||||
} else {
|
} else {
|
||||||
if ($result['transaction_status'] == 'settlement') {
|
if ($result['transaction_status'] == 'settlement') {
|
||||||
$transaction = 'success';
|
$transaction = 'success';
|
||||||
@ -278,7 +280,7 @@ class PembeliApiController extends Controller
|
|||||||
$transaction = 'failure';
|
$transaction = 'failure';
|
||||||
}
|
}
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'metode_pembayaran' => $result['payment_type'],
|
'metode_pembayaran' => $result['payment_type'],
|
||||||
'tanggal_transaksi' => $result['transaction_time'],
|
'tanggal_transaksi' => $result['transaction_time'],
|
||||||
'status_transaksi' => $transaction,
|
'status_transaksi' => $transaction,
|
||||||
@ -289,7 +291,7 @@ class PembeliApiController extends Controller
|
|||||||
|
|
||||||
if ($transaction == 'success') {
|
if ($transaction == 'success') {
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'success',
|
'status' => 'success',
|
||||||
'background' => 'bg-buyer',
|
'background' => 'bg-buyer',
|
||||||
'judul' => 'fas fa-money-bill',
|
'judul' => 'fas fa-money-bill',
|
||||||
@ -305,7 +307,7 @@ class PembeliApiController extends Controller
|
|||||||
]);
|
]);
|
||||||
} elseif ($transaction == 'challenge') {
|
} elseif ($transaction == 'challenge') {
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'challenge',
|
'status' => 'challenge',
|
||||||
'background' => 'bg-primary',
|
'background' => 'bg-primary',
|
||||||
'judul' => 'fas fa-clock',
|
'judul' => 'fas fa-clock',
|
||||||
@ -322,7 +324,7 @@ class PembeliApiController extends Controller
|
|||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'failure',
|
'status' => 'failure',
|
||||||
'background' => 'bg-primary',
|
'background' => 'bg-primary',
|
||||||
'judul' => 'fas fa-exclamation',
|
'judul' => 'fas fa-exclamation',
|
||||||
@ -364,7 +366,7 @@ class PembeliApiController extends Controller
|
|||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Authorization' => "Basic $auth",
|
'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);
|
$result = json_decode($response->body(), true);
|
||||||
|
|
||||||
@ -372,19 +374,19 @@ class PembeliApiController extends Controller
|
|||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => false,
|
'status' => false,
|
||||||
'message' => 'Transaksi gagal.',
|
'message' => 'Transaksi gagal.',
|
||||||
'data' => $result
|
|
||||||
]);
|
]);
|
||||||
|
Log::error($result);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'failure',
|
'status_transaksi' => 'failure',
|
||||||
'status_pembayaran' => 'cancel'
|
'status_pembayaran' => 'cancel'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'cancel',
|
'status' => 'cancel',
|
||||||
'background' => 'bg-buyer',
|
'background' => 'bg-buyer',
|
||||||
'judul' => 'fas fa-exclamation',
|
'judul' => 'fas fa-exclamation',
|
||||||
@ -412,12 +414,12 @@ class PembeliApiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function cancelTransaction(Request $request){
|
public function cancelTransaction(Request $request){
|
||||||
$transaction = Transaction::where('id', $request->id)->first();
|
$transaction = Transaction::where('id', $request->input('id'))->first();
|
||||||
|
|
||||||
$params = [
|
$params = [
|
||||||
'refund_key' => $request->id . '-ref1',
|
'refund_key' => $request->input('id') . '-ref1',
|
||||||
'amount' => $transaction->total_bayar,
|
'amount' => $transaction->total_bayar,
|
||||||
'reason' => $request->complaint,
|
'reason' => $request->input('complaint'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
|
$auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
|
||||||
@ -429,7 +431,7 @@ class PembeliApiController extends Controller
|
|||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Authorization' => "Basic $auth",
|
'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);
|
$result = json_decode($response->body(), true);
|
||||||
$code = $result['status_code'];
|
$code = $result['status_code'];
|
||||||
@ -439,26 +441,26 @@ class PembeliApiController extends Controller
|
|||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'failure',
|
'status_transaksi' => 'failure',
|
||||||
'status_pembayaran' => 'refund',
|
'status_pembayaran' => 'refund',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Refund::create([
|
Refund::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'total' => $transaction->total_bayar,
|
'total' => $transaction->total_bayar,
|
||||||
'due_date' => now(),
|
'due_date' => now(),
|
||||||
'status' => 'refund',
|
'status' => 'refund',
|
||||||
'complaint' => $request->complaint,
|
'complaint' => $request->input('complaint'),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'refund',
|
'status' => 'refund',
|
||||||
'background' => 'bg-seller',
|
'background' => 'bg-seller',
|
||||||
'user' => auth()->user()->email,
|
'user' => auth()->user()->email,
|
||||||
'judul' => 'fas fa-times',
|
'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();
|
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'));
|
$auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
|
||||||
|
|
||||||
@ -498,14 +500,14 @@ class PembeliApiController extends Controller
|
|||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Authorization' => "Basic $auth",
|
'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);
|
$result = json_decode($response->body(), true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_pembayaran' => $result['transaction_status'],
|
'status_pembayaran' => $result['transaction_status'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -513,7 +515,7 @@ class PembeliApiController extends Controller
|
|||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'message' => 'Pembayaran di-pending, silahkan masuk lagi dan bayar secepat mungkin.',
|
'message' => 'Pembayaran di-pending, silahkan lalukan pembayaran lagi.',
|
||||||
]);
|
]);
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
DB::rollBack();
|
DB::rollBack();
|
||||||
@ -529,10 +531,12 @@ class PembeliApiController extends Controller
|
|||||||
|
|
||||||
public function complaintTransaction($id)
|
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'));
|
$auth = base64_encode(env('MIDTRANS_SERVER_KEY'));
|
||||||
|
|
||||||
@ -543,20 +547,20 @@ class PembeliApiController extends Controller
|
|||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Authorization' => "Basic $auth",
|
'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);
|
$result = json_decode($response->body(), true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_pembayaran' => $result['transaction_status'],
|
'status_pembayaran' => $result['transaction_status'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($result['transaction_status'] == 'expire') {
|
if ($result['transaction_status'] == 'expire') {
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'cancel',
|
'status' => 'cancel',
|
||||||
'background' => 'bg-buyer',
|
'background' => 'bg-buyer',
|
||||||
'judul' => 'fas fa-exclamation',
|
'judul' => 'fas fa-exclamation',
|
||||||
@ -572,7 +576,7 @@ class PembeliApiController extends Controller
|
|||||||
]);
|
]);
|
||||||
} elseif ($result['transaction'] == 'failure') {
|
} elseif ($result['transaction'] == 'failure') {
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'failure',
|
'status' => 'failure',
|
||||||
'background' => 'bg-buyer',
|
'background' => 'bg-buyer',
|
||||||
'judul' => 'fas fa-exclamation',
|
'judul' => 'fas fa-exclamation',
|
||||||
@ -589,7 +593,7 @@ class PembeliApiController extends Controller
|
|||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => $result['transaction_status'],
|
'status' => $result['transaction_status'],
|
||||||
'background' => 'bg-primary',
|
'background' => 'bg-primary',
|
||||||
'judul' => 'fas fa-exclamation',
|
'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'));
|
$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 Illuminate\Support\Facades\Http;
|
||||||
use App\Models\TransactionDescription;
|
use App\Models\TransactionDescription;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Yajra\DataTables\Facades\DataTables;
|
||||||
|
|
||||||
class PenjualApiController extends Controller
|
class PenjualApiController extends Controller
|
||||||
{
|
{
|
||||||
@ -20,12 +21,12 @@ class PenjualApiController extends Controller
|
|||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'process',
|
'status_transaksi' => 'process',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'process',
|
'status' => 'process',
|
||||||
'background' => 'bg-seller',
|
'background' => 'bg-seller',
|
||||||
'user' => auth()->user()->email,
|
'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 = [
|
$params = [
|
||||||
'refund_key' => $request->id . '-ref1',
|
'refund_key' => $request->input('id') . '-ref1',
|
||||||
'amount' => $transaction->total_bayar,
|
'amount' => $transaction->total_bayar,
|
||||||
'reason' => $request->complaint,
|
'reason' => $request->complaint,
|
||||||
];
|
];
|
||||||
@ -70,7 +71,7 @@ class PenjualApiController extends Controller
|
|||||||
'Content-Type' => 'application/json',
|
'Content-Type' => 'application/json',
|
||||||
'Authorization' => "Basic $auth",
|
'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);
|
$result = json_decode($response->body(), true);
|
||||||
$code = $result['status_code'];
|
$code = $result['status_code'];
|
||||||
@ -80,13 +81,13 @@ class PenjualApiController extends Controller
|
|||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'failure',
|
'status_transaksi' => 'failure',
|
||||||
'status_pembayaran' => 'refund',
|
'status_pembayaran' => 'refund',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Refund::create([
|
Refund::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'total' => $transaction->total_bayar,
|
'total' => $transaction->total_bayar,
|
||||||
'due_date' => now(),
|
'due_date' => now(),
|
||||||
'status' => 'refund',
|
'status' => 'refund',
|
||||||
@ -94,7 +95,7 @@ class PenjualApiController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'refund',
|
'status' => 'refund',
|
||||||
'background' => 'bg-seller',
|
'background' => 'bg-seller',
|
||||||
'user' => auth()->user()->email,
|
'user' => auth()->user()->email,
|
||||||
@ -133,12 +134,12 @@ class PenjualApiController extends Controller
|
|||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'sending',
|
'status_transaksi' => 'sending',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'sending',
|
'status' => 'sending',
|
||||||
'background' => 'bg-seller',
|
'background' => 'bg-seller',
|
||||||
'user' => auth()->user()->email,
|
'user' => auth()->user()->email,
|
||||||
@ -169,7 +170,7 @@ class PenjualApiController extends Controller
|
|||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
Transaction::where('id', $request->transaction_id)->update([
|
Transaction::where('id', $request->input('id'))->update([
|
||||||
'status_transaksi' => 'sent',
|
'status_transaksi' => 'sent',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -184,7 +185,7 @@ class PenjualApiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->transaction_id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'sent',
|
'status' => 'sent',
|
||||||
'background' => 'bg-seller',
|
'background' => 'bg-seller',
|
||||||
'user' => auth()->user()->email,
|
'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;
|
namespace App\Http\Controllers\API\Profile;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\User;
|
||||||
use Illuminate\Http\Request;
|
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
|
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
|
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();
|
$now = Carbon::now();
|
||||||
$due_date = $now->addDays(2)->toDateTimeString();
|
$due_date = $now->addDays(2)->toDateTimeString();
|
||||||
|
|
||||||
try{
|
try{
|
||||||
DB::beginTransaction();
|
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'
|
'status_transaksi' => 'refund'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$refund = Refund::create([
|
$refund = Refund::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'total' => $transaction->total_harga,
|
'total' => $transaction->total_harga,
|
||||||
'due_date' => $due_date,
|
'due_date' => $due_date,
|
||||||
'complaint' => $request->complaint
|
'complaint' => $request->input('complaint')
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($request->hasFile('files')) {
|
if ($request->hasFile('files')) {
|
||||||
@ -64,7 +64,7 @@ class RefundApiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
TransactionDescription::create([
|
TransactionDescription::create([
|
||||||
'transaction_id' => $request->id,
|
'transaction_id' => $request->input('id'),
|
||||||
'status' => 'pending',
|
'status' => 'pending',
|
||||||
'user' => auth()->user()->email,
|
'user' => auth()->user()->email,
|
||||||
'judul' => 'fas fa-clock',
|
'judul' => 'fas fa-clock',
|
||||||
@ -87,10 +87,10 @@ class RefundApiController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id){
|
public function getDetailRefund($id){
|
||||||
$refund = Refund::find($id);
|
$refund = Refund::find($id);
|
||||||
$refundDescription = RefundDescription::where('refund_id',$id)->get();
|
$refundDescription = RefundDescription::where('refund_id',$id)->get();
|
||||||
return view('user.refund.detail-refund',[
|
return response()->json([
|
||||||
'refund' => $refund,
|
'refund' => $refund,
|
||||||
'descriptions' => $refundDescription
|
'descriptions' => $refundDescription
|
||||||
]);
|
]);
|
||||||
|
@ -9,17 +9,17 @@ use App\Models\Transaction;
|
|||||||
|
|
||||||
class TransactionApiController extends Controller
|
class TransactionApiController extends Controller
|
||||||
{
|
{
|
||||||
public function transactionTracking(Request $request){
|
public function getTrackingTransaction($id){
|
||||||
$data = TransactionDescription::where('transaction_id', $request->id)->get();
|
$data = TransactionDescription::where('transaction_id', $id)->get();
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'data' => $data
|
'data' => $data
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function getDetailTransaction($id)
|
||||||
{
|
{
|
||||||
return view('user.transaction.pembeli.detail-transaction', [
|
return response()->json([
|
||||||
'transaction' => Transaction::findOrFail($id),
|
'transaction' => Transaction::findOrFail($id),
|
||||||
'trackings' => TransactionDescription::where('transaction_id', $id)
|
'trackings' => TransactionDescription::where('transaction_id', $id)
|
||||||
->latest()
|
->latest()
|
||||||
|
@ -313,7 +313,7 @@ class LoginController extends Controller
|
|||||||
|
|
||||||
public function searchDistrict(Request $request)
|
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')) . '%')
|
->where('name', 'LIKE', '%' . strtoupper(request('q')) . '%')
|
||||||
->paginate(10);
|
->paginate(10);
|
||||||
|
|
||||||
|
@ -13,14 +13,14 @@ use Illuminate\Support\Facades\Hash;
|
|||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Laravolt\Indonesia\Models\City;
|
use Laravolt\Indonesia\Models\City;
|
||||||
use Laravolt\Indonesia\Models\District;
|
use Laravolt\Indonesia\Models\District;
|
||||||
use Laravolt\Indonesia\Models\Provinsi;
|
use Laravolt\Indonesia\Models\Province;
|
||||||
use Laravolt\Indonesia\Models\Village;
|
use Laravolt\Indonesia\Models\Village;
|
||||||
|
|
||||||
class ProfileController extends Controller
|
class ProfileController extends Controller
|
||||||
{
|
{
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$provinces = Provinsi::all();
|
$provinces = Province::all();
|
||||||
$cities = City::where('province_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();
|
$districts = District::where('city_code', auth()->user()->village->district->city->code)->get();
|
||||||
$villages = Village::where('district_code', auth()->user()->village->district->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');
|
return view('user.contact.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getContact()
|
public function getContact(Request $request)
|
||||||
{
|
{
|
||||||
|
if($request->input == '' || $request->input == null){
|
||||||
$data = DB::table('contacts')
|
$data = DB::table('contacts')
|
||||||
->join('users', 'contacts.relasi_kontak', '=', 'users.email')
|
->join('users', 'contacts.relasi_kontak', '=', 'users.email')
|
||||||
->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
|
->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang')
|
||||||
->where('contacts.pemilik_kontak', '=', Auth::user()->email)
|
->where('contacts.pemilik_kontak', '=', Auth::user()->email)
|
||||||
->paginate(10);
|
->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);
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ class UserRefundController extends Controller
|
|||||||
|
|
||||||
public function create($id)
|
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){
|
public function store(Request $request){
|
||||||
|
@ -110,19 +110,19 @@ class User extends Authenticatable implements JWTSubject
|
|||||||
|
|
||||||
//function alamat
|
//function alamat
|
||||||
public function getVillageName(){
|
public function getVillageName(){
|
||||||
return $this->village->name;
|
return ucwords(strtolower($this->village->name));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDistrictName(){
|
public function getDistrictName(){
|
||||||
return $this->village->district->name;
|
return ucwords(strtolower($this->village->district->name));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCityName(){
|
public function getCityName(){
|
||||||
return $this->village->district->city->name;
|
return ucwords(strtolower($this->village->district->city->name));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getProvinceName(){
|
public function getProvinceName(){
|
||||||
return $this->village->district->city->province->name;
|
return ucwords(strtolower($this->village->district->city->province->name));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function contacts()
|
public function contacts()
|
||||||
|
@ -298,7 +298,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
{{-- <div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
@ -380,7 +380,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> --}}
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
@include('admin.transaction.modal-tracking')
|
@include('admin.transaction.modal-tracking')
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
let check = false;
|
let check = false;
|
||||||
|
var teksArea = document.getElementById('resultArea');
|
||||||
|
|
||||||
$('#modaldetail').on('show.bs.modal', function(event) {
|
$('#modaldetail').on('show.bs.modal', function(event) {
|
||||||
var triggerLink = $(event.relatedTarget);
|
var triggerLink = $(event.relatedTarget);
|
||||||
@ -150,7 +151,7 @@
|
|||||||
url: "{{ route('user-contact.destroy') }}",
|
url: "{{ route('user-contact.destroy') }}",
|
||||||
data: {
|
data: {
|
||||||
id: dataId
|
id: dataId
|
||||||
}
|
},
|
||||||
type: 'DELETE',
|
type: 'DELETE',
|
||||||
contentType: false,
|
contentType: false,
|
||||||
processType: false,
|
processType: false,
|
||||||
@ -207,11 +208,10 @@
|
|||||||
url: "{{ route('user-contact.email') }}",
|
url: "{{ route('user-contact.email') }}",
|
||||||
data: {
|
data: {
|
||||||
email: email
|
email: email
|
||||||
}
|
},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
if (response.status) {
|
if (response.status) {
|
||||||
let status = response.message.status
|
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
title: response.status ? 'Akun ditemukan' :
|
title: response.status ? 'Akun ditemukan' :
|
||||||
'Akun tidak ditemukan',
|
'Akun tidak ditemukan',
|
||||||
@ -239,6 +239,8 @@
|
|||||||
}).then(function() {
|
}).then(function() {
|
||||||
Swal.close();
|
Swal.close();
|
||||||
});
|
});
|
||||||
|
teksArea.value = '';
|
||||||
|
teksArea.style.height = 'auto';
|
||||||
check = false;
|
check = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -251,6 +253,8 @@
|
|||||||
}).then(function() {
|
}).then(function() {
|
||||||
Swal.close();
|
Swal.close();
|
||||||
});
|
});
|
||||||
|
teksArea.value = '';
|
||||||
|
teksArea.style.height = 'auto';
|
||||||
check = false;
|
check = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -280,7 +284,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '{{ route('user-contact.store') }}',
|
url: "{{ route('user-contact.store') }}",
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
data: formData,
|
data: formData,
|
||||||
processData: false,
|
processData: false,
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<div class="card-header d-flex justify-content-center">
|
<div class="card-header d-flex justify-content-center">
|
||||||
<h2>Form Refund Pesanan</h2>
|
<h2>Form Refund Pesanan</h2>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="id" value="{{ $id }}">
|
<input type="hidden" name="id" value="{{ $transaction_id }}">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="section-title mt-0">Alasan Komplain</div>
|
<div class="section-title mt-0">Alasan Komplain</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
@ -155,7 +155,8 @@
|
|||||||
<div class="col-md-8 col-lg-9">
|
<div class="col-md-8 col-lg-9">
|
||||||
<select style="width: 100%;" name="provinsi" id="selectProvince">
|
<select style="width: 100%;" name="provinsi" id="selectProvince">
|
||||||
@foreach ($provinces as $province)
|
@foreach ($provinces as $province)
|
||||||
<option value="{{ $province->code }}">{{ $province->name }}</option>
|
<option value="{{ $province->code }}">
|
||||||
|
{{ ucwords(strtolower($province->name)) }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -167,7 +168,8 @@
|
|||||||
<div class="col-md-8 col-lg-9">
|
<div class="col-md-8 col-lg-9">
|
||||||
<select style="width: 100%;" name="kota" id="selectCity">
|
<select style="width: 100%;" name="kota" id="selectCity">
|
||||||
@foreach ($cities as $city)
|
@foreach ($cities as $city)
|
||||||
<option value="{{ $city->code }}">{{ $city->name }}</option>
|
<option value="{{ $city->code }}">
|
||||||
|
{{ ucwords(strtolower($city->name)) }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -178,7 +180,8 @@
|
|||||||
<div class="col-md-8 col-lg-9">
|
<div class="col-md-8 col-lg-9">
|
||||||
<select style="width: 100%;" name="kecamatan" id="selectDistrict">
|
<select style="width: 100%;" name="kecamatan" id="selectDistrict">
|
||||||
@foreach ($districts as $district)
|
@foreach ($districts as $district)
|
||||||
<option value="{{ $district->code }}">{{ $district->name }}</option>
|
<option value="{{ $district->code }}">
|
||||||
|
{{ ucwords(strtolower($district->name)) }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -189,7 +192,8 @@
|
|||||||
<div class="col-md-8 col-lg-9">
|
<div class="col-md-8 col-lg-9">
|
||||||
<select style="width: 100%;" name="kelurahan" id="selectVillage" required>
|
<select style="width: 100%;" name="kelurahan" id="selectVillage" required>
|
||||||
@foreach ($villages as $village)
|
@foreach ($villages as $village)
|
||||||
<option value="{{ $village->code }}">{{ $village->name }}</option>
|
<option value="{{ $village->code }}">
|
||||||
|
{{ ucwords(strtolower($village->name)) }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -205,7 +209,7 @@
|
|||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="namaBank" class="col-md-4 col-lg-3 col-form-label">Bank/e-Wallet
|
<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">
|
<div class="col-md-4 col-lg-4">
|
||||||
<select style="width: 100%;" name="nama_bank" id="namaBank" required>
|
<select style="width: 100%;" name="nama_bank" id="namaBank" required>
|
||||||
<option selected disabled>Silahkan Pilih Bank/e-Wallet</option>
|
<option selected disabled>Silahkan Pilih Bank/e-Wallet</option>
|
||||||
@ -390,16 +394,6 @@
|
|||||||
|
|
||||||
$(document).ready(function() {
|
$(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) {
|
function ucwords(str) {
|
||||||
return str.toLowerCase().replace(/\b\w/g, function(l) {
|
return str.toLowerCase().replace(/\b\w/g, function(l) {
|
||||||
return l.toUpperCase();
|
return l.toUpperCase();
|
||||||
@ -419,10 +413,10 @@
|
|||||||
let code = $("#selectProvince").val();
|
let code = $("#selectProvince").val();
|
||||||
|
|
||||||
// Mengosongkan pilihan di selectCity dan selectDistrict dan selectVillage
|
// 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
|
// Menghapus properti 'disabled' pada selectCity dan selectDistrict dan selectVillage
|
||||||
$("#selectCity", "#selectDistrict", "#selectVillage").prop(
|
$("#selectCity, #selectDistrict, #selectVillage").prop(
|
||||||
"disable",
|
"disable",
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
@ -431,7 +425,7 @@
|
|||||||
$("#selectCity").select2({
|
$("#selectCity").select2({
|
||||||
placeholder: "Pilih Kabupaten/Kota",
|
placeholder: "Pilih Kabupaten/Kota",
|
||||||
ajax: {
|
ajax: {
|
||||||
url: "/cari-kota/",
|
url: "{{ route('cari-kota') }}",
|
||||||
data: {
|
data: {
|
||||||
code: code,
|
code: code,
|
||||||
},
|
},
|
||||||
@ -456,16 +450,16 @@
|
|||||||
let code = $("#selectCity").val();
|
let code = $("#selectCity").val();
|
||||||
|
|
||||||
// Mengosongkan pilihan di selectDistrict dan selectVillage
|
// Mengosongkan pilihan di selectDistrict dan selectVillage
|
||||||
$("#selectDristrict", "#selectVillage").empty();
|
$("#selectDristrict, #selectVillage").empty();
|
||||||
|
|
||||||
// Menghapus properti 'disable' pada selectDistrict dan selectVillage
|
// 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
|
// Memuat ulang data berdasarkan wilayah yang baru dipilih di selectCity
|
||||||
$("#selectDistrict").select2({
|
$("#selectDistrict").select2({
|
||||||
placeholder: "Pilih Kecamatan",
|
placeholder: "Pilih Kecamatan",
|
||||||
ajax: {
|
ajax: {
|
||||||
url: "/cari-kecamatan/", // Isi dengan URL yang sesuai
|
url: "{{ route('cari-kecamatan') }}", // Isi dengan URL yang sesuai
|
||||||
data: {
|
data: {
|
||||||
code: code,
|
code: code,
|
||||||
},
|
},
|
||||||
@ -499,7 +493,7 @@
|
|||||||
$("#selectVillage").select2({
|
$("#selectVillage").select2({
|
||||||
placeholder: "Pilih Kelurahan",
|
placeholder: "Pilih Kelurahan",
|
||||||
ajax: {
|
ajax: {
|
||||||
url: "/cari-kelurahan/", // Isi dengan URL yang sesuai
|
url: "{{ route('cari-kelurahan') }}", // Isi dengan URL yang sesuai
|
||||||
data: {
|
data: {
|
||||||
code: code,
|
code: code,
|
||||||
},
|
},
|
||||||
|
112
routes/api.php
112
routes/api.php
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use App\Http\Controllers\API\Login\LoginApiController;
|
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;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -19,48 +26,97 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
// return $request->user();
|
// return $request->user();
|
||||||
// });
|
// });
|
||||||
|
|
||||||
Route::group(
|
// Login
|
||||||
[
|
// Route::group(
|
||||||
'middleware' => 'api',
|
// [
|
||||||
'prefix' => 'auth',
|
// 'middleware' => 'api',
|
||||||
],
|
// 'prefix' => 'auth',
|
||||||
function () {
|
// ],
|
||||||
Route::post('login', [LoginApiController::class,'login']);
|
// function () {
|
||||||
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']);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// 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::middleware(['user'])->group(function () {
|
||||||
Route::prefix('user')->group(function () {
|
Route::prefix('user')->group(function () {
|
||||||
Route::controller(UserDashboardController::class)->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::controller(UserRefundController::class)->group(function(){
|
Route::post('update-profile', 'updateProfile')->name('profile.update-profile');
|
||||||
|
Route::post('update-profile-password', 'updateProfilePassword')->name('profile.update-profile-password');
|
||||||
|
}); // sudah
|
||||||
|
|
||||||
});
|
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
|
<?php
|
||||||
|
|
||||||
use App\Models\Refunds;
|
|
||||||
use App\Models\Transactions;
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
//Admin
|
//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
|
//Index
|
||||||
|
|
||||||
|
|
||||||
@ -165,7 +142,7 @@ Route::middleware(['auth'])->group(function(){
|
|||||||
Route::get('user-contact/list-contact','listContact')->name('user-contact.list-contact');
|
Route::get('user-contact/list-contact','listContact')->name('user-contact.list-contact');
|
||||||
Route::post('user-contact','store')->name('user-contact.store');
|
Route::post('user-contact','store')->name('user-contact.store');
|
||||||
Route::delete('user-contact/delete','destroy')->name('user-contact.destroy');
|
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/cek-contact','cekEmail')->name('user-contact.email');
|
||||||
Route::get('user-contact/detailContact','detailContact')->name('user-contact.detail-contact');
|
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-error','onErrorTransaction')->name('user-pembeli.error');
|
||||||
Route::put('user-pembeli/transaksi-close','onCloseTransaction')->name('user-pembeli.close');
|
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-selesai','finishTransaction')->name('user-pembeli.finish');
|
||||||
Route::put('user-pembeli/transaksi-komplain/{id}','complaintTransaction')->name('user-pembeli.complain');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Penjual
|
// Penjual
|
||||||
|
Loading…
Reference in New Issue
Block a user