API aktiviert / Anpassungen + User Übersicht Gutschriften Umsätze
This commit is contained in:
parent
c02fffd883
commit
a4c76d06fa
27 changed files with 500 additions and 110 deletions
1
.env
1
.env
|
|
@ -3,6 +3,7 @@ APP_ENV=local
|
||||||
APP_KEY=base64:w0K6RjfleoAOpuICea14JnaZ28PNc6EMzIFMQZ3MVtU=
|
APP_KEY=base64:w0K6RjfleoAOpuICea14JnaZ28PNc6EMzIFMQZ3MVtU=
|
||||||
APP_DEBUG=true
|
APP_DEBUG=true
|
||||||
APP_URL=https://partner.gruene-seele.test
|
APP_URL=https://partner.gruene-seele.test
|
||||||
|
APP_DOMAIN=partner.gruene-seele.test
|
||||||
|
|
||||||
APP_CHECKOUT_MAIL=kevin.adametz@me.com
|
APP_CHECKOUT_MAIL=kevin.adametz@me.com
|
||||||
APP_CHECKOUT_TEST_MAIL=kevin.adametz@me.com
|
APP_CHECKOUT_TEST_MAIL=kevin.adametz@me.com
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,14 @@ class AuthController extends Controller
|
||||||
$token->expires_at = Carbon::now()->addDays(1);
|
$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();
|
$token->save();
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'access_token' => $tokenResult->accessToken,
|
'access_token' => $tokenResult->accessToken,
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,11 @@ class ShoppingUserController extends Controller
|
||||||
|
|
||||||
//protected static API_MAIL = 'api.thomas.krummel@gmail.com';
|
//protected static API_MAIL = 'api.thomas.krummel@gmail.com';
|
||||||
//protected static API_PASS = 'UF(Q<9knap!ev3vH?5~!b8DP';
|
//protected static API_PASS = 'UF(Q<9knap!ev3vH?5~!b8DP';
|
||||||
|
//URL api.gruene-seele.bio
|
||||||
|
|
||||||
|
|
||||||
protected $successStatus = 200;
|
protected $successStatus = 200;
|
||||||
protected $member_id = 3; //thomas.krummel@gmail.com
|
protected $member_id = 2; //thomas.krummel@gmail.com
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -275,7 +276,7 @@ class ShoppingUserController extends Controller
|
||||||
'user' => $user,
|
'user' => $user,
|
||||||
'customer_priority' => $priority,
|
'customer_priority' => $priority,
|
||||||
'customer_number' => $shopping_user->number,
|
'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()
|
'time' => Carbon::now()->toDateTimeString()
|
||||||
], 200);
|
], 200);
|
||||||
|
|
@ -385,7 +386,7 @@ class ShoppingUserController extends Controller
|
||||||
'user' => $user,
|
'user' => $user,
|
||||||
'order' => $order,
|
'order' => $order,
|
||||||
'customer_number' => $shopping_user->number,
|
'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(),
|
'status' => $shopping_user->getAPIShippedType(),
|
||||||
],
|
],
|
||||||
'time' => Carbon::now()->toDateTimeString()
|
'time' => Carbon::now()->toDateTimeString()
|
||||||
|
|
@ -566,7 +567,7 @@ class ShoppingUserController extends Controller
|
||||||
$ret['wp_order_date'] = Carbon::parse($ret['wp_order_date'])->toDateTimeString();
|
$ret['wp_order_date'] = Carbon::parse($ret['wp_order_date'])->toDateTimeString();
|
||||||
}
|
}
|
||||||
if ($need === 'same_as_billing') {
|
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;
|
$ret['has_buyed'] = true;
|
||||||
|
|
@ -620,7 +621,7 @@ class ShoppingUserController extends Controller
|
||||||
'shopping_user_id' => $shopping_user->id,
|
'shopping_user_id' => $shopping_user->id,
|
||||||
'auth_user_id' => $shopping_user->auth_user_id,
|
'auth_user_id' => $shopping_user->auth_user_id,
|
||||||
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
'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,
|
'member_id' => $shopping_user->member_id,
|
||||||
'total' => Yard::instance('shopping')->total(2, '.', ''),
|
'total' => Yard::instance('shopping')->total(2, '.', ''),
|
||||||
'subtotal' => Yard::instance('shopping')->subtotal(2, '.', ''),
|
'subtotal' => Yard::instance('shopping')->subtotal(2, '.', ''),
|
||||||
|
|
@ -687,7 +688,7 @@ class ShoppingUserController extends Controller
|
||||||
public function orderStatusSendMail(ShoppingOrder $shopping_order){
|
public function orderStatusSendMail(ShoppingOrder $shopping_order){
|
||||||
|
|
||||||
$bcc = [];
|
$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'){
|
if($shopping_order->mode === 'dev'){
|
||||||
$bcc[] = config('app.checkout_test_mail');
|
$bcc[] = config('app.checkout_test_mail');
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ use Storage;
|
||||||
use Response;
|
use Response;
|
||||||
use App\Services\Credit;
|
use App\Services\Credit;
|
||||||
use App\Services\Invoice;
|
use App\Services\Invoice;
|
||||||
|
use Auth;
|
||||||
|
|
||||||
class FileController extends Controller
|
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')
|
public function show($id = null, $disk = null, $do='file')
|
||||||
{
|
{
|
||||||
$path = "";
|
$path = "";
|
||||||
$filename = "";
|
$filename = "";
|
||||||
|
|
||||||
|
|
||||||
if($disk === 'user'){
|
if($disk === 'user'){
|
||||||
$file = \App\Models\File::findOrFail($id);
|
$file = \App\Models\File::findOrFail($id);
|
||||||
|
$this->isPermission($file->user_id);
|
||||||
$path = Storage::disk($disk)->path($file->dir.$file->filename);
|
$path = Storage::disk($disk)->path($file->dir.$file->filename);
|
||||||
if (file_exists($path)) {
|
if (file_exists($path)) {
|
||||||
return Response::file($path);
|
return Response::file($path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($disk === 'invoice'){
|
if ($disk === 'invoice'){
|
||||||
$shopping_order = \App\Models\ShoppingOrder::findOrFail($id);
|
$shopping_order = \App\Models\ShoppingOrder::findOrFail($id);
|
||||||
|
$this->isPermission($shopping_order->auth_user_id);
|
||||||
$filename = Invoice::getFilename($shopping_order);
|
$filename = Invoice::getFilename($shopping_order);
|
||||||
$path = Invoice::getDownloadPath($shopping_order);
|
$path = Invoice::getDownloadPath($shopping_order);
|
||||||
if (!Storage::disk('public')->exists($path)) {
|
if (!Storage::disk('public')->exists($path)) {
|
||||||
|
|
@ -64,8 +73,11 @@ class FileController extends Controller
|
||||||
|
|
||||||
if ($disk === 'credit'){
|
if ($disk === 'credit'){
|
||||||
$UserCredit = \App\Models\UserCredit::findOrFail($id);
|
$UserCredit = \App\Models\UserCredit::findOrFail($id);
|
||||||
|
$this->isPermission($UserCredit->auth_user_id);
|
||||||
|
|
||||||
$filename = Credit::getFilename($UserCredit);
|
$filename = Credit::getFilename($UserCredit);
|
||||||
$path = Credit::getDownloadPath($UserCredit);
|
$path = Credit::getDownloadPath($UserCredit);
|
||||||
|
|
||||||
if (!Storage::disk('public')->exists($path)) {
|
if (!Storage::disk('public')->exists($path)) {
|
||||||
return Response::make('File no found.', 404);
|
return Response::make('File no found.', 404);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ class PaymentCreditController extends Controller
|
||||||
|
|
||||||
|
|
||||||
->addColumn('total', function (UserCredit $UserCredit) {
|
->addColumn('total', function (UserCredit $UserCredit) {
|
||||||
return $UserCredit->getFormattedTotal();
|
return $UserCredit->getFormattedTotal()." €";
|
||||||
})
|
})
|
||||||
->addColumn('user_margins', function (UserCredit $UserCredit) {
|
->addColumn('user_margins', function (UserCredit $UserCredit) {
|
||||||
$ret = "";
|
$ret = "";
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,29 @@
|
||||||
|
|
||||||
|
|
||||||
namespace App\Http\Controllers\User;
|
namespace App\Http\Controllers\User;
|
||||||
use App\Http\Controllers\Controller;
|
|
||||||
use App\User;
|
|
||||||
use Request;
|
|
||||||
use Carbon;
|
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
|
class PaymentController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private $startYear;
|
||||||
|
private $endYear;
|
||||||
|
private $rangeYears;
|
||||||
|
private $activeYear;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->middleware('auth');
|
$this->middleware('auth');
|
||||||
|
$this->startYear = 2021;
|
||||||
|
$this->endYear = date('Y');
|
||||||
|
$this->rangeYears = range($this->startYear, $this->endYear);
|
||||||
|
$this->activeYear = $this->endYear;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function paycredit()
|
public function paycredit()
|
||||||
|
|
@ -25,38 +35,120 @@ class PaymentController extends Controller
|
||||||
return view('user.payment.paycredit', $data);
|
return view('user.payment.paycredit', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public function index()
|
public function paycredit_datatable(){
|
||||||
{
|
|
||||||
$start = 2021;
|
|
||||||
$end = date('Y');
|
|
||||||
$years = range($start, $end);
|
|
||||||
|
|
||||||
if(Request::get('filter_sales_year')){
|
$user = \Auth::user();
|
||||||
$active_year = Request::get('filter_sales_year');
|
$query = UserPayCredit::select('user_pay_credits.*')->where('user_id', $user->id);
|
||||||
|
|
||||||
|
return \DataTables::eloquent($query)
|
||||||
|
|
||||||
|
->addColumn('message', function (UserPayCredit $user_pay_credit) {
|
||||||
|
if($user_pay_credit->status === 3){
|
||||||
|
return nl2br($user_pay_credit->message);
|
||||||
}else{
|
}else{
|
||||||
$active_year = $end;
|
return trans('payment.'.$user_pay_credit->message).
|
||||||
|
' <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>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$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();
|
|
||||||
|
|
||||||
|
|
||||||
$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])
|
->addColumn('credit', function (UserPayCredit $user_pay_credit) {
|
||||||
->get();
|
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 = [
|
$data = [
|
||||||
'years' => $years,
|
'user' => $user,
|
||||||
'active_year' => $active_year,
|
|
||||||
'values' => $values,
|
|
||||||
];
|
];
|
||||||
return view('user.revenue.index', $data);
|
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);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
@ -4,6 +4,8 @@ namespace App\Providers;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Gate;
|
use Illuminate\Support\Facades\Gate;
|
||||||
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||||
|
use Laravel\Passport\Passport;
|
||||||
|
|
||||||
|
|
||||||
class AuthServiceProvider extends ServiceProvider
|
class AuthServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
|
|
@ -24,6 +26,7 @@ class AuthServiceProvider extends ServiceProvider
|
||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
$this->registerPolicies();
|
$this->registerPolicies();
|
||||||
|
Passport::routes();
|
||||||
|
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,9 +72,14 @@ class RouteServiceProvider extends ServiceProvider
|
||||||
*/
|
*/
|
||||||
protected function mapApiRoutes()
|
protected function mapApiRoutes()
|
||||||
{
|
{
|
||||||
Route::prefix('api')
|
Route::domain('api.'.config('app.domain'))
|
||||||
->middleware('api')
|
->middleware('api')
|
||||||
->namespace($this->namespace)
|
->namespace($this->namespace)
|
||||||
->group(base_path('routes/api.php'));
|
->group(base_path('routes/api.php'));
|
||||||
|
|
||||||
|
/* Route::prefix('api')
|
||||||
|
->middleware('api')
|
||||||
|
->namespace($this->namespace)
|
||||||
|
->group(base_path('routes/api.php'));*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class CustomerPriority
|
||||||
//only extern no members with no numbers
|
//only extern no members with no numbers
|
||||||
$shopping_users = ShoppingUser::where('auth_user_id', '=', NULL)->where('number', '=', NULL)->orderBy('created_at', 'ASC')->get();
|
$shopping_users = ShoppingUser::where('auth_user_id', '=', NULL)->where('number', '=', NULL)->orderBy('created_at', 'ASC')->get();
|
||||||
foreach ($shopping_users as $shopping_user){
|
foreach ($shopping_users as $shopping_user){
|
||||||
if($shopping_user->shopping_order && $shopping_user->shopping_order->user_shop){
|
if($shopping_user->shopping_order){
|
||||||
self::checkOne($shopping_user);
|
self::checkOne($shopping_user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -217,8 +217,8 @@ class CustomerPriority
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function newCustomer($shopping_user){
|
private static function newCustomer($shopping_user){
|
||||||
if($shopping_user->shopping_order && $shopping_user->shopping_order->user_shop) {
|
if($shopping_user->shopping_order && $shopping_user->shopping_order->member_id) {
|
||||||
$member_id = $shopping_user->shopping_order->user_shop->user_id;
|
$member_id = $shopping_user->shopping_order->member_id;
|
||||||
$shopping_user->member_id = $member_id;
|
$shopping_user->member_id = $member_id;
|
||||||
$shopping_user->number = self::nextNumber();
|
$shopping_user->number = self::nextNumber();
|
||||||
$shopping_user->save();
|
$shopping_user->save();
|
||||||
|
|
|
||||||
|
|
@ -86,11 +86,16 @@ class UserMarign
|
||||||
|
|
||||||
public static function getMontlyPartnerCommissionOpen(User $user, $date = null, $format = false){
|
public static function getMontlyPartnerCommissionOpen(User $user, $date = null, $format = false){
|
||||||
|
|
||||||
//$now = $date ? Carbon::parse($date) : Carbon::now();
|
if(!$date){
|
||||||
$start = Carbon::parse('01.01.2021');
|
$start = Carbon::parse('01.01.2021');
|
||||||
$end = Carbon::now();
|
$end = Carbon::now();
|
||||||
$startDay = $start->startOfMonth()->toDateString();
|
$startDay = $start->startOfMonth()->toDateString();
|
||||||
$endDay = $end->endOfMonth()->toDateString();
|
$endDay = $end->endOfMonth()->toDateString();
|
||||||
|
}else{
|
||||||
|
$now = $date ? Carbon::parse($date) : Carbon::now();
|
||||||
|
$startDay = $now->startOfMonth()->toDateString();
|
||||||
|
$endDay = $now->endOfMonth()->toDateString();
|
||||||
|
}
|
||||||
|
|
||||||
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user->id)
|
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user->id)
|
||||||
->whereBetween('from', [$startDay, $endDay])
|
->whereBetween('from', [$startDay, $endDay])
|
||||||
|
|
@ -129,11 +134,16 @@ class UserMarign
|
||||||
|
|
||||||
public static function getMontlyPartnerCommissionPending(User $user, $date = null, $format = false){
|
public static function getMontlyPartnerCommissionPending(User $user, $date = null, $format = false){
|
||||||
|
|
||||||
//$now = $date ? Carbon::parse($date) : Carbon::now();
|
if(!$date){
|
||||||
$start = Carbon::parse('01.01.2021');
|
$start = Carbon::parse('01.01.2021');
|
||||||
$end = Carbon::now();
|
$end = Carbon::now();
|
||||||
$startDay = $start->startOfMonth()->toDateString();
|
$startDay = $start->startOfMonth()->toDateString();
|
||||||
$endDay = $end->endOfMonth()->toDateString();
|
$endDay = $end->endOfMonth()->toDateString();
|
||||||
|
}else{
|
||||||
|
$now = $date ? Carbon::parse($date) : Carbon::now();
|
||||||
|
$startDay = $now->startOfMonth()->toDateString();
|
||||||
|
$endDay = $now->endOfMonth()->toDateString();
|
||||||
|
}
|
||||||
|
|
||||||
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user->id)
|
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user->id)
|
||||||
->whereBetween('from', [$startDay, $endDay])
|
->whereBetween('from', [$startDay, $endDay])
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ use Illuminate\Notifications\Notifiable;
|
||||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Support\Facades\Mail;
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
use Laravel\Passport\HasApiTokens;
|
||||||
use Util;
|
use Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -98,10 +99,12 @@ use Util;
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|User wherePaymentAccount($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|User wherePaymentAccount($value)
|
||||||
* @property string|null $payment_credit
|
* @property string|null $payment_credit
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder|User wherePaymentCredit($value)
|
* @method static \Illuminate\Database\Eloquent\Builder|User wherePaymentCredit($value)
|
||||||
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserPayCredit[] $user_pay_credits
|
||||||
|
* @property-read int|null $user_pay_credits_count
|
||||||
*/
|
*/
|
||||||
class User extends Authenticatable
|
class User extends Authenticatable
|
||||||
{
|
{
|
||||||
use Notifiable;
|
use Notifiable, HasApiTokens;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The attributes that are mass assignable.
|
* The attributes that are mass assignable.
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ return [
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'url' => env('APP_URL', 'https://partner.gruene-seele.bio'),
|
'url' => env('APP_URL', 'https://partner.gruene-seele.bio'),
|
||||||
|
'domain' => env('APP_DOMAIN', 'partner.gruene-seele.bio'),
|
||||||
|
|
||||||
'checkout_mail' => env('APP_CHECKOUT_MAIL', 'kevin.adametz@me.com'),
|
'checkout_mail' => env('APP_CHECKOUT_MAIL', 'kevin.adametz@me.com'),
|
||||||
'checkout_test_mail' => env('APP_CHECKOUT_TEST_MAIL', 'kevin.adametz@me.com'),
|
'checkout_test_mail' => env('APP_CHECKOUT_TEST_MAIL', 'kevin.adametz@me.com'),
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,8 @@ return [
|
||||||
],
|
],
|
||||||
|
|
||||||
'api' => [
|
'api' => [
|
||||||
'driver' => 'token',
|
'driver' => 'passport',
|
||||||
'provider' => 'users',
|
'provider' => 'users',
|
||||||
'hash' => false,
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -92,13 +92,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3 mb-3">
|
<div class="col-md-3 mb-3">
|
||||||
<div class="text-muted small">Über Shop</div>
|
<div class="text-muted small">Über Shop</div>
|
||||||
@if($shopping_user->shopping_order)
|
#
|
||||||
@if($shopping_user->shopping_order->user_shop->user->isActive() && $shopping_user->shopping_order->user_shop->user->isActiveShop())
|
|
||||||
<a href="{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}" class="badge badge-success" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</a>
|
|
||||||
@else
|
|
||||||
<span class="badge badge-danger" target="_blank">{{$shopping_user->shopping_order->user_shop->getSubdomain(false)}}</span>
|
|
||||||
@endif
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3 mb-3">
|
<div class="col-md-3 mb-3">
|
||||||
<div class="text-muted small">ist Vertriebspartner</div>
|
<div class="text-muted small">ist Vertriebspartner</div>
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,6 @@
|
||||||
<input type="hidden" name="action" value="{{$data['action']}}">
|
<input type="hidden" name="action" value="{{$data['action']}}">
|
||||||
<input type="hidden" name="id" value="{{$data['id']}}">
|
<input type="hidden" name="id" value="{{$data['id']}}">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<div class="form-group col-12">
|
<div class="form-group col-12">
|
||||||
<label for="status" class="form-label">{{ __('Status') }}*</label>
|
<label for="status" class="form-label">{{ __('Status') }}*</label>
|
||||||
|
|
@ -36,6 +34,12 @@
|
||||||
|
|
||||||
<table class="table user-view-table m-0">
|
<table class="table user-view-table m-0">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Betrag:</td>
|
||||||
|
<td>
|
||||||
|
{{ $value->getFormattedTotal()." €" }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Zahlungsart:</td>
|
<td>Zahlungsart:</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -215,8 +215,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="modal fade" id="modals-credit">
|
<div class="modal fade" id="modals-credit">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<form class="modal-content" action="{{ route('admin_payments_credit_create') }}" method="post">
|
<form class="modal-content" action="{{ route('admin_payments_credit_create') }}" method="post">
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
{!! Form::close() !!}
|
{!! Form::close() !!}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-datatable table-responsive pt-0">
|
<div class="card-datatable table-responsive pt-0">
|
||||||
|
|
|
||||||
|
|
@ -88,9 +88,6 @@
|
||||||
oTable.draw();
|
oTable.draw();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*$('#filter_user_status').on('change', function(){
|
/*$('#filter_user_status').on('change', function(){
|
||||||
$('#form_filter_user_status').submit();
|
$('#form_filter_user_status').submit();
|
||||||
});*/
|
});*/
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,14 @@
|
||||||
<li class="sidenav-item Request::is('user/payment/paycredit') ? ' active' : '' }} {{ Request::is('user/payment/paycredit') ? ' active' : '' }}">
|
<li class="sidenav-item Request::is('user/payment/paycredit') ? ' active' : '' }} {{ Request::is('user/payment/paycredit') ? ' active' : '' }}">
|
||||||
<a href="{{ route('user_payment_paycredit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cash"></i><div>{{ __('navigation.paycredit') }}</div></a>
|
<a href="{{ route('user_payment_paycredit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-cash"></i><div>{{ __('navigation.paycredit') }}</div></a>
|
||||||
</li>
|
</li>
|
||||||
{{--
|
|
||||||
<li class="sidenav-item Request::is('user/payment/credit') ? ' active' : '' }} {{ Request::is('user/payment/credit') ? ' active' : '' }}">
|
<li class="sidenav-item Request::is('user/payment/credit') ? ' active' : '' }} {{ Request::is('user/payment/credit') ? ' active' : '' }}">
|
||||||
<a href="{{ route('user_payment_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cash"></i><div>{{ __('navigation.commissions') }}</div></a>
|
<a href="{{ route('user_payment_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cash"></i><div>{{ __('navigation.credit') }}</div></a>
|
||||||
</li>
|
</li>
|
||||||
--}}
|
|
||||||
|
<li class="sidenav-item Request::is('user/payment/revenue') ? ' active' : '' }} {{ Request::is('user/payment/revenue') ? ' active' : '' }}">
|
||||||
|
<a href="{{ route('user_payment_revenue') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-trending-up"></i><div>{{ __('navigation.revenue') }}</div></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="sidenav-item{{ Request::is('user/edit') ? ' active' : '' }}">
|
<li class="sidenav-item{{ Request::is('user/edit') ? ' active' : '' }}">
|
||||||
<a href="{{ route('user_edit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-create"></i><div>{{ __('navigation.my_data') }}</div></a>
|
<a href="{{ route('user_edit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-create"></i><div>{{ __('navigation.my_data') }}</div></a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
|
|
@ -304,7 +304,7 @@
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{{ __('Datum') }}/{{ __('Leistungsdatum)') }}: {{ $credit_date }}
|
{{ __('Datum') }}/{{ __('Leistungsdatum') }}: {{ $credit_date }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@if($user->account->tax_number)
|
@if($user->account->tax_number)
|
||||||
|
|
|
||||||
58
resources/views/user/payment/credit.blade.php
Normal file
58
resources/views/user/payment/credit.blade.php
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
@extends('layouts.layout-2')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h4 class="font-weight-bold py-2 mb-2">
|
||||||
|
{{ __('navigation.my_account') }} / {{ __('navigation.credit') }}
|
||||||
|
</h4>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-datatable table-responsive">
|
||||||
|
<table class="datatables-style table table-striped table-bordered" id="datatable-user-credit">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{__('G.Nr.')}}</th>
|
||||||
|
<th>{{__('Gutschrift')}}</th>
|
||||||
|
<th>{{__('Betrag') }}</th>
|
||||||
|
<th>{{__('Datum') }}</th>
|
||||||
|
<th>{{__('Zahlung')}}</th>
|
||||||
|
<th>{{__('aus Bestellung / Gutschrift')}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$( document ).ready(function() {
|
||||||
|
var oTable = $('#datatable-user-credit').DataTable({
|
||||||
|
"processing": true,
|
||||||
|
"serverSide": true,
|
||||||
|
ajax: {
|
||||||
|
url: '{!! route( 'user_payment_credit_datatable') !!}',
|
||||||
|
data: function(d) {
|
||||||
|
//d.filter_sales_year = $('select[name=filter_sales_year]').val();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"order": [[0, "desc" ]],
|
||||||
|
"columns": [
|
||||||
|
{ data: 'credit_number', name: 'credit_number' },
|
||||||
|
{ data: 'credit', name: 'credit', orderable: false, searchable: false },
|
||||||
|
{ data: 'total', name: 'total' },
|
||||||
|
{ data: 'date', name: 'date' },
|
||||||
|
{ data: 'status', name: 'status', searchable: false },
|
||||||
|
{ data: 'user_margins', name: 'user_margins', orderable: false },
|
||||||
|
],
|
||||||
|
"bLengthChange": false,
|
||||||
|
"iDisplayLength": 100,
|
||||||
|
"language": {
|
||||||
|
"url": "/js/German.json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
/*$('#filter_sales_year').on('change', function(){
|
||||||
|
oTable.draw();
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-datatable table-responsive">
|
<div class="card-datatable table-responsive">
|
||||||
<table class="datatables-style table table-striped table-bordered">
|
<table class="datatables-style table table-striped table-bordered" id="datatable-user-pay-credit">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 55%">Mitteilung</th>
|
<th style="width: 55%">Mitteilung</th>
|
||||||
|
|
@ -18,30 +18,39 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@if($user && $user->user_pay_credits)
|
|
||||||
@foreach($user->user_pay_credits as $user_pay_credit)
|
|
||||||
<tr>
|
|
||||||
@if($user_pay_credit->status === 3)
|
|
||||||
<th scope="row"> {!! nl2br($user_pay_credit->message) !!}</th>
|
|
||||||
@else
|
|
||||||
<th scope="row">{{ trans('payment.'.$user_pay_credit->message) }}
|
|
||||||
@if($user_pay_credit->shopping_order_id)
|
|
||||||
<a class="btn btn-outline-secondary btn-xs" href="{{ route('admin_sales_users_detail', [$user_pay_credit->shopping_order_id]) }}"><i class="ion ion-md-eye"></i></a>
|
|
||||||
@endif
|
|
||||||
</th>
|
|
||||||
@endif
|
|
||||||
<td><div class="no-line-break">{{ formatNumber($user_pay_credit->credit) }} €</div></td>
|
|
||||||
<td><div class="no-line-break">{{ formatNumber($user_pay_credit->old_credit_total) }} €</div></td>
|
|
||||||
<td><div class="no-line-break">{{ formatNumber($user_pay_credit->new_credit_total) }} €</div></td>
|
|
||||||
<td><div class="no-line-break">{{ formatDate($user_pay_credit->created_at) }}</div></td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
$( document ).ready(function() {
|
||||||
|
var oTable = $('#datatable-user-pay-credit').DataTable({
|
||||||
|
"processing": true,
|
||||||
|
"serverSide": true,
|
||||||
|
ajax: {
|
||||||
|
url: '{!! route( 'user_payment_paycredit_datatable') !!}',
|
||||||
|
/*data: function(d) {
|
||||||
|
d.filter_user_status = $('select[name=filter_user_status]').val();
|
||||||
|
}*/
|
||||||
|
},
|
||||||
|
"order": [[4, "desc" ]],
|
||||||
|
"columns": [
|
||||||
|
{ data: 'message', name: 'message' },
|
||||||
|
{ data: 'credit', name: 'credit' },
|
||||||
|
{ data: 'old_credit_total', name: 'old_credit_total', orderable: false, searchable: false },
|
||||||
|
{ data: 'new_credit_total', name: 'new_credit_total', orderable: false, searchable: false },
|
||||||
|
{ data: 'created_at', name: 'created_at' },
|
||||||
|
],
|
||||||
|
"bLengthChange": false,
|
||||||
|
"iDisplayLength": 100,
|
||||||
|
"language": {
|
||||||
|
"url": "/js/German.json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
/*$('#filter_user_status').on('change', function(){
|
||||||
|
oTable.draw();
|
||||||
|
});*/
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
||||||
83
resources/views/user/payment/revenue.blade.php
Normal file
83
resources/views/user/payment/revenue.blade.php
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
@extends('layouts.layout-2')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h4 class="font-weight-bold py-2 mb-2">
|
||||||
|
{{ __('navigation.my_account') }} / {{ __('navigation.revenue') }}
|
||||||
|
</h4>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6 mb-0 mt-2 mb-2">
|
||||||
|
{!! Form::open(['url' => route('user_payment_revenue'), 'class' => 'form-horizontal', 'id'=>'form_filter_year']) !!}
|
||||||
|
<label class="form-label" for="filter_year">Filter Jahr</label>
|
||||||
|
<select class="custom-select" name="filter_year" id="filter_year">
|
||||||
|
@foreach($years as $year)
|
||||||
|
<option value="{{$year}}" @if($active_year == $year) selected @endif>{{$year}}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
{!! Form::close() !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@foreach ($months as $month)
|
||||||
|
|
||||||
|
@php($date = $active_year."-".$month."-01")
|
||||||
|
<div class="card mb-4">
|
||||||
|
<h6 class="card-header py-1 px-3">
|
||||||
|
<div class="card-header-title"> {{ App\Services\HTMLHelper::getMonth($month) }} {{ $active_year }}</div>
|
||||||
|
</h6>
|
||||||
|
<div class="card-body">
|
||||||
|
<table class="table table-striped table-bordered">
|
||||||
|
<tr>
|
||||||
|
<td class="text-left font-weight-semibold">{{__('Umsatz gesamt')}}:</td>
|
||||||
|
<td class="text-right font-weight-bold">
|
||||||
|
{!! \App\Services\UserMarign::getMontlyPrice($user, $date, true) !!} €*
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left font-weight-semibold">{{__('Umsatz Staffelrabatt')}}:</td>
|
||||||
|
<td class="text-right font-weight-bold">
|
||||||
|
{!! \App\Services\UserMarign::getMontlyAmount($user, $date, true) !!} €*
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{-- <tr>
|
||||||
|
<td class="text-left font-weight-semibold">{{__('Umsatz Zahlung offen')}}:</td>
|
||||||
|
<td class="text-right font-weight-bold">
|
||||||
|
{!! \App\Services\UserMarign::getMontlyPriceOpen($user, $date, true) !!} €*
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
--}}
|
||||||
|
</table>
|
||||||
|
{{--
|
||||||
|
<h6>{{__('Provision')}}</h6>
|
||||||
|
<table class="table table-striped table-bordered">
|
||||||
|
<tr>
|
||||||
|
<td class="text-left font-weight-semibold">{{__('Vertriebspartner Provision')}} pending:</td>
|
||||||
|
<td class="text-right font-weight-bold">
|
||||||
|
{!! \App\Services\UserMarign::getMontlyPartnerCommissionPending($user, $date, true) !!} €*
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="text-left font-weight-semibold">{{__('Vertriebspartner Provision')}} bestätigt:</td>
|
||||||
|
<td class="text-right font-weight-bold">
|
||||||
|
{!! \App\Services\UserMarign::getMontlyPartnerCommissionOpen($user, $date, true) !!} €*
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
--}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$( document ).ready(function() {
|
||||||
|
|
||||||
|
$('#filter_year').on('change', function(){
|
||||||
|
$('#form_filter_year').submit();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Route;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -14,6 +13,47 @@ use Illuminate\Support\Facades\Route;
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Route::middleware('auth:api')->get('/user', function (Request $request) {
|
//Route::post('login', 'API\UserController@login');
|
||||||
return $request->user();
|
//Route::post('register', 'API\UserController@register');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Route::post('login', 'Api\APIController@login');
|
||||||
|
|
||||||
|
|
||||||
|
//Route::get('/payment/status', 'Api\PayoneController@paymentStatus')->name('api.payment_status');
|
||||||
|
//Route::post('/payment/status', 'Api\PayoneController@paymentStatus')->name('api.payment_status');
|
||||||
|
//Route::post('login', 'Api\AuthController@login');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Route::group([
|
||||||
|
'prefix' => 'auth'
|
||||||
|
], function () {
|
||||||
|
Route::post('login', 'Api\AuthController@login');
|
||||||
|
//Route::post('signup', 'Api\AuthController@signup');
|
||||||
|
|
||||||
|
Route::group([
|
||||||
|
'middleware' => 'auth:api'
|
||||||
|
], function() {
|
||||||
|
Route::post('logout', 'Api\AuthController@logout');
|
||||||
|
Route::post('checked', 'Api\AuthController@checked');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::group([
|
||||||
|
'prefix' => 'wp'
|
||||||
|
], function () {
|
||||||
|
Route::group([
|
||||||
|
'middleware' => 'auth:api'
|
||||||
|
], function() {
|
||||||
|
Route::post('show', 'Api\ShoppingUserController@show');
|
||||||
|
Route::post('store', 'Api\ShoppingUserController@store');
|
||||||
|
Route::post('update', 'Api\ShoppingUserController@update');
|
||||||
|
Route::post('order', 'Api\ShoppingUserController@order');
|
||||||
|
Route::post('status', 'Api\ShoppingUserController@status');
|
||||||
|
Route::post('delete', 'Api\ShoppingUserController@delete');
|
||||||
|
Route::post('cancel', 'Api\ShoppingUserController@cancel');
|
||||||
|
Route::post('open', 'Api\ShoppingUserController@open');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -181,10 +181,15 @@ Route::group(['middleware' => ['auth:user']], function() {
|
||||||
|
|
||||||
|
|
||||||
Route::get('/user/payment/paycredit', 'User\PaymentController@paycredit')->name('user_payment_paycredit');
|
Route::get('/user/payment/paycredit', 'User\PaymentController@paycredit')->name('user_payment_paycredit');
|
||||||
//Route::post('/user/payment/paycredit', 'User\PaymentController@index')->name('user_payment_paycredit');
|
Route::get('/user/payment/paycredit/datatable', 'User\PaymentController@paycredit_datatable')->name('user_payment_paycredit_datatable');
|
||||||
|
|
||||||
Route::get('/user/payment/credit', 'User\PaymentController@credit')->name('user_payment_credit');
|
Route::get('/user/payment/credit', 'User\PaymentController@credit')->name('user_payment_credit');
|
||||||
//Route::post('/user/payment/paycredit', 'User\PaymentController@index')->name('user_payment_paycredit');
|
Route::get('/user/payment/credit/datatable', 'User\PaymentController@credit_datatable')->name('user_payment_credit_datatable');
|
||||||
|
|
||||||
|
Route::get('/user/payment/revenue', 'User\PaymentController@revenue')->name('user_payment_revenue');
|
||||||
|
Route::post('/user/payment/revenue', 'User\PaymentController@revenue')->name('user_payment_revenue');
|
||||||
|
|
||||||
|
//Route::get('/user/payment/credit/datatable', 'User\PaymentController@credit_datatable')->name('user_payment_credit_datatable');
|
||||||
|
|
||||||
Route::get('/user/checkout/{identifier?}', 'User\CheckoutController@checkout')->name('user_checkout');
|
Route::get('/user/checkout/{identifier?}', 'User\CheckoutController@checkout')->name('user_checkout');
|
||||||
Route::post('/user/checkout_store/{identifier?}', 'User\CheckoutController@store')->name('user_checkout_store');
|
Route::post('/user/checkout_store/{identifier?}', 'User\CheckoutController@store')->name('user_checkout_store');
|
||||||
|
|
|
||||||
51
storage/oauth-private.key
Normal file
51
storage/oauth-private.key
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIJKAIBAAKCAgEAnz56fXNAkVpe47wSxxWTSOmUynQ4J+uzBfv1CMVcilRFKVxO
|
||||||
|
zLLZBQ8Z6QgyTBS1sp0X9awwJOYeEBzXcQhIB6NnvWYisiSjMivpHuycpWfsZywO
|
||||||
|
Mj0He7NHFmmt8QuxKVb+njXXRUNExkw45VBiBM0mPHYmSYoIDB7zr+z2zFdCiZwk
|
||||||
|
ihb1Qk7LkIfeAAhnqPwFM2QMM4+oLugFS+0r6DGNx+4o4MzJV+7RVvMWC658tDKT
|
||||||
|
pWeb+Xm8c7JvGedLmh1HGZj9rLbEhQ0s5dBHVHroFRcpdt2aIrS3gxtQgeAXYkBi
|
||||||
|
pXvyDSILaE+bIaXVkIG1YPnQfb//55xrG1Icc0+YafPldMlPhn1brzJHQkcNjVHm
|
||||||
|
C4uLIsc9U4o88WRl2z4J3lW8zp81T9jxUDN4W9jm6AkNpqxheldEcYT+j2NzVgc2
|
||||||
|
H889Ylq6QrMh+ucbL7RiH9s1qeD1WEkM+g2vrqtId+I4c299NcjE3sRLuLWgqS1v
|
||||||
|
dS3x6S9qGOhEXDQB22ENeeB+JLqXvdVvxWg5k3F3HFLa+vYf0tRWDpYG3nx7N5hB
|
||||||
|
uJR1mk04ehe6pPDMDCUSTewlOSBRFiBV23GAz9btwRMn6oF6DzFnkdmjeaS4OKkr
|
||||||
|
oDr2YaC9rvPWdna6s4PO+79L2Akb/BXI0+BhvIaQVzHSLbW8v0KfSTY5JiMCAwEA
|
||||||
|
AQKCAgAA3XIE5G9hWsBRNGBVvIRETSCFyQPVE66xRaEbHxdVmQeXJe03p3EOWfqm
|
||||||
|
DWlYiHREOB49M2Y/jRB0vfNdpdHeWMDjgn6FwTUxvJNTm61uKJZcKR0aoMI9pcep
|
||||||
|
E4HiYVHhC5vueBRnR+pDuX5FoJ4nsIWYpnumwp0wk6p3Ni5RBdhSrwpzxZQnfA4X
|
||||||
|
BuXp0iHeBSByGwUF8q3TM2dz9iHa7Qn8IAsQzYv6ck2oz0E7ZwM+Z1ft+hYa0NJ5
|
||||||
|
PmrkFSGQAMC2HuKh4YxHvL6VsP/yMYi5NJsBDkscDSdCCw/w5Kq72eWvSHEUKS8u
|
||||||
|
reAF2sTCODIoCLNdO4HEXFEooNWOuJno8rApq5JGo0Iqsmg6S2XkC8oW2x+tEHpv
|
||||||
|
KdirGTtsSqJDb9GNShH4wvPjAUoaLng49X929A2LZYmmYRehgotcTnCu5RGcbiJ7
|
||||||
|
xSaTfixaeTtPmYgJtvWswE0sZOOsPODT/vZl8tmOk8yDh8tboSFft54QsMSFQazZ
|
||||||
|
ENn6sc9kRHYuUbYrCWf12A+5FzAGWkeezIGJMK4/EuLHwCz+G5xbwron2vBiK97n
|
||||||
|
Bf+hW3w2yCunvoBbYDjN0D4P73Q+knWzRyIsH6VAPVVOFdrGKJEj3eQVTCv9x3dO
|
||||||
|
VZLsLx8X8Tu7xJcxeQjd7hH4JhnUYTHgNTMQXeElESfgRWj6wQKCAQEA0qDAwUzh
|
||||||
|
87dhgKosqhSkncsgImfvjLJSj+BHlRNNFWtS8eWgGA6i5MnCD+egHtwfymDr0LtF
|
||||||
|
Sxts0i7jj/7tVCbRxDWF93hyMqP1c9z7W3CRl/4McNu2BtQMt94urnbpoTmxFX5Y
|
||||||
|
AfeG1Oai57y+Nht+2BJfKvNFYZLWZSUGrFbd0fRU7sCOKSh8OUWZbn+ggrSuRmFM
|
||||||
|
ugbE3vTaJ7tCS1/pBwU2889ucM3DBfCgMIeWGvcy2xqfpU+cL+u4CRdOosXqAupn
|
||||||
|
O4HxKAQxz8pL6uMZHvSA20uOFkm1KMJUMAHisEaHgrLm8/nF0VXEaCYjW1OA9wYZ
|
||||||
|
iA3PvGOM5niu+QKCAQEAwYweszxFXNL13HlzvL8OHC6xAs+fcBUVI5bVGq1G5Z1k
|
||||||
|
TS5CfyBuKEE/dSfro6JeKY8GfQ0FrpQcj9ZVVVnOhJsBh1MOg/1jZUXUs4PQ+/Tw
|
||||||
|
YwSOfr8rOX2MTaQ6EYK+4+Xg1oLM3g65e7ZySqlHz1aIirvJMCV0M+DLW4oWZob6
|
||||||
|
yb354CG5ZCIh9DTZV9h7V8SH2HWVoS1drwNDkEcXcX2OgXnuJMrEIK2q6nzRnJ7g
|
||||||
|
MJ97UD/muihISawq8lmqZ7wp4SzJ4E59+eU7P+HMZuvSkuFp+hD5UwVgtgo9kgcm
|
||||||
|
4iXvsGaPHvTvHyDs5v1o+LeDepoNv0sE4Zmhf8BY+wKCAQAVMGjTyWk9vGgJqpT9
|
||||||
|
sz/wQ9wCuhQGQnY91SE+ZQevLPHWNfSKFwbaH1Xvhay9DgYAtQlkIULSUHr9Fgx8
|
||||||
|
kvfLLHCT3ZKRl8NdRtNNiaCbzVJISR11SRUh0LlK0gY+NOZB+uzOrbwqznz49A7V
|
||||||
|
Y057YP68u/Ro/LoxG7WHzVbDhaWhFoRo1GQ4zcLZfB/4VsyN+aFCoU03tbCegWFk
|
||||||
|
99iufoKR2ztxAaAppvmEonVrDGjUY6PxGNeQqNacl4kXGQonI+Pr0Sr7eJILJYjh
|
||||||
|
T4edpKUFUTGZXht4MIgSBqKzha0JcL73Lgo/5xO4gHlWxOdvq5Hgx/NPlZwdZqJp
|
||||||
|
GSD5AoIBADuQbM5KSSp0/hc5BWZcAfKoZ+9uiCnNQzEttS29j+kQVBLwnqRTDbOz
|
||||||
|
yNy8SWeVi5cMnjmT7WC50kRt+NsIhWcH8SN9ayUxsQo0wG3yrjksO2Ktv1DAcoQB
|
||||||
|
4FDwrrI+45JtZ5F8taHNNEYfcvMJP8FOZz0S56q6jBV/I/Zq+9PXzIyTu7e/iTeI
|
||||||
|
zZxDO3Quel8ba5cxMLhmpsM6pOtdBZj2xAmSxbhq8osAB26ctUGXH3W3TxL2Z4J4
|
||||||
|
7S5HHvxwneHI5baXuxUd8uUaJ+7UBbzS7H4pgxzjZmenawj7A9HSA6RremV2Wqtz
|
||||||
|
Q7f3wRChglGw4HS1vm9Vng3z4uDXCEsCggEBAKBapFX9BHNC+Z0zWOrdgxbBonz9
|
||||||
|
V01SKucH9mNvLyhH9nOsBe0IRKFGtM9BoDy/y+K0s5Cd4u1HprbMALMy74kMU/Lx
|
||||||
|
cS4q7qEOXfskx9PaJPPKmFaHleX//Udl+dAFTVhZ4OhZnnsRs/2HiHyq0X6joypZ
|
||||||
|
WfB8UK7CKka+SVHU6HGKE+J2XQoQJaOqKX9Enfedlq8qOy/89fvvG6HEhJKcMsZr
|
||||||
|
mOli2KVVVvMtzOxfOkiRMZcpilNTmxtLuXNI/VnnKK1Dah/FcFPV5Lp+oIyQE262
|
||||||
|
1VNdI2MbAUa+slFCOwg5GanYiinebcQfLRaEkYf0G83B6D1x2joJzGGYS3I=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
14
storage/oauth-public.key
Normal file
14
storage/oauth-public.key
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnz56fXNAkVpe47wSxxWT
|
||||||
|
SOmUynQ4J+uzBfv1CMVcilRFKVxOzLLZBQ8Z6QgyTBS1sp0X9awwJOYeEBzXcQhI
|
||||||
|
B6NnvWYisiSjMivpHuycpWfsZywOMj0He7NHFmmt8QuxKVb+njXXRUNExkw45VBi
|
||||||
|
BM0mPHYmSYoIDB7zr+z2zFdCiZwkihb1Qk7LkIfeAAhnqPwFM2QMM4+oLugFS+0r
|
||||||
|
6DGNx+4o4MzJV+7RVvMWC658tDKTpWeb+Xm8c7JvGedLmh1HGZj9rLbEhQ0s5dBH
|
||||||
|
VHroFRcpdt2aIrS3gxtQgeAXYkBipXvyDSILaE+bIaXVkIG1YPnQfb//55xrG1Ic
|
||||||
|
c0+YafPldMlPhn1brzJHQkcNjVHmC4uLIsc9U4o88WRl2z4J3lW8zp81T9jxUDN4
|
||||||
|
W9jm6AkNpqxheldEcYT+j2NzVgc2H889Ylq6QrMh+ucbL7RiH9s1qeD1WEkM+g2v
|
||||||
|
rqtId+I4c299NcjE3sRLuLWgqS1vdS3x6S9qGOhEXDQB22ENeeB+JLqXvdVvxWg5
|
||||||
|
k3F3HFLa+vYf0tRWDpYG3nx7N5hBuJR1mk04ehe6pPDMDCUSTewlOSBRFiBV23GA
|
||||||
|
z9btwRMn6oF6DzFnkdmjeaS4OKkroDr2YaC9rvPWdna6s4PO+79L2Akb/BXI0+Bh
|
||||||
|
vIaQVzHSLbW8v0KfSTY5JiMCAwEAAQ==
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
Loading…
Add table
Add a link
Reference in a new issue