API aktiviert / Anpassungen + User Übersicht Gutschriften Umsätze

This commit is contained in:
Kevin Adametz 2021-05-18 19:02:18 +02:00
parent c02fffd883
commit a4c76d06fa
27 changed files with 500 additions and 110 deletions

View file

@ -45,6 +45,14 @@ class AuthController extends Controller
$token->expires_at = Carbon::now()->addDays(1);
}
\DB::table('oauth_access_tokens')
->whereDate('expires_at', '<', now()->addWeeks(1))
->delete();
\DB::table('oauth_refresh_tokens')
->whereDate('expires_at', '<', now()->addWeeks(1))
->delete();
$token->save();
return response()->json([
'access_token' => $tokenResult->accessToken,

View file

@ -23,10 +23,11 @@ class ShoppingUserController extends Controller
//protected static API_MAIL = 'api.thomas.krummel@gmail.com';
//protected static API_PASS = 'UF(Q<9knap!ev3vH?5~!b8DP';
//URL api.gruene-seele.bio
protected $successStatus = 200;
protected $member_id = 3; //thomas.krummel@gmail.com
protected $member_id = 2; //thomas.krummel@gmail.com
/**
@ -255,7 +256,7 @@ class ShoppingUserController extends Controller
$this->member_id = auth()->user()->m_sponsor;
$data = $this->prepareForStore($request->all());
$data['member_id'] = $this->member_id ;
$data['member_id'] = $this->member_id;
$data['number'] = ShoppingUser::max('number') + 1;
$data['mode'] = $request->mode ? $request->mode : 'live';
$data['is_from'] = 'extern';
@ -275,7 +276,7 @@ class ShoppingUserController extends Controller
'user' => $user,
'customer_priority' => $priority,
'customer_number' => $shopping_user->number,
'member_email' => $shopping_user->member->email
'member_email' => ($shopping_user && $shopping_user->member) ? $shopping_user->member->email : false,
],
'time' => Carbon::now()->toDateTimeString()
], 200);
@ -385,7 +386,7 @@ class ShoppingUserController extends Controller
'user' => $user,
'order' => $order,
'customer_number' => $shopping_user->number,
'member_email' => $shopping_user->member->email,
'member_email' => ($shopping_user && $shopping_user->member) ? $shopping_user->member->email : false,
'status' => $shopping_user->getAPIShippedType(),
],
'time' => Carbon::now()->toDateTimeString()
@ -566,7 +567,7 @@ class ShoppingUserController extends Controller
$ret['wp_order_date'] = Carbon::parse($ret['wp_order_date'])->toDateTimeString();
}
if ($need === 'same_as_billing') {
$ret['same_as_billing'] = isset($data['same_as_billing']) ? $data['same_as_billing'] : true;
$ret['same_as_billing'] = isset($data['same_as_billing']) ? (int) $data['same_as_billing'] : 1;
}
}
$ret['has_buyed'] = true;
@ -620,7 +621,7 @@ class ShoppingUserController extends Controller
'shopping_user_id' => $shopping_user->id,
'auth_user_id' => $shopping_user->auth_user_id,
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
'user_shop_id' => auth()->user()->user_sponsor->shop->id,
// 'user_shop_id' => auth()->user()->user_sponsor->shop->id,
'member_id' => $shopping_user->member_id,
'total' => Yard::instance('shopping')->total(2, '.', ''),
'subtotal' => Yard::instance('shopping')->subtotal(2, '.', ''),
@ -687,7 +688,7 @@ class ShoppingUserController extends Controller
public function orderStatusSendMail(ShoppingOrder $shopping_order){
$bcc = [];
$user_mail = $shopping_order->shopping_user->member->email;
$user_mail = ($shopping_order->shopping_user && $shopping_order->shopping_user->member) ? $shopping_order->shopping_user->member->email : false;
if($shopping_order->mode === 'dev'){
$bcc[] = config('app.checkout_test_mail');
}else{

View file

@ -6,6 +6,7 @@ use Storage;
use Response;
use App\Services\Credit;
use App\Services\Invoice;
use Auth;
class FileController extends Controller
{
@ -18,24 +19,32 @@ class FileController extends Controller
{
}
private function isPermission($user_id){
if(Auth::user()->isAdmin() || $user_id == Auth::user()->id){
return true;
}
abort(404);
}
public function show($id = null, $disk = null, $do='file')
{
$path = "";
$filename = "";
if($disk === 'user'){
$file = \App\Models\File::findOrFail($id);
$this->isPermission($file->user_id);
$path = Storage::disk($disk)->path($file->dir.$file->filename);
if (file_exists($path)) {
return Response::file($path);
}
}
if ($disk === 'invoice'){
$shopping_order = \App\Models\ShoppingOrder::findOrFail($id);
$this->isPermission($shopping_order->auth_user_id);
$filename = Invoice::getFilename($shopping_order);
$path = Invoice::getDownloadPath($shopping_order);
if (!Storage::disk('public')->exists($path)) {
@ -64,8 +73,11 @@ class FileController extends Controller
if ($disk === 'credit'){
$UserCredit = \App\Models\UserCredit::findOrFail($id);
$this->isPermission($UserCredit->auth_user_id);
$filename = Credit::getFilename($UserCredit);
$path = Credit::getDownloadPath($UserCredit);
if (!Storage::disk('public')->exists($path)) {
return Response::make('File no found.', 404);
}

View file

@ -192,7 +192,7 @@ class PaymentCreditController extends Controller
->addColumn('total', function (UserCredit $UserCredit) {
return $UserCredit->getFormattedTotal();
return $UserCredit->getFormattedTotal()."";
})
->addColumn('user_margins', function (UserCredit $UserCredit) {
$ret = "";

View file

@ -2,19 +2,29 @@
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\User;
use Request;
use Carbon;
use App\Models\ShoppingOrder;
use Request;
use App\User;
use App\Services\Credit;
use App\Models\UserCredit;
use App\Http\Controllers\Controller;
use App\Models\UserPayCredit;
class PaymentController extends Controller
{
private $startYear;
private $endYear;
private $rangeYears;
private $activeYear;
public function __construct()
{
$this->middleware('auth');
$this->startYear = 2021;
$this->endYear = date('Y');
$this->rangeYears = range($this->startYear, $this->endYear);
$this->activeYear = $this->endYear;
}
public function paycredit()
@ -25,38 +35,120 @@ class PaymentController extends Controller
return view('user.payment.paycredit', $data);
}
/*public function index()
{
$start = 2021;
$end = date('Y');
$years = range($start, $end);
public function paycredit_datatable(){
if(Request::get('filter_sales_year')){
$active_year = Request::get('filter_sales_year');
}else{
$active_year = $end;
}
$user = \Auth::user();
$query = UserPayCredit::select('user_pay_credits.*')->where('user_id', $user->id);
$date1 = Carbon::parse('01.01.'.$active_year." 00:00:00")->format('Y-m-d H:i:s');
$date2 = Carbon::parse('31.12.'.$active_year." 23:59:59")->toDateString();
return \DataTables::eloquent($query)
->addColumn('message', function (UserPayCredit $user_pay_credit) {
if($user_pay_credit->status === 3){
return nl2br($user_pay_credit->message);
}else{
return trans('payment.'.$user_pay_credit->message).
' &nbsp; <a class="btn btn-outline-secondary btn-xs" href="'.route('user_order_detail', [$user_pay_credit->shopping_order_id]).'"><i class="ion ion-md-eye"></i></a>';
$values = ShoppingOrder::where('shopping_orders.auth_user_id', '!=', NULL) //::with('shopping_user', )->select('shopping_orders.*')
->where('mode', '=', 'live')
->where('paid', '=', 1)
->whereHas('shopping_order_items', function($q) {
$q->where('product_id', 34)->OrWhere('product_id', 35)->OrWhere('product_id', 36)->OrWhere('product_id', 67)->OrWhere('product_id', 69);
})
->whereBetween('created_at', [$date1, $date2])
->get();
$data = [
'years' => $years,
'active_year' => $active_year,
'values' => $values,
];
return view('user.revenue.index', $data);
}
})
->addColumn('credit', function (UserPayCredit $user_pay_credit) {
return formatNumber($user_pay_credit->credit)."";
})
->addColumn('old_credit_total', function (UserPayCredit $user_pay_credit) {
return formatNumber($user_pay_credit->old_credit_total)."";
})
->addColumn('new_credit_total', function (UserPayCredit $user_pay_credit) {
return formatNumber($user_pay_credit->new_credit_total)."";
})
->addColumn('created_at', function (UserPayCredit $user_pay_credit) {
return formatDate($user_pay_credit->created_at);
})
->orderColumn('message', 'message $1')
->orderColumn('txaction', 'txaction $1')
->orderColumn('credit', 'credit $1')
->orderColumn('created_at', 'created_at $1')
->rawColumns(['message'])
->make(true);
}
public function credit()
{
$user = \Auth::user();
$data = [
'user' => $user,
];
return view('user.payment.credit', $data);
}
public function credit_datatable(){
$user = \Auth::user();
$query = UserCredit::with('user', 'user.account')->select('user_credits.*')->where('auth_user_id', $user->id);
return \DataTables::eloquent($query)
->addColumn('total', function (UserCredit $UserCredit) {
return $UserCredit->getFormattedTotal()."";
})
->addColumn('user_margins', function (UserCredit $UserCredit) {
$ret = "";
if($UserCredit->user_margins){
foreach($UserCredit->user_margins as $user_margin){
$ret .= $user_margin->firstname."/".$user_margin->lastname."/".$user_margin->reference."/".$user_margin->created_at."<br>";
}
}
if($UserCredit->user_credits){
foreach($UserCredit->user_credits as $user_credit){
$ret .= nl2br($user_credit->message)." / ".$user_credit->created_at."<br>";
}
}
return $ret;
})
/* ->addColumn('txaction', function (ShoppingOrder $ShoppingOrder) {
return Payment::getShoppingOrderBadge($ShoppingOrder);
})*/
->addColumn('credit', function (UserCredit $UserCredit) {
$ret = "";
if(Credit::isCredit($UserCredit)){
$ret .= '<a href="'.route('storage_file', [$UserCredit->id, 'credit', 'download']).'" class="btn btn-primary btn-xs"><i class="fa fa-download"></i></a> ';
$ret .= '<a href="'.route('storage_file', [$UserCredit->id, 'credit', 'stream']).'" target="_blank" class="btn btn-warning btn-xs"><i class="fa fa-eye"></i></a>';
}else{
$ret = "-";
}
return $ret;
})
->addColumn('status', function (UserCredit $UserCredit) {
return '<span class="badge badge-pill badge-'.$UserCredit->getStatusColor().'">'.$UserCredit->getStatusType().' <span class="ion ion-md-cash"></span></span>';
})
->orderColumn('id', 'id $1')
->orderColumn('status', 'status $1')
->orderColumn('total', 'total $1')
->rawColumns(['shipping_order', 'total', 'credit', 'status', 'user_margins'])
->make(true);
}
private function setActiveYears(){
if(Request::get('filter_year')){
$this->activeYear = Request::get('filter_year');
}
}
public function revenue()
{
$this->setActiveYears();
$user = \Auth::user();
$data = [
'user' => $user,
'years' => $this->rangeYears,
'active_year' => $this->activeYear,
'months' => range(1, 12),
];
return view('user.payment.revenue', $data);
}
*/
}