/** * Run the database seeds. * * @return void */ public function run() { factory(App\Project::class, 20)->create()->each(function ($project) { $max = rand(5, 10); for ($i = 0; $i < $max; $i++) { $project->goal()->save(factory(App\Goal::class)->make()); } $max = rand(5, 10); for ($i = 0; $i < $max; $i++) { $project->reward()->save(factory(App\Reward::class)->make()); } $max = rand(5, 20); for ($i = 0; $i < $max; $i++) { $project->payment()->save(factory(App\Payment::class)->make()); } $max = rand(5, 20); for ($i = 0; $i < $max; $i++) { $project->comment()->save(factory(App\Comment::class)->make(['type' => 1])); } $max = rand(5, 20); for ($i = 0; $i < $max; $i++) { $project->updates()->save(factory(App\Content::class)->make(['type' => 3])); } }); $payments = App\Payment::where('value', 0)->get(); foreach ($payments as $p) { $project = App\Project::find($p->project_id); $reward = $project->reward()->orderBy(DB::raw('RAND()'))->take(1)->first(); $p->value = $reward->value; $p->reward_id = $reward->id; $p->save(); } $comments = App\Comment::where('type', 1)->where('reply_id', 1)->get(); foreach ($comments as $c) { $parents = App\Comment::where('type', 1)->where('item_id', $c->item_id)->orderByRaw("RAND()")->first(); if ($parents) { $c->reply_id = $parents->id; $c->save(); } } }
Route::post('/coupon/create', 'CouponController@store'); Route::get('/coupon/{id}/delete', 'CouponController@delete'); Route::post('/coupon/{id}/edit', 'CouponController@edit'); Route::post('/coupon/apply', 'CouponController@apply'); /** * Cart Routes */ Route::get('/cart', 'CartController@index'); Route::get('/cart/shipping', 'CartController@shipping'); Route::post('/cart/shipping', 'CartController@storeShippingInformation'); Route::post('/cart/payment', 'CartController@payment'); Route::get('/cart/clear', 'CartController@clear'); Route::post('/cart/edit/{product_id}', 'CartController@edit'); Route::get('/cart/remove/{product_id}', 'CartController@remove'); Route::get('/cart/add/{product_id}', 'CartController@add'); /** * Paypal Routes */ Route::get('/payment/paypal', 'PaypalController@postPayment'); Route::get('payment/status', array('as' => 'payment.status', 'uses' => 'PaypalController@getPaymentStatus')); /** * Categories Routes */ Route::get('/category/{id}/delete', 'CategoryController@delete'); Route::get('/category/{id}/show', 'CategoryController@show'); Route::post('/category/create', 'CategoryController@store'); Route::post('/category/{id}/edit', 'CategoryController@edit'); Route::get('/payment', function () { $publishable_key = App\Payment::first()->stripe_publishable_key; return view('payment', compact("publishable_key")); });
/** * @author: lmkhang - skype * @date: 2016-02-02 * create info for payment */ public function createPaymentInfo($user) { $rs = ['info' => '', 'full_name_info' => '', 'payment_method' => '']; //get payment user $payment_user_get = new \App\Payment(); $user_payment = $payment_user_get->getPaymentInfomation($user->user_id); if ($user_payment) { $payment_type = config('constant.payment_method'); $payment_method = $user_payment['payment_method']; $type_info = $payment_type[$payment_method]; $info = ''; $full_name_info = ''; if ($user_payment['payment_method'] == 1) { //Bank $info .= $type_info . "<br/>"; $info .= "Bank Name: " . $user_payment['bank_name'] . "<br/>"; $info .= "Bank ID: " . $user_payment['id_number_bank'] . "<br/>"; $info .= "Full Name: " . $user_payment['first_name'] . ' ' . $user_payment['last_name'] . ' ' . $user_payment['mid_name'] . "<br/>"; $info .= "Phone: " . $user_payment['phone'] . "<br/>"; $info .= "Address: " . $user_payment['address'] . "<br/>"; $info .= 'Ward: ' . $user_payment['ward'] . "<br/>"; $info .= 'District: ' . $user_payment['district'] . "<br/>"; $info .= 'City/Province: ' . $user_payment['city'] . "<br/>"; $info .= "Contact_email: " . $user_payment['contact_email'] . "<br/>"; $full_name_info = $user_payment['first_name'] . ' ' . $user_payment['last_name'] . ' ' . $user_payment['mid_name']; } else { if ($user_payment['payment_method'] == 2) { //Paypal $info .= "Paypal<br/>"; $info .= $user_payment['paypal_email']; $full_name_info = $user->full_name ? $user->full_name : $user->first_name . ' ' . $user->last_name; } } $rs = ['info' => $info, 'full_name_info' => $full_name_info, 'payment_method' => $payment_method]; } return $rs; }
/** * @author: lmkhang - skype * @date: 2016-01-18 * Change payment (bank or paypal) */ public function payment_change(Request $request) { //Check Status if ($this->_stop) { return Redirect::intended(url($this->_redirectTo)); } //Get STATE of PAYMENT $payment_state = \App\Config::where(['prefix' => 'payment', 'name' => 'lock', 'del_flg' => 1])->get()[0]['value']; if ($payment_state == 1) { //Locked $this->setFlash('message', 'Cannot edit your payment while paying. This feature is locked temporarily.'); return redirect()->back(); } //Post $post = $request->all(); $payment = $post['payment']; //Trim $payment = $this->trim_all($payment); //get method $payment_method = config('constant.payment_method'); $method = $payment['method']; $arr_check = []; //Bank if ($method == 1) { $arr_check = ['bank' => 'required', 'number_bank' => 'required|min:5|max:50', 'first_name' => 'required|min:2|max:50', 'last_name' => 'required|min:2|max:50', 'address' => 'required|min:1|max:250', 'ward' => 'required|min:1|max:250', 'district' => 'required|min:1|max:250', 'city' => 'required|min:2|max:250', 'phone' => 'required|min:9|max:14', 'contact_email' => 'required|min:5|max:100|email']; } else { if ($method == 2) { $arr_check = ['paypal_email' => 'required|min:5|max:100|email']; } } //Setup validation $validator = Validator::make($payment, $arr_check); //Checking if ($validator->fails()) { //set Flash Message // $this->setFlash('errors', $validator->errors()->toArray()); $this->setFlash('message', 'Please type all information correctly for your payment method! <' . $payment_method[$method] . '>'); return redirect()->back(); } //Insert or Update $payment_get = new \App\Payment(); $payment_obj = $payment_get->getPaymentInfomation($this->_user_id); if (!$payment_obj) { $payment_obj = $payment_get; $payment_obj->user_id = $this->_user_id; } $payment_obj->payment_method = $method; if ($method == 1) { //Bank $payment_obj->bank_id = $payment['bank']; $payment_obj->id_number_bank = $payment['number_bank']; $payment_obj->phone = $payment['phone']; $payment_obj->last_name = $payment['last_name']; $payment_obj->mid_name = isset($payment['mid_name']) ? $payment['mid_name'] : ''; $payment_obj->first_name = $payment['first_name']; $payment_obj->address = $payment['address']; $payment_obj->ward = $payment['ward']; $payment_obj->district = $payment['district']; $payment_obj->city = $payment['city']; $payment_obj->contact_email = $payment['contact_email']; } else { if ($method == 2) { //Paypal $payment_obj->paypal_email = $payment['paypal_email']; } } $payment_obj->save(); //set Flash Message $this->setFlash('message', 'Update payment method <' . $payment_method[$method] . '> successfully!'); return redirect()->back()->with('message', 'Update payment method <' . $payment_method[$method] . '> successfully!'); }