@walkerstech

Не правильный подсчет laravel?

Здравствуйте, вот собственно код:
public function continueTransfer(Request $request)
    {
        if($request->session()->has('checkCode') && $request->session()->get('checkCode')=='success')
            $request->session()->forget('checkCode');
        if(!$request->session()->has('typeTransfer') || !$request->session()->has('whomTransfer') || !$request->session()->has('moneyTransfer'))
            return redirect()->route('dashboard')
                ->with('message-success', 'Ошибка перевода, попробуйте еще раз');
        $settings = Settings::all();
        foreach ($settings as $setting) {
            $ref_percent = $setting->ref_percent;
        }
        //dd($ref_percent);
        $data['type']=$request->session()->get('typeTransfer');
        $data['whom']=$request->session()->get('whomTransfer');
        $data['money']=$request->session()->get('moneyTransfer');
        $user=Auth::user();
        $data['who']=$user->id;
        if($data['type']=='sop')
        {
            $whomuser = User::where('telephone', $data['whom'])->first();
            $user->money=$user->money-$data['money'];
            $whomuser->money=$whomuser->money+$data['money'];
            if($user->save() && $whomuser->save())
            {
                if ($user->group== '3') {
                    $referal = $whomuser->ref_id;
                    $money=[
                        'money'=> ($data['money']/100*$ref_percent) + $whomuser->money,
                    ];

                    $updateref = User::where('id', $referal)->first();
                    $updateref->update($money);
                    $data1 = array();
                    $data1['ref_id'] = $referal;
                    $userid = User::where('telephone', $data['whom'])->first();
                    $data1['user_id'] = $userid->id;
                    $data1['money'] = $data['money']/100*$ref_percent;
                    Partner::create($data1);
                }
                $data['status']='1';
                MoneyTransfer::create($data);
                return redirect()->route('dashboard')
                    ->with('message-success', 'Перевод успешно произведен');
            }
            return redirect()->route('dashboard')
                ->withErrors('Ошибка перевода');

        }
        else {
            $data['status']='2';
            $user->money=$user->money-$data['money'];
            if($user->save())
            {
                $result=MoneyTransfer::create($data);
                if($result)
                    return redirect()->route('dashboard')
                        ->with('message-success', 'Запрос на вывод средств сформирован');
            }
        }
    }

Проблема заключаются в $money, по логике вещей. Допустим ref_percent = 10, при отправке суммы перевода 100 рублей, он должен начислить 10% пользователю, который его пригласил. Но считает по другому. Начальный баланс был равен нулю. А после выполнения скрипта равен 4135.
436906ffa0.jpg
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
@walkerstech Автор вопроса
$money=[
                        'money'=> ($data['money']/100*$ref_percent) + $whomuser->money,
                    ];

                    $updateref = User::where('id', $referal)->first();
                    $updateref->update($money);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы