/** * заполнение таблицы кошельков */ private function cardsTable() { Card::truncate(); $data = [['user_id' => 1, 'title' => 'Visa', 'balance' => ''], ['user_id' => 2, 'title' => 'Master Card', 'balance' => ''], ['user_id' => 3, 'title' => 'Qiwi', 'balance' => '']]; foreach ($data as $v) { Card::create($v); } // заполнение значений главной карты $users = User::all(); foreach ($users as $u) { $u->main_card = Card::where('user_id', $u->id)->first()->id; $u->save(); } }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $quantities = Request::get('quantity'); $products = Request::get('id_product'); $hash_card = Request::get('hash_card'); $user = Auth::user(); $user_type = $user->user_type; if ($user_type == 'COMPANY') { // o bar fez o pedido $user_card = Card::where('hash_card', '=', $hash_card)->get(); foreach ($user_card as $row) { $id_user = $row['id_user']; } $id_company = $user->id_company; } else { // o usuário fez o pedido $id_user = $user->id_user; $id_company = Session::get('id_company'); } $total_products = count($products); for ($i = 0; $i < $total_products; $i++) { // faz um loop em todos os produtos e cria uma matriz com produto e quantidade if ($quantities[$i] > 0) { // se o produto tem quantidade maior do que zero, insere na matriz $id_product = $products[$i]; $quantity = $quantities[$i]; $product = Product::find($id_product); // localiza o produto inserido $product_price = $product->price; // localiza o preço do produto em questão $order_data[] = ['id_user' => $id_user, 'id_company' => $id_company, 'id_product' => $id_product, 'quantity' => $quantity, 'product_price' => $product_price, 'hash_card' => $hash_card]; } } Order::insert($order_data); // cria a ordem return redirect('pedidos?add&card=' . $hash_card); }
/** * Get all of the cards for a given user * * @param User $user * @return Collection */ public function forUser(User $user) { return Card::where('user_id', $user->id)->orderBy('created_at', 'asc')->get(); }
public function ajax_card(Request $request) { if (Request::ajax()) { $card_id = $request->all(); $data = Card::where('id', $card_id)->first(); dd($data); } }
/** * Display the specified resource. * * @param int $number * @param Request $request * * @return Response */ public function show($number, Request $request) { $card = Card::where('number', $number)->firstOrFail(); return $this->respond(fractal()->item($card, new CardTransformer())->parseIncludes($request->input('include', []))->toArray()); }
/** * Update the specified resource in storage. * перевод с одной карты на другую * * PUT /{id} * @param \Illuminate\Http\Request $request * @param int $id id получателя * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $input = $request->only('money', 'card_id', 'from_card_id', 'comment'); $input['from_user_id'] = $from_user_id = $this->user->id; $input['user_id'] = $id; $c = User::find($id); $input['card_id'] = $c ? $c->main_card : ($c = Card::where('user_id', $id)->first() ? $c->id : 0); $names = ['from_user_id' => '"отправитель"', 'from_card_id' => '"карта отправителя"', 'user_id' => '"получатель"', 'card_id' => '"карта получателя"', 'money' => '"сумма"', 'comment' => '"комментарий"']; // проверка того что карта пренадлежит отправителю \Validator::extend('card_owner', function ($attribute, $value, $parameters) use($from_user_id) { return Card::where('user_id', $from_user_id)->where('id', $value)->count() > 0; }); // проверка того что у отправителя достаточно средств на карте \Validator::extend('card_max', function ($attribute, $value, $parameters) use($from_user_id) { $cnt = Card::where('user_id', $from_user_id)->where('id', $value)->max('balance'); return !empty($cnt) && $cnt > $parameters[0]; }); $validator = \Validator::make($input, ['user_id' => 'required|exists:users,id', 'card_id' => 'required|exists:cards,id', 'money' => 'required|numeric|min:1', 'from_card_id' => 'required|different:card_id|exists:cards,id|card_owner|card_max:' . $input['money']])->setAttributeNames($names); if ($validator->fails()) { return ['success' => false, 'content' => implode("\n", $validator->messages()->all())]; } // проверка пройдена // баланс для получателя в случае успеха $to_balance = Card::where('id', $input['card_id'])->first()->balance + $input['money']; // баланс отправителя в случае успеха $from_balance = Card::where('id', $input['from_card_id'])->first()->balance - $input['money']; try { // проводим транзакцию \DB::transaction(function () use($input, $to_balance, $from_balance) { \DB::table('cards')->where('id', $input['card_id'])->update(['balance' => $to_balance]); \DB::table('cards')->where('id', $input['from_card_id'])->update(['balance' => $from_balance]); $toUser = \DB::table('users')->where('id', $input['user_id'])->first(); // инфа для отправителя \DB::table('transactions')->insert(['user_id' => $input['from_user_id'], 'card_id' => $input['from_card_id'], 'to_id' => $input['user_id'], 'money' => $from_balance, 'created_at' => date("Y-m-d H:i:s"), 'updated_at' => date("Y-m-d H:i:s"), 'comment' => 'Переведено ' . $input['money'] . 'р. пользователю ' . $toUser->name . ' [' . $toUser->id . ']']); // инфа для получателя \DB::table('transactions')->insert(['user_id' => $input['user_id'], 'card_id' => $input['card_id'], 'from_id' => $input['from_user_id'], 'money' => $to_balance, 'created_at' => date("Y-m-d H:i:s"), 'updated_at' => date("Y-m-d H:i:s"), 'comment' => 'Переведено ' . $input['money'] . 'р. от пользователя ' . $this->user->name . ' [' . $this->user->id . ']']); }); return ['success' => true, 'content' => 'Операция выполнена успешно']; } catch (Exception $e) { return ['success' => false, 'content' => 'Не удалось провести транзакцию ' . $e->getMessage()]; } }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { if ($this->card_authorizer($id)) { Card::where('card_num', $id)->delete(); } else { return response($content = json_encode(array('Error' => 'You have no right to do this')), $status = 401); } }
public function getCardById($value) { return Card::where('Id_tarjeta', $value)->get(); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $card = Card::where('card_id', $id); $objEvoTargetCard = null; $objMaterial1Card = null; $objMaterial2Card = null; $objMaterial3Card = null; $objMaterial4Card = null; if ($card->evo_id != 0) { $objEvoTargetCard = Card::find($card->evo_id); if ($card->material_id1 > 0) { $objMaterial1Card = Card::find($card->material_id1); } if ($card->material_id2 > 0) { $objMaterial2Card = Card::find($card->material_id2); } if ($card->material_id3 > 0) { $objMaterial3Card = Card::find($card->material_id3); } if ($card->material_id4 > 0) { $objMaterial4Card = Card::find($card->material_id4); } } return view('admin.card.show')->withCard($card)->withSkill(Skill::where('skill_id', $card->skill_id))->withLskill(Lskill::where('lskill_id', $card->lskill_id))->withAttr(Attr::where('attr', $card->attr1))->withType1(Type1::where('type1', $card->type1))->withType2(Type2::where('type2', $card->type2))->withAbility1(Ability::where('ability_id', $card->ability1))->withAbility2(Ability::where('ability_id', $card->ability2))->withAbility3(Ability::where('ability_id', $card->ability3))->withEvoTargetCard($objEvoTargetCard)->withMaterial1Card($objMaterial1Card)->withMaterial2Card($objMaterial2Card)->withMaterial3Card($objMaterial3Card)->withMaterial4Card($objMaterial4Card)->withCards(Card::where('skill_id', $card->skill_id)); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // $card = Card::find($id); if (!$card) { // 无对应卡片数据 } $skill = null; if ($card->skill_id != 0) { $skill = Skill::where("skill_id", $card->skill_id)->first(); } $lskill = null; if ($card->lskill_id != 0) { $lskill = Lskill::where("lskill_id", $card->lskill_id)->first(); } $objEvoTargetCard = null; $objMaterial1Card = null; $objMaterial2Card = null; $objMaterial3Card = null; $objMaterial4Card = null; if ($card->evo_id != 0) { $objEvoTargetCard = Card::where("card_id", $card->evo_id)->first(); if ($card->material_id1 > 0) { $objMaterial1Card = Card::where("card_id", $card->material_id1)->first(); } if ($card->material_id2 > 0) { $objMaterial2Card = Card::where("card_id", $card->material_id2)->first(); } if ($card->material_id3 > 0) { $objMaterial3Card = Card::where("card_id", $card->material_id3)->first(); } if ($card->material_id4 > 0) { $objMaterial4Card = Card::where("card_id", $card->material_id4)->first(); } } return view('card.show')->withCard($card)->withSkill($skill)->withLskill($lskill)->withTitle($card->name_jp)->withAbilities(Ability::all())->withType1s(Type1::all())->withType2s(Type2::all())->withEvoTargetCard($objEvoTargetCard)->withMaterial1Card($objMaterial1Card)->withMaterial2Card($objMaterial2Card)->withMaterial3Card($objMaterial3Card)->withMaterial4Card($objMaterial4Card)->withAttrs(Attr::all()); }