diff --git a/app/Http/Controllers/MembershipController.php b/app/Http/Controllers/MembershipController.php index d2d53ea..db8ce73 100755 --- a/app/Http/Controllers/MembershipController.php +++ b/app/Http/Controllers/MembershipController.php @@ -64,7 +64,7 @@ class MembershipController extends Controller $data = Request::all(); - + //#### remove_abo /*if($action === "remove_abo"){ @@ -83,17 +83,17 @@ class MembershipController extends Controller }*/ //#### payment order //#### shop upgrade - /*if($action === "upgrade_order" || $action === "payment_order"){ + if($action === "upgrade_order" || $action === "payment_order"){ if(Request::get('switchers-package-wizard')){ $user = User::find(Auth::user()->id); Yard::instance('shopping')->destroy(); $product = Product::find(Request::get('switchers-package-wizard')); - $showAboOptions = false; - if(Request::get('abo_options')){ + // $showAboOptions = false; + /* if(Request::get('abo_options')){ $showAboOptions = true; $user->abo_options = true; $user->save(); - } + }*/ if($product && $product->active && $product->show_at >= 3){ $image = ""; if($product->images->count()){ @@ -102,15 +102,17 @@ class MembershipController extends Controller $qty = Request::get('qty') ? Request::get('qty') : 1; Yard::instance('shopping')->add($product->id, $product->getLang('name'), $qty, $product->price, ['image' => $image, 'slug' => $product->slug, 'weight' => $product->weight]); + /* do { $identifier = Util::getToken(); } while( ShoppingInstance::where('identifier', $identifier)->count() ); - + */ + $identifier = Util::getToken(); $data = []; $data['is_from'] = 'membership'; $data['is_for'] = 'me'; - ShoppingInstance::create([ + /* ShoppingInstance::create([ 'identifier' => $identifier, 'user_shop_id' => 1, //is first faker shop for nuy intern 'auth_user_id' => Auth::user()->id, @@ -120,16 +122,21 @@ class MembershipController extends Controller 'shopping_data' => $data, 'back' => url()->previous(), - ]); - Yard::instance('shopping')->store($identifier); + ]);*/ + Yard::instance('shopping')->putYardExtra('shopping_data', $data); + + //Yard::instance('shopping')->store($identifier); //add to DB - $path = route('checkout.checkout_card', ['identifier'=>$identifier]); - UserHistory::create(['user_id' => $user->id, 'action'=>$action, 'status'=>1, 'product_id'=>$product->id, 'identifier'=>$identifier, 'abo_options'=>$showAboOptions]); + UserHistory::create(['user_id' => $user->id, 'action'=>$action, 'status'=>1, 'product_id'=>$product->id, 'identifier'=>$identifier]); + + //$path = route('checkout.checkout_card', ['identifier'=>$identifier]); //$path = str_replace('http', 'https', $path); - return redirect()->secure($path); + // return redirect()->secure($path); + return redirect(route('user_checkout', [$identifier])); + } } - }*/ + } /* if($action === "change_order"){ diff --git a/app/Http/Controllers/ModalController.php b/app/Http/Controllers/ModalController.php index 2c55d84..2ba2733 100644 --- a/app/Http/Controllers/ModalController.php +++ b/app/Http/Controllers/ModalController.php @@ -49,15 +49,12 @@ class ModalController extends Controller $product = Product::find($data['id']); //current user form order $ret = view("admin.modal.show_product", compact('product', 'data'))->render(); } - if($data['action'] === 'user-order-my-delivery-show'){ $user = \Auth::user(); $ret = view("admin.modal.show_user_customers", compact('user', 'data'))->render(); } - if($data['action'] === 'user-order-my-delivery-add'){ $user = \Auth::user(); - /* $product = Product::find($data['id']); //current user form order $ret = view("admin.modal.show_product", compact('product', 'data'))->render(); */ } @@ -67,17 +64,22 @@ class ModalController extends Controller $user = User::find($data['id']); $ret = view("admin.modal.user_level_margin", compact('user', 'data'))->render(); } + if($data['action'] === 'show-user-pay-credits'){ + $user = User::find($data['id']); + $ret = view("admin.modal.user_pay_credits", compact('user', 'data'))->render(); + } + if($data['action'] === 'add-user-pay-credit'){ + $value = []; + $ret = view("admin.modal.add_pay_credit", compact('value', 'data'))->render(); + } - - if($data['action'] === 'homeparty-add-product') { + /*if($data['action'] === 'homeparty-add-product') { $homeparty = Homeparty::find($data['id']); $homeparty_user = HomepartyUser::find($data['user_id']); $data['homeparty'] = $homeparty; $ret = view("user.homeparty.modal_show_products", compact( 'data', 'homeparty', 'homeparty_user'))->render(); - - - } - + }*/ + } diff --git a/app/Http/Controllers/Pay/PayController.php b/app/Http/Controllers/Pay/PayController.php index 85d4a21..745b165 100644 --- a/app/Http/Controllers/Pay/PayController.php +++ b/app/Http/Controllers/Pay/PayController.php @@ -152,7 +152,7 @@ class PayController extends Controller 'userid' => 0, 'status' => $this->shopping_payment->clearingtype, 'transmitted_data' => $request, - 'txaction' => 'open', + 'txaction' => 'prev', 'mode' => $this->shopping_payment->mode, ]); diff --git a/app/Http/Controllers/PaymentPayCreditController.php b/app/Http/Controllers/PaymentPayCreditController.php index 53948fa..4d58e0c 100644 --- a/app/Http/Controllers/PaymentPayCreditController.php +++ b/app/Http/Controllers/PaymentPayCreditController.php @@ -2,13 +2,14 @@ namespace App\Http\Controllers; + use Carbon; use Request; use App\User; -use App\Services\Invoice; +use Validator; +use App\Services\Util; +use App\Models\UserPayCredit; use App\Services\Payment; -use App\Models\ShoppingOrder; - class PaymentPayCreditController extends Controller { @@ -37,15 +38,66 @@ class PaymentPayCreditController extends Controller } } + public function store(){ + $data = Request::all(); + + if(isset($data['action']) && $data['action'] === 'add-user-pay-credit'){ + + $validator = Validator::make(Request::all(), []); + $add_credit_error = false; + if(!isset($data['member_id']) || !$user = User::find($data['member_id'])){ + $add_credit_error = 'Vertriebspartner nicht gefunden'; + } + if(!isset($data['credit'])){ + $add_credit_error = 'Bitte Betrag eingeben'; + } + if(!isset($data['message'])){ + $add_credit_error = 'Bitte Mitteilung eingeben'; + } + if($add_credit_error){ + $this->setActiveFilter(); + $data = [ + 'filter_user_status' => $this->filter_user_status, + 'add_credit_error' => $add_credit_error, + ]; + return view('admin.payment.pay_credit.index', $data); + } + + $credit = Util::reFormatNumber($data['credit']); + $credit = number_format($credit, 2, '.', ''); + + Payment::addUserPayCredits($user, $credit, 3, $data['message']); + \Session()->flash('alert-success', "Guthaben aufgeladen"); + } + + return redirect(route('admin_payments_paycredit')); + } + + + public function delete($id){ + + $UserPayCredit = UserPayCredit::findOrFail($id); + if($UserPayCredit->status === 3 && $deleteTime = $UserPayCredit->deleteTime()){ + $user = $UserPayCredit->user; + $credit = $UserPayCredit->credit; + $user->payment_credit = $user->payment_credit - $credit; + $user->save(); + $UserPayCredit->delete(); + \Session()->flash('alert-success', "Guthaben ist gelöscht"); + }else{ + \Session()->flash('alert-error', "Guthaben kann nicht gelöscht werden"); + } + + return redirect(route('admin_payments_paycredit')); + } + public function datatable(){ $this->setActiveFilter(); - $query = User::with('account')->select('users.*')->where('users.deleted_at', '=', null) ->where('active', true); - //->orderBy('created_at', 'DESC'); return \DataTables::eloquent($query) @@ -71,10 +123,10 @@ class PaymentPayCreditController extends Controller return ''; }) ->addColumn('action', function (User $user) { - $ret = ''; - return $ret; + return ''; }) - ->orderColumn('id', 'id $1') ->orderColumn('txaction', 'txaction $1') ->orderColumn('payment_credit', 'payment_credit $1') diff --git a/app/Http/Controllers/SalesController.php b/app/Http/Controllers/SalesController.php index 65c8dcc..ee9c7e2 100755 --- a/app/Http/Controllers/SalesController.php +++ b/app/Http/Controllers/SalesController.php @@ -319,13 +319,13 @@ class SalesController extends Controller ]); $shopping_order->txaction = $data['txaction']; - $shopping_order->paid = true; + $shopping_order->paid = $payt->txaction === 'paid' ? true : false; $shopping_order->save(); $shopping_payment->txaction = $data['txaction']; $shopping_payment->save(); if($payt->status === 'vor' && $payt->txaction === 'paid'){ - $send_link = Payment::paymentStatusPaidAction($shopping_order, false); + $send_link = Payment::paymentStatusPaidAction($shopping_order, true); } $edata = [ 'mode' => $payt->mode, diff --git a/app/Http/Controllers/SyS/AdminToolsController.php b/app/Http/Controllers/SyS/AdminToolsController.php index c393f94..b9280eb 100755 --- a/app/Http/Controllers/SyS/AdminToolsController.php +++ b/app/Http/Controllers/SyS/AdminToolsController.php @@ -3,20 +3,23 @@ namespace App\Http\Controllers\SyS; -use App\Http\Controllers\Api\KasController; -use App\Http\Controllers\Api\KasSLLController; -use App\Http\Controllers\Controller; -use App\Mail\MailInfo; -use App\Models\PaymentMethod; -use App\Models\ShoppingUser; -use App\Models\UserShop; -use App\Repositories\ContractPDFRepository; -use App\Services\CustomerPriority; -use App\Services\Shop; -use App\User; use Auth; -use Illuminate\Support\Facades\Mail; use Request; +use App\User; +use App\Mail\MailInfo; +use App\Services\Shop; +use App\Models\UserShop; +use App\Services\Payment; +use App\Models\ShoppingUser; +use App\Models\PaymentMethod; +use App\Models\ShoppingOrder; +use App\Models\UserPayCredit; +use App\Services\CustomerPriority; +use App\Http\Controllers\Controller; +use Illuminate\Support\Facades\Mail; +use App\Http\Controllers\Api\KasController; +use App\Repositories\ContractPDFRepository; +use App\Http\Controllers\Api\KasSLLController; class AdminToolsController extends Controller @@ -29,15 +32,104 @@ class AdminToolsController extends Controller } - /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function index() + public function index($action) { - dd('index'); + + switch ($action) { + case 'pay_credits': + # code... + $value = $this->makeUserPayCredits(); + $data = [ + 'values' => $value, + 'text' => '', + ]; + return view('sys.admin.index', $data); + break; + case 'value': + # code... + break; + } + + + } - public function customers() + public function store($action) + { + dd($action); + $data = []; + switch ($action) { + case 'pay_credits': + # code... + return view('sys.admin.index', $data); + + break; + case 'value': + # code... + break; + } + } + + private function makeUserPayCredits() + { + //is the first of + $shopping_orders = ShoppingOrder::whereHas('shopping_order_items', function($q) { + $q->where('product_id', 1); + })->where('paid', 1)->where('total_shipping', '>', 0)->get(); + + + foreach ($shopping_orders as $shopping_order) { + $payment_credit = $shopping_order->total_shipping; + $c = UserPayCredit::where('shopping_order_id', $shopping_order->id)->first(); + if(!$c){ + $uP = UserPayCredit::create([ + 'user_id' => $shopping_order->auth_user->id, + 'credit' => $payment_credit, + 'old_credit_total' => 0, + 'new_credit_total' => $payment_credit, + 'message' => 'payment_for_account', + 'status' => 1, + 'shopping_order_id' => $shopping_order->id + ]); + + $uP->created_at = $shopping_order->created_at; + $uP->updated_at = $shopping_order->created_at; + $uP->save(); + } + } + + + $shopping_orders = ShoppingOrder::where('payment_credit', '>', 0)->where('paid', 1)->get(); + foreach ($shopping_orders as $shopping_order) { + $payment_credit = $shopping_order->payment_credit; + $c = UserPayCredit::where('shopping_order_id', $shopping_order->id)->first(); + if(!$c){ + //find last + $UserPayCredit = UserPayCredit::where('user_id', $shopping_order->auth_user->id)->orderBy('created_at', 'desc')->first(); + $old_credit = 0; + $credit = $shopping_order->payment_credit*-1; + if($UserPayCredit){ + $old_credit = $UserPayCredit->new_credit_total; + } + $uP = UserPayCredit::create([ + 'user_id' => $shopping_order->auth_user->id, + 'credit' => $credit, + 'old_credit_total' => $old_credit, + 'new_credit_total' => $old_credit + $credit, + 'message' => 'user_order_deduction', + 'status' => 2, + 'shopping_order_id' => $shopping_order->id + ]); + $uP->created_at = $shopping_order->created_at; + $uP->updated_at = $shopping_order->created_at; + $uP->save(); + + } + } + return $shopping_orders; + } + + /*public function customers() { $shopping_users = ShoppingUser::where('member_id', '=', NULL)->where('auth_user_id', '=', NULL)->get(); @@ -90,9 +182,6 @@ class AdminToolsController extends Controller return back(); } - - - public function cronjobs() { //$user_shops = UserShop::all(); @@ -199,6 +288,7 @@ class AdminToolsController extends Controller return back(); } + */ diff --git a/app/Http/Controllers/User/CheckoutController.php b/app/Http/Controllers/User/CheckoutController.php index 8eccc21..a4d5960 100755 --- a/app/Http/Controllers/User/CheckoutController.php +++ b/app/Http/Controllers/User/CheckoutController.php @@ -311,7 +311,7 @@ class CheckoutController extends Controller Yard::instance('shopping')->destroy(); $this->destroy(); - if($payt->status === 'fnc' || $payt->status === 'vor'){ + if(($payt->status === 'fnc' || $payt->status === 'vor') && $payt->txaction === 'prev'){ $this->directPaymentStatus($payt, $identifier); } @@ -558,20 +558,17 @@ class CheckoutController extends Controller $shopping_payment->txaction = 'open'; $shopping_order->txaction = 'open'; - } if($payt->status === 'fnc'){ - $send_link = Payment::paymentStatusPaidAction($shopping_order, false); + $send_link = Payment::paymentStatusPaidAction($shopping_order, true); $shopping_payment->txaction = 'open'; $shopping_order->txaction = 'open'; - - } $shopping_payment->save(); } - //$payt->request = "approved"; - //$payt->save(); + $payt->txaction = "open"; + $payt->save(); $data = [ 'mode' => $payt->transmitted_data['mode'], 'txaction' => $payt->txaction, diff --git a/app/Http/Controllers/User/OrderController.php b/app/Http/Controllers/User/OrderController.php index bfba84e..a3d7bd5 100755 --- a/app/Http/Controllers/User/OrderController.php +++ b/app/Http/Controllers/User/OrderController.php @@ -374,8 +374,6 @@ class OrderController extends Controller data-toggle="modal" data-target="#modals-load-content" data-id="'.Auth::user()->id.'" data-route="'.route('modal_load').'" data-action="user-order-show-user-level-margin" data-view="customer">'; }) - - ->addColumn('action', function (Product $product) { return ' + + + +{!! Form::close() !!} + + diff --git a/resources/views/admin/modal/user_level_margin.blade.php b/resources/views/admin/modal/user_level_margin.blade.php index d00db7b..d6c9b0f 100644 --- a/resources/views/admin/modal/user_level_margin.blade.php +++ b/resources/views/admin/modal/user_level_margin.blade.php @@ -1,7 +1,7 @@