Ejemplo n.º 1
0
 public function getAcThuongdatmoc($server_id, $gift_id)
 {
     $user = session('user');
     $server_key = 'server' . $server_id;
     $server = session($server_key);
     $gift = QuaDatMoc::findOrfail($gift_id);
     $account = new GAccount();
     $account->setConnection($server->user_db);
     $account = $account->findOrfail(session('account')->acct_id);
     $oldPoint = $account->point;
     if ($oldPoint >= $gift->point) {
         $giftBox = new GiftBox();
         $giftBox->setConnection($server->user_db);
         $giftBox->acct_id = session('account')->acct_id;
         $giftBox->item_id = $gift->item_id;
         $giftBox->itemtype = 0;
         $giftBox->quantity = 1;
         $giftBox->serialNo = 0;
         try {
             $update = $giftBox->save();
         } catch (\Exception $e) {
             return redirect()->back()->with('error', 'Thao tác xảy ra lỗi');
         }
         if ($update) {
             try {
                 $newPoint = $oldPoint - $gift->point;
                 $account->point = $newPoint;
                 $account->save();
                 Session::forget('account');
                 Session::put('account', $account);
                 return redirect()->back()->with('message', 'Nhận quà thành công!');
             } catch (\Exception $e) {
                 return redirect()->back()->with('error', 'Thao tác xảy ra lỗi');
             }
         }
     } else {
         return redirect()->back()->with('error', 'Không đủ điểm tích lũy');
     }
 }