Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function update(Request $request, Transaction $transaction)
- {
- $request->validate([
- 'status' => 'required',
- ]);
- \DB::beginTransaction();
- $transaction->update($request->all());
- if ($transaction->status == 'TERIMA') {
- $point = $this->rangePoint($transaction->total_harga);
- $coin = $this->rangeCoin($transaction->total_harga);
- if($transaction->user->point){
- $transaction->user->point->update([
- 'point'=>$transaction->user->point->point + $point,
- ]);
- } else {
- $transaction->user->point()->create([
- 'point'=>$point
- ]);
- }
- if ($transaction->user->coin) {
- $transaction->user->coin->update([
- 'coin'=>$transaction->user->coin->coin + $coin,
- ]);
- } else {
- $transaction->user->coin()->create([
- 'coin'=>$coin,
- ]);
- }
- HistoryCoin::create([
- 'user_id' =>$transaction->user->id,
- 'transaction_id'=>$transaction->id,
- 'type'=>'TRANSAKSI',
- 'status'=>'income',
- 'coin'=> $coin,
- ]);
- HistoryPoint::create([
- 'user_id' => $transaction->user->id,
- 'transaction_id' => $transaction->id,
- 'type' => 'TRANSAKSI',
- 'status' => 'income',
- 'point' => $point,
- ]);
- $this->notif($transaction->user->fcm, 'Transaksi anda telah diterima dan selesai');
- } else {
- if ($transaction->status != 'BATAL') {
- if (($transaction->status == 'PROSES_KIRIM') && empty($transaction->resi)) return response()->json(['errors' => ['status' => ['Resi harus diupdate']]], 422);
- $this->notif($transaction->user->fcm, 'Transaksi anda sedang dalam ' . str_replace('_', ' ', $request->status) . ($transaction->status == 'PROSES_KIRIM' ? (' dengan Resi ' . $transaction->resi) : ''));
- }
- if ($transaction->status == 'BATAL') {
- $this->notif($transaction->user->fcm, 'Transaksi anda dibatalkan');
- foreach ($transaction->details as $key => $value) {
- $value->product->update([
- 'stock' => $value->product->stock + $value->total_item
- ]);
- }
- }
- }
- \DB::commit();
- return response()->json(['success' => 'Data ' . $transaction->kode_trx . ' berhasil diupdate status ' . $transaction->status ]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement