diff --git a/app/Console/Commands/BusinessStore.php b/app/Console/Commands/BusinessStore.php
index 3670dc5..911c2c7 100644
--- a/app/Console/Commands/BusinessStore.php
+++ b/app/Console/Commands/BusinessStore.php
@@ -5,10 +5,13 @@ namespace App\Console\Commands;
use App\Models\Setting;
use Illuminate\Console\Command;
use App\Cron\BusinessUsersStore;
+use App\Cron\UserLevelUpdate;
+use App\Cron\UserPaymentCredits;
class BusinessStore extends Command
{
/**
+ * ln -sfv /usr/bin/php73 /usr/bin/php
* php artisan business:store month year
* The name and signature of the console command.
*
@@ -23,6 +26,15 @@ class BusinessStore extends Command
*/
protected $description = 'Create Business Structur and UserDetails';
+ private $timeStart;
+ private $month;
+ private $year;
+
+ private $sendCreditMail = false;
+ private $sendUpdateMail = true;
+
+
+
/**
* Create a new command instance.
*
@@ -40,39 +52,139 @@ class BusinessStore extends Command
*/
public function handle()
{
- $day = (int) Setting::getContentBySlug('day-exectute-business-structur');
- $this->info('RUN Command BusinessStore on Day '. $day);
+ $executeDay = (int) Setting::getContentBySlug('day-exectute-business-structur');
+ $this->info('RUN Command BusinessStore on Day: '. $executeDay);
- $timeStart = microtime(true);
- $this->info('RUN Command BusinessStore');
+ $presentDay = (int) date('d');
+ $this->info('RUN Command BusinessStore present Day: '. $presentDay);
- $month = $this->argument('month');
- $year = $this->argument('year');
- if(!$month || !$year){
- $this->info('need arguments month & year');
+ if($executeDay !== $presentDay){
+ $this->info('NOT RUN Command BusinessStore is not present Day: '. $presentDay);
return 0;
}
- //$this->info('month: '.$month.' year:'.$year);
- for($i = 1; $i<=6; $i++){
+ $this->timeStart = microtime(true);
+ //$this->info('RUN Command BusinessStore');
+ $this->month = $this->argument('month');
+ $this->year = $this->argument('year');
+
+
+ if(!$this->month || !$this->year){
+ $this->month = (int) date("m", strtotime("-1 month", time()));
+ $this->year = (int) date("Y", strtotime("-1 month", time()));
+ }
+
+ $this->info('RUN Command BusinessStore on month: '.$this->month.' | year: '.$this->year);
+
+ //erstellt die Business Struktur und die Details
+ $this->storeBusinessStructureUsersDetailMonth();
+
+ //Struktur und die Details für mehrere Montate for / to month
+ //$this->storeBusinessStructureUsersDetailPeriod(1, 6);
+
+ //erstellt die Gutschriften
+ //$this->userBusinessCommissionsToCredit();
+
+ //erstellt aus den Gutschriften die PDFs
+ //$this->userCreatePaymentCreditsPDF();
+
+ //update user Level
+ //$this->userLevelUpdate();
+ return 0;
+
+ //\Log::info('Cron is running');
+ //return 0;
+ }
+
+ private function storeBusinessStructureUsersDetailMonth(){
+
+ $this->info('storeBusinessStructureUsersDetailMonth month: '.$this->month.' year:'.$this->year);
+ $businessUsersStore = new BusinessUsersStore($this->month, $this->year);
+ $businessUsersStore->storeUserBusinessStructure();
+ $businessUsersStore->storeBusinessUsersDetail();
+ $bool = $businessUsersStore->storeBusinessCompleted();
+
+ $diff = microtime(true) - $this->timeStart;
+ $sec = intval($diff);
+ $micro = $diff - $sec;
+
+ $this->info('END Command storeBusinessStructureUsersDetailMonth: '.$bool. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
+ }
+
+ private function userBusinessCommissionsToCredit(){
+
+ $this->info('userBusinessCommissionsToCredit month: '.$this->month.' year:'.$this->year);
+ $userPaymentCredits = new UserPaymentCredits($this->month, $this->year);
+ $userBusinesses = $userPaymentCredits->getUserBusinessByMonthYear();
+
+ foreach($userBusinesses as $userBusiness){
+ $ret = $userPaymentCredits->addUserCreditItem($userBusiness);
+ $this->info('userBusinessCredit: '.$ret->user_id.' : Team: '.$ret->commission_team_total.' | Shop: '.$ret->commission_shop_sales);
+ }
+ $diff = microtime(true) - $this->timeStart;
+ $sec = intval($diff);
+ $micro = $diff - $sec;
+
+ $this->info('END Command userBusinessCommissionsToCredit: | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
+ }
+
+ private function userCreatePaymentCreditsPDF(){
+
+ $this->info('userCreatePaymentCreditsPDF month: '.$this->month.' year:'.$this->year);
+ $userPaymentCredits = new UserPaymentCredits($this->month, $this->year);
+ $creditItemUsers = $userPaymentCredits->getUserCreditItemUsersByMonthYear();
+
+ foreach($creditItemUsers as $creditItemUser){
+ $bool = $userPaymentCredits->makeCreditPaymentPDF($creditItemUser->user_id, $this->sendCreditMail);
+ $this->info('creditsPDF: '.$bool.' user_id: '.$creditItemUser->user_id);
+ }
+
+ $diff = microtime(true) - $this->timeStart;
+ $sec = intval($diff);
+ $micro = $diff - $sec;
+
+ $this->info('END Command userCreatePaymentCreditsPDF: | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
+ }
+
+ private function userLevelUpdate(){
+
+ $this->info('userLevelUpdate month: '.$this->month.' year:'.$this->year);
+
+ $userLevelUpdate = new UserLevelUpdate($this->month, $this->year);
+ $levelUpdateUsers = $userLevelUpdate->getUserBusinessByMonthYear();
+
+ foreach($levelUpdateUsers as $userBusiness){
+ $ret = $userLevelUpdate->makeUserLevelUpdate($userBusiness, $this->sendUpdateMail);
+ if($ret){
+ $this->info('updateLevel: '.$userBusiness->user->id.' | '.$userBusiness->user->email.' | '.
+ 'from: '.$userBusiness->m_level_id.' '.$userBusiness->user_level_name.' | '.
+ 'to: '.$ret);
+ }
+
+ }
+ $diff = microtime(true) - $this->timeStart;
+ $sec = intval($diff);
+ $micro = $diff - $sec;
+
+ $this->info('END Command userLevelUpdate: | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
+ }
+
+
+ private function storeBusinessStructureUsersDetailPeriod($for, $to){
+ for($i = $for; $i<=$to; $i++){
$month = $i;
- $this->info('month: '.$month.' year:'.$year);
- $businessUsersStore = new BusinessUsersStore($month, $year);
+ $this->info('Store Business Structure Users Detail month: '.$month.' year:'.$this->year);
+ $businessUsersStore = new BusinessUsersStore($month, $this->year);
$businessUsersStore->storeUserBusinessStructure();
$businessUsersStore->storeBusinessUsersDetail();
$bool = $businessUsersStore->storeBusinessCompleted();
- $diff = microtime(true) - $timeStart;
+ $diff = microtime(true) - $this->timeStart;
$sec = intval($diff);
$micro = $diff - $sec;
- $this->info('BusinessStore: '.$bool. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
+ $this->info('Period BusinessStore: '.$bool. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
}
-
+ }
- //$this->info('END Command BusinessStore: '.$bool. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms");
-
- // \Log::info('Cron is running');
- //return 0;
- }
}
diff --git a/app/Cron/UserLevelUpdate.php b/app/Cron/UserLevelUpdate.php
new file mode 100644
index 0000000..71df4f1
--- /dev/null
+++ b/app/Cron/UserLevelUpdate.php
@@ -0,0 +1,68 @@
+month = $month;
+ $this->year = $year;
+ }
+
+
+ public function getUserBusinessByMonthYear(){
+ return UserBusiness::select('user_businesses.*')
+ ->where('user_businesses.month', '=', $this->month)
+ ->where('user_businesses.year', '=', $this->year)
+ ->where('user_businesses.next_qual_user_level', '!=', NULL)
+ ->get();
+ }
+
+ public function makeUserLevelUpdate(UserBusiness $userBusiness, $send_update_mail){
+ $ret = false;
+ $nextQualUserLevel = $userBusiness->next_qual_user_level;
+ if(!isset($nextQualUserLevel['hasUpdated']) && $userBusiness->user){
+ $userBusiness->user->m_level = $nextQualUserLevel['id'];
+ $userBusiness->user->save();
+ $nextQualUserLevel['hasUpdated'] = 1;
+ $userBusiness->next_qual_user_level = $nextQualUserLevel;
+ $userBusiness->save();
+ $ret = $nextQualUserLevel['id'].' '.$nextQualUserLevel['name'];
+ if($send_update_mail){
+ self::sendUpdateMail($userBusiness->user, $userBusiness->total_qual_tp, $nextQualUserLevel['name']);
+ }
+
+ }
+ return $ret;
+ }
+
+
+ private function sendUpdateMail(User $user, $tp, $to){
+ $bcc = [];
+ $email = $user->email;
+ if(!$email){
+ if($user->mode === 'test'){
+ }else{
+ $email = config('app.checkout_mail');
+ }
+ }
+ if($user->mode === 'test'){
+ $bcc[] = config('app.checkout_test_mail');
+ }else{
+ $bcc[] = config('app.checkout_mail');
+ }
+ Mail::to($email)->bcc($bcc)->send(new MailUserLevelUpdate($tp, $to));
+ }
+}
diff --git a/app/Cron/UserPaymentCredits.php b/app/Cron/UserPaymentCredits.php
new file mode 100644
index 0000000..90ec5a6
--- /dev/null
+++ b/app/Cron/UserPaymentCredits.php
@@ -0,0 +1,87 @@
+month = $month;
+ $this->year = $year;
+ }
+
+
+ public function getUserBusinessByMonthYear(){
+ return UserBusiness::select('user_businesses.*')
+ ->where('user_businesses.month', '=', $this->month)
+ ->where('user_businesses.year', '=', $this->year)
+ ->where(function($q) {
+ return $q->where('user_businesses.commission_team_total', '>', 0)
+ ->orWhere('user_businesses.commission_shop_sales', '>', 0);
+ })
+ ->get();
+ }
+
+ public function addUserCreditItem($userBusiness)
+ {
+ $date = HTMLHelper::getMonth($userBusiness->month).' '.$userBusiness->year;
+
+ if($userBusiness->commission_shop_sales > 0){
+ if($this->hasNotUserCreditItem($userBusiness, 1)){
+ UserCreditItem::create([
+ 'user_id' => $userBusiness->user_id,
+ 'user_business_id' => $userBusiness->id,
+ 'credit' => $userBusiness->commission_shop_sales,
+ 'message' => 'Provision Shop '.$date,
+ 'status' => 1,
+ ]);
+ }
+ }
+ if($userBusiness->commission_team_total > 0){
+ if($this->hasNotUserCreditItem($userBusiness, 2)){
+ UserCreditItem::create([
+ 'user_id' => $userBusiness->user_id,
+ 'user_business_id' => $userBusiness->id,
+ 'credit' => $userBusiness->commission_team_total,
+ 'message' => 'Provision Team '.$date,
+ 'status' => 2,
+ ]);
+ }
+ }
+ return $userBusiness;
+
+ }
+
+ public function getUserCreditItemUsersByMonthYear(){
+ return UserCreditItem::select('user_credit_items.*')
+ ->where('paid', '=', false)
+ ->groupBy('user_id')
+ ->get();
+ }
+
+ public function makeCreditPaymentPDF($user_id, $credit_send_mail)
+ {
+ //$user_id = 2;
+ $user = User::findOrFail($user_id);
+ $data = [];
+ if($credit_send_mail){
+ $data['credit_send_mail'] = true;
+ }
+ $credit_repo = new CreditRepository($user);
+ return $credit_repo->create($data);
+ }
+
+ private function hasNotUserCreditItem($userBusiness, $status){
+ return (UserCreditItem::where('user_business_id', $userBusiness->id)
+ ->where('user_id', $userBusiness->user_id)->where('status', $status)->count() > 0) ? false : true;
+ }
+}
diff --git a/app/Http/Controllers/Api/KasController.php b/app/Http/Controllers/Api/KasController.php
index fad930b..4a12020 100755
--- a/app/Http/Controllers/Api/KasController.php
+++ b/app/Http/Controllers/Api/KasController.php
@@ -78,8 +78,8 @@ class KasController extends Controller
]);
$this->CredentialToken = $SoapLogon->KasAuth(json_encode(array(
'KasUser' => $this->kas_user,
- 'KasAuthType' => 'sha1',
- 'KasPassword' => sha1($this->kas_pass),
+ 'KasAuthType' => 'plain',
+ 'KasPassword' => $this->kas_pass,
'SessionLifeTime' => $this->session_lifetime,
'SessionUpdateLifeTime' => $this->session_update_lifetime
)));
diff --git a/app/Http/Controllers/Api/KasSLLController.php b/app/Http/Controllers/Api/KasSLLController.php
index 450a27e..67e1477 100755
--- a/app/Http/Controllers/Api/KasSLLController.php
+++ b/app/Http/Controllers/Api/KasSLLController.php
@@ -55,18 +55,18 @@ diQ860kC4h++erAa8dvB1DUG5oldYYPiEKOyyyn+tNU298QcEkLrG1JcLuUXpfTg
8dPIr+VpGomsvpwGTfJFjlE=
-----END PRIVATE KEY-----";
private static $ssl_certificate_sni_crt = "-----BEGIN CERTIFICATE-----
-MIIGLzCCBRegAwIBAgIRAJ6HzyfKXWCtRn3q9gGkgYEwDQYJKoZIhvcNAQELBQAw
+MIIGMTCCBRmgAwIBAgIRANRDAE1KIec3seJ9ed+Qy4UwDQYJKoZIhvcNAQELBQAw
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
-QTAeFw0yMTA3MjIwMDAwMDBaFw0yMjA3MjIyMzU5NTlaMBgxFjAUBgNVBAMMDSou
+QTAeFw0yMjA3MTIwMDAwMDBaFw0yMzA4MTIyMzU5NTlaMBgxFjAUBgNVBAMMDSou
bWl2aXRhLmNhcmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVOhtO
TJBn5V9SmHmo/EawNiO0VwHOVnnrfnaPD2A1DeKqHmAfMTaybHaCfi+mufV8veem
fY1j6rXq7RFU46SMBbFlfZqKS/3zb2d3yRT7OBU83PV5P8JXHrqEArlmKiOZcPoj
86TTAbq5wwxjFXkePzJSdOdUN/Z1E1tI8ieUQC40tpMsRvf5XOzQZousXBT1P6F9
Q2FbUKEfiEBJ0wjnz74a73U7DebuYGEFPSjVjrkVB11+55y1MBkwg/6JIro+BlXo
rW6Xaifb1PKFbTFQnlC4BAKyPHxNKWZCSHgw/C3A7fBQKHM1wVhZo2BZrumdE+X1
-FOScWlN+M/+TyUybAgMBAAGjggL6MIIC9jAfBgNVHSMEGDAWgBSNjF7EVK2K4Xfp
+FOScWlN+M/+TyUybAgMBAAGjggL8MIIC+DAfBgNVHSMEGDAWgBSNjF7EVK2K4Xfp
m/mbBeG4AY1h4TAdBgNVHQ4EFgQUCS0Y1v7p19isO7cTuP3YrKVr2OcwDgYDVR0P
AQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG
AQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEFBQcCARYX
@@ -74,21 +74,21 @@ aHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEFBQcBAQR4
MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JT
QURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUHMAGG
F2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByCDSoubWl2aXRhLmNh
-cmWCC21pdml0YS5jYXJlMIIBfAYKKwYBBAHWeQIEAgSCAWwEggFoAWYAdQBGpVXr
-dfqRIDC1oolp9PN9ESxBdL79SbiFq/L8cP5tRwAAAXrNeYDBAAAEAwBGMEQCIFzd
-+zLvEGolSmSaa7vaQxv63DuX5vHQggER6/Dh+jZGAiAcUn8AZjF7GQOd4LTzGMhU
-KsGNyn6d3n4cJ9fy9BzRxAB1AEHIyrHfIkZKEMahOglCh15OMYsbA+vrS8do8JBi
-lgb2AAABes15gIYAAAQDAEYwRAIgE0NFzvN7qEre8Bc1C8EsMHD+5PDyQHZRBJkN
-OdxsH9MCIDBSFFZTheD2+nzbHm5WLvAI75xyUvyBx/LEy3XBtjulAHYAKXm+8J45
-OSHwVnOfY6V35b5XfZxgCvj5TV0mXCVdx4QAAAF6zXmAWwAABAMARzBFAiAbRPVk
-w3AIzVF7gE0R3ZJgou7P4o9KL2yRgAaeGbbClgIhAPL86sD0GwPZ9ZsL31q07Y/S
-1kq5ohBt907fOisMwI0HMA0GCSqGSIb3DQEBCwUAA4IBAQAaYeV2NtUM2HkxWbfd
-3jVAs1PdBIYtktBpx7UwNphylqF4qlsZwV5XZxeD/K7mTW5tgNaHHrEjaOME/y1s
-rWTIt1D+UUmDdiSgKfVF5gfajPFVepOcb5OC+ielevvnVJn/6Tqa/RNz0GstwMnB
-3lBaoP7oGuBy2Ow3LG0+yO4Q0j82gIkOM15CsjY9ZK540HAXllxKGN29Yf+RDkqE
-zRk4TE12MEW+Ugw6RxDSUCfKmev4iUAT9vq790OESAfOKY1zg/6hIF3noH1IFt1d
-e0wVWz58KTXBqHsmxX3F1PUuT6NY+wRsVfnc8hR8mfJibJ0VL8wxjzScDXyHpZr/
-o3I7
+cmWCC21pdml0YS5jYXJlMIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgAdQCt9776
+fP8QyIudPZwePhhqtGcpXc+xDCTKhYY069yCigAAAYHxRovYAAAEAwBGMEQCIA3z
+UR5BFV7bwBcdRhS8mru20uq36DNz3ILivZh9yl4CAiAUjDxqZBW0Po/0Rm0gumI1
+VBZfqMSDiA7Cr1peGN8B8wB3AHoyjFTYty22IOo44FIe6YQWcDIThU070ivBOlej
+UutSAAABgfFGi6UAAAQDAEgwRgIhAN9s3/v2ygh1tfPQ8iX2dLZdOVxyuvC7bf15
+KP4NQyabAiEAz88hRBxRu3FifpLaYNjwxy1fRUc2luWfDdw+f31TOfoAdgDoPtDa
+PvUGNTLnVyi8iWvJA9PL0RFr7Otp4Xd9bQa9bgAAAYHxRot7AAAEAwBHMEUCIQCQ
+RYqkeiRlStQacqUjuw5435NqNDqDlydAVYgywX05pwIgdcFtcLMGevO/KRyUeuWw
+8hYY6y1S7VYVdcFIuZVp5mswDQYJKoZIhvcNAQELBQADggEBAA0eEYSKcbgEPczo
+ABXpVsfbmaZqPhAKqcqKeGUcmFo7JHVPRUyck8RAF+SravyaHhilygU727QG4oUt
+riCewV39cKD2m7CO24WHe5+Fw8eslsJE+DBq/2WpLRJIGSWLl1r7WUELKQhqEYkr
+DCpkDXpG+lsDIfc5DC4dPLSWc9ezObsS4KEMCMDw+bj5GMGV6dHQZxAnbyqi71+v
+4+AOHpcYfe6v63w82M0YN5oTnaOukLVDgMXJ7WZP2op7atojB7DeM7k3+fj79kVJ
+jUGlvHLdN9jsczEZGGxL3w5oIjC4HMK1U5kyzEFWpc8ZLg+YPvF8w15lbhIXG94l
+JscmCFU=
-----END CERTIFICATE-----";
private static $ssl_certificate_sni_bundle = "-----BEGIN CERTIFICATE-----
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
diff --git a/app/Http/Controllers/BusinessCommissionController.php b/app/Http/Controllers/BusinessCommissionController.php
new file mode 100644
index 0000000..cb4b89b
--- /dev/null
+++ b/app/Http/Controllers/BusinessCommissionController.php
@@ -0,0 +1,169 @@
+ 'nur Provisionen', 2 => 'alle'];
+
+
+ public function __construct()
+ {
+ $this->middleware('admin');
+ }
+
+ public function index()
+ {
+
+ $filter_members = UserBusiness::join('users', 'user_id', '=', 'users.id')
+ ->groupBy('user_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')
+ ->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get();
+
+
+ $this->setFilterVars();
+ $data = [
+ 'filter_months' => HTMLHelper::$months,
+ 'filter_years' => HTMLHelper::getYearRange(),
+ 'filter_members' => $filter_members,
+ 'filter_show' => $this->filter_show,
+
+ ];
+ return view('admin.business.commissions', $data);
+ }
+
+ public function store(){
+ $data = Request::all();
+
+ dd($data);
+
+ return redirect(route('admin_business_commissions'));
+ }
+
+
+ private function setFilterVars(){
+
+ if(!session('commissions_filter_month')){
+ session(['commissions_filter_month' => intval(date('m'))]);
+ }
+ if(!session('commissions_filter_year')){
+ session(['commissions_filter_year' => intval(date('Y'))]);
+ }
+ if(!session('commissions_filter_show')){
+ session(['commissions_filter_show' => 1]);
+ }
+
+ session(['commissions_filter_member_id' => Request::get('commissions_filter_member_id')]);
+
+ if(Request::get('commissions_filter_month')){
+ session(['commissions_filter_month' => Request::get('commissions_filter_month')]);
+ }
+ if(Request::get('commissions_filter_year')){
+ session(['commissions_filter_year' => Request::get('commissions_filter_year')]);
+ }
+ if(Request::get('commissions_filter_show')){
+ session(['commissions_filter_show' => Request::get('commissions_filter_show')]);
+ }
+ }
+
+ private function initSearch()
+ {
+ $this->setFilterVars();
+
+ $query = UserBusiness::select('user_businesses.*')
+ ->where('user_businesses.month', '=', Request::get('commissions_filter_month'))
+ ->where('user_businesses.year', '=', Request::get('commissions_filter_year'));
+
+ if(intval(Request::get('commissions_filter_show')) === 1){
+ $query->where(function($q) {
+ return $q->where('user_businesses.commission_team_total', '>', 0)
+ ->orWhere('user_businesses.commission_shop_sales', '>', 0);
+ });
+ }
+
+ if(Request::get('commissions_filter_member_id')){
+ $query->where('user_businesses.user_id', '=', Request::get('commissions_filter_member_id'));
+ }
+
+ return $query;
+ }
+
+ public function datatable(){
+
+ $query = $this->initSearch();
+ return \DataTables::eloquent($query)
+ /* ->addColumn('id', function (UserSalesVolume $UserSalesVolume) {
+ return '';
+ })*/
+
+
+ ->addColumn('commission_total', function (UserBusiness $UserBusiness) {
+ $commission_total = $UserBusiness->commission_team_total + $UserBusiness->commission_shop_sales;
+ return $commission_total > 0 ?
+ ''.formatNumber($commission_total).' €'
+ : $commission_total.' €';
+ })
+ ->addColumn('commission_team_total', function (UserBusiness $UserBusiness) {
+ return $UserBusiness->commission_team_total > 0 ?
+ ''.formatNumber($UserBusiness->commission_team_total).' €'
+ : $UserBusiness->commission_team_total.' €';
+ })
+ ->addColumn('commission_shop_sales', function (UserBusiness $UserBusiness) {
+ return $UserBusiness->commission_shop_sales > 0 ?
+ ''.formatNumber($UserBusiness->commission_shop_sales).' €'
+ : $UserBusiness->commission_shop_sales.' €';
+ })
+ ->addColumn('active_account', function (UserBusiness $userBusiness) {
+ return get_active_badge($userBusiness->active_account);
+ })
+ ->addColumn('payment_account_date', function (UserBusiness $userBusiness) {
+ return $userBusiness->active_date ? formatDate($userBusiness->active_date) : "-";
+ })
+
+ /* ->filterColumn('m_account', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("m_account LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('first_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("first_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('last_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("last_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('email', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("email LIKE ?", '%'.$keyword.'%');
+ }
+ })*/
+
+ ->orderColumn('id', 'id $1')
+ ->orderColumn('commission_team_total', 'commission_team_total $1')
+ ->orderColumn('commission_shop_sales', 'commission_shop_sales $1')
+ ->orderColumn('email', 'users.email $1')
+ ->orderColumn('m_account', 'm_account $1')
+ ->orderColumn('first_name', 'first_name $1')
+ ->orderColumn('last_name', 'last_name $1')
+ ->rawColumns(['id', 'commission_total', 'commission_team_total', 'commission_shop_sales', 'active_account'])
+ ->make(true);
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/BusinessController.php b/app/Http/Controllers/BusinessController.php
index a8bb9a1..add5231 100644
--- a/app/Http/Controllers/BusinessController.php
+++ b/app/Http/Controllers/BusinessController.php
@@ -15,6 +15,9 @@ class BusinessController extends Controller
{
private $filter_active = [1 => 'aktiv', 2 => 'nicht aktiv', 3 => 'alle'];
+ private $month;
+ private $year;
+
public function __construct()
{
$this->middleware('admin');
@@ -170,11 +173,11 @@ class BusinessController extends Controller
})
->addColumn('sales_volume_points', function (UserBusiness $userBusiness) {
return '
'.$userBusiness->sales_volume_points_sum.'
'.
- 'B: '.$userBusiness->sales_volume_points.' | S: '.$userBusiness->sales_volume_points_shop.'';
+ 'E: '.$userBusiness->sales_volume_points.' | S: '.$userBusiness->sales_volume_points_shop.'';
})
->addColumn('sales_volume_total', function (UserBusiness $userBusiness) {
return ''.formatNumber($userBusiness->sales_volume_total_sum).' €
'.
- 'B: '.formatNumber($userBusiness->sales_volume_total).' | S: '.formatNumber($userBusiness->sales_volume_total_shop).'';
+ 'E: '.formatNumber($userBusiness->sales_volume_total).' | S: '.formatNumber($userBusiness->sales_volume_total_shop).'';
})
->addColumn('email', function (UserBusiness $userBusiness) {
return $userBusiness->email;
@@ -214,7 +217,34 @@ class BusinessController extends Controller
->addColumn('payment_account_date', function (UserBusiness $userBusiness) {
return $userBusiness->active_date ? formatDate($userBusiness->active_date) : "-";
})
+
+
+ ->filterColumn('m_account', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("m_account LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('first_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("first_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('last_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("last_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('email', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("email LIKE ?", '%'.$keyword.'%');
+ }
+ })
+
->orderColumn('id', 'id $1')
+ ->orderColumn('m_account', 'm_account $1')
+ ->orderColumn('email', 'email $1')
+ ->orderColumn('first_name', 'first_name $1')
+ ->orderColumn('last_name', 'last_name $1')
->orderColumn('active_account', 'payment_account $1')
->rawColumns(['id', 'is_qual_kp', 'sales_volume_points', 'sales_volume_total', 'sponsor', 'active_account'])
->make(true);
@@ -224,13 +254,16 @@ class BusinessController extends Controller
{
$this->setFilterVars();
- $query = User::with('account')->select('users.*')
- ->where('users.deleted_at', '=', null)
- ->where('users.id', '!=', 1)
- ->where('users.admin', "<", 4)
- ->where('users.m_level', "!=", null)
- ->where('users.payment_account', "!=", null);
+ $query = User::join('user_accounts', 'account_id', '=', 'user_accounts.id')
+ ->select('users.*', 'user_accounts.m_account', 'user_accounts.first_name', 'user_accounts.last_name')
+ ->where('users.deleted_at', '=', null)
+ ->where('users.id', '!=', 1)
+ ->where('users.admin', "<", 4)
+ ->where('users.m_level', "!=", null)
+ ->where('users.payment_account', "!=", null);
+ // $query = User::with('account')->select('users.*')
+
if(Request::get('business_user_filter_active')){
if(Request::get('business_user_filter_active') == 1){
$query->where('users.payment_account', ">=", now());
@@ -256,8 +289,8 @@ class BusinessController extends Controller
data-back=""
data-modal="modal-xl"
data-init_from="admin"
- data-route="'.route('modal_load').'">'
- .'';
+ data-route="'.route('modal_load').'">';
+ //.'';
})
->addColumn('m_account', function (User $user) {
return $user->account ? $user->account->m_account : '';
@@ -276,11 +309,11 @@ class BusinessController extends Controller
})
->addColumn('sales_volume_points', function (User $user) {
return ''.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_sum').'
'.
- 'B: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points').' | S: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_shop').'';
+ 'E: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points').' | S: '.$user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_points_shop').'';
})
->addColumn('sales_volume_total', function (User $user) {
return ''.formatNumber($user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_sum')).' €
'.
- 'B: '.formatNumber($user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total')).' | S: '.formatNumber($user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_shop')).'';
+ 'E: '.formatNumber($user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total')).' | S: '.formatNumber($user->getUserSalesVolumeBy($this->month, $this->year, 'sales_volume_total_shop')).'';
})
->addColumn('email', function (User $user) {
return $user->email;
@@ -321,7 +354,32 @@ class BusinessController extends Controller
->addColumn('payment_account_date', function (User $user) {
return $user->payment_account ? $user->getPaymentAccountDateFormat(false) : "-";
})
- ->orderColumn('id', 'id $1')
+
+ ->filterColumn('m_account', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("m_account LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('first_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("first_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('last_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("last_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('email', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("email LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->orderColumn('id', 'm_account $1')
+ ->orderColumn('m_account', 'm_account $1')
+ ->orderColumn('first_name', 'first_name $1')
+ ->orderColumn('email', 'email $1')
+ ->orderColumn('last_name', 'last_name $1')
->orderColumn('active_account', 'payment_account $1')
->rawColumns(['id', 'is_qual_kp', 'sales_volume_points', 'sales_volume_total', 'sponsor', 'active_account'])
->make(true);
diff --git a/app/Http/Controllers/BusinessPointsController.php b/app/Http/Controllers/BusinessPointsController.php
index e345403..557f1ef 100644
--- a/app/Http/Controllers/BusinessPointsController.php
+++ b/app/Http/Controllers/BusinessPointsController.php
@@ -13,14 +13,9 @@ use App\Services\BusinessPlan\SalesPointsVolume;
class BusinessPointsController extends Controller
{
- private $startYear;
- private $endYear;
- private $rangeYears;
- private $activeYear;
-
public function __construct()
{
- $this->middleware('auth');
+ $this->middleware('admin');
}
public function index()
@@ -68,34 +63,6 @@ class BusinessPointsController extends Controller
dd($data);
return redirect(route('admin_business_points'));
-
- //
-
- //
- /*
- $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){
- $data = $this->makeData();
- $data['add_credit_error'] = $add_credit_error;
- return view('admin.payment.credit.index', $data);
- }
-
- // $credit = Util::reFormatNumber($data['credit']);
- //$credit = number_format($credit, 2, '.', '');
-
- //Payment::addUserCreditMargin($user, $credit, 3, $data['message']);
- \Session()->flash('alert-success', "Guthaben hinzugefügt");
- }*/
-
}
@@ -107,9 +74,9 @@ class BusinessPointsController extends Controller
if(!session('points_filter_year')){
session(['points_filter_year' => intval(date('Y'))]);
}
- if(Request::get('points_filter_member_id')){
- session(['points_filter_member_id' => Request::get('points_filter_member_id')]);
- }
+
+ session(['points_filter_member_id' => Request::get('points_filter_member_id')]);
+
if(Request::get('points_filter_month')){
session(['points_filter_month' => Request::get('points_filter_month')]);
}
@@ -122,19 +89,15 @@ class BusinessPointsController extends Controller
{
$this->setFilterVars();
- $query = UserSalesVolume::with('user', 'user.account')->with('shopping_order')->select('user_sales_volumes.*')
+ //$query = UserSalesVolume::with('user', 'user.account')->with('shopping_order')->select('user_sales_volumes.*')
+ $query = UserSalesVolume::join('users', 'user_id', '=', 'users.id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')
+ ->select('user_sales_volumes.*', 'users.email', 'user_accounts.m_account', 'user_accounts.first_name', 'user_accounts.last_name')
->where('user_sales_volumes.month', '=', Request::get('points_filter_month'))
->where('user_sales_volumes.year', '=', Request::get('points_filter_year'));
if(Request::get('points_filter_member_id')){
$query->where('user_sales_volumes.user_id', '=', Request::get('points_filter_member_id'));
}
-
- //->orderBy('created_at', 'DESC');
- /* $query = FlexHour::leftJoin("flex_hour_items", function($join) {
- $join->on("flex_hour_items.flex_hour_id","=","flex_hours.id");
- $join->where("flex_hour_items.date","=", FlexHourItemBot::$date);
- })*/
return $query;
}
@@ -165,28 +128,48 @@ class BusinessPointsController extends Controller
->addColumn('total_net', function (UserSalesVolume $UserSalesVolume) {
return formatNumber($UserSalesVolume->total_net).' €';
})
- ->addColumn('first_name', function (UserSalesVolume $UserSalesVolume) {
- return isset($UserSalesVolume->user) ? $UserSalesVolume->user->account->first_name : '';
- })
- ->addColumn('last_name', function (UserSalesVolume $UserSalesVolume) {
- return isset($UserSalesVolume->user) ? $UserSalesVolume->user->account->last_name : '';
- })
- ->addColumn('email', function (UserSalesVolume $UserSalesVolume) {
- return isset($UserSalesVolume->user) ? $UserSalesVolume->user->email : '';
- })
->addColumn('status', function (UserSalesVolume $UserSalesVolume) {
return ''.$UserSalesVolume->getStatusType().'';
})
->addColumn('message', function (UserSalesVolume $UserSalesVolume) {
return ''.$UserSalesVolume->message.'';
})
-
+ ->addColumn('info', function (UserSalesVolume $UserSalesVolume) {
+ return ''.$UserSalesVolume->info.'';
+ })
+
+ ->filterColumn('m_account', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("m_account LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('first_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("first_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('last_name', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("last_name LIKE ?", '%'.$keyword.'%');
+ }
+ })
+ ->filterColumn('email', function($query, $keyword) {
+ if($keyword != ""){
+ $query->whereRaw("email LIKE ?", '%'.$keyword.'%');
+ }
+ })
+
->orderColumn('id', 'id $1')
->orderColumn('order', 'order $1')
->orderColumn('status', 'status $1')
->orderColumn('message', 'message $1')
-
- ->rawColumns(['id', 'order', 'status', 'message', 'total_net'])
+ ->orderColumn('info', 'info $1')
+ ->orderColumn('total_net', 'total_net $1')
+ ->orderColumn('email', 'email $1')
+ ->orderColumn('m_account', 'm_account $1')
+ ->orderColumn('first_name', 'first_name $1')
+ ->orderColumn('last_name', 'last_name $1')
+ ->rawColumns(['id', 'order', 'status', 'message', 'info', 'total_net'])
->make(true);
}
}
\ No newline at end of file
diff --git a/app/Http/Controllers/CronController.php b/app/Http/Controllers/CronController.php
index 2a40d49..c34b719 100644
--- a/app/Http/Controllers/CronController.php
+++ b/app/Http/Controllers/CronController.php
@@ -41,7 +41,7 @@ class CronController extends Controller
public function action($action = false, $key = false){
- if($key !== 'key'){
+ if($key !== 'CqZHL79FwUCcy9pjvi'){
abort(404);
}
if($action === 'check_payments_account'){
@@ -269,4 +269,15 @@ class CronController extends Controller
}
+ public function runCron($key)
+ {
+ if($key !== 'G8ZvEbnP8fEPfnWX4L'){
+ abort(404);
+ }
+ exec("/bin/bash ../cron_script.sh 2>&1", $out, $result);
+ echo "Returncode: " .$result ."
";
+ echo "Ausgabe des Scripts: " ."
";
+ echo ""; print_r($out);
+ }
+
}
\ No newline at end of file
diff --git a/app/Http/Controllers/CustomerController.php b/app/Http/Controllers/CustomerController.php
index 6b0845c..71eced7 100755
--- a/app/Http/Controllers/CustomerController.php
+++ b/app/Http/Controllers/CustomerController.php
@@ -113,12 +113,15 @@ class CustomerController extends Controller
}
$shopping_user = ShoppingUser::findOrFail($id);
- $data['has_buyed'] = true;
- $data['subscribed'] = true;
- if($shopping_user->auth_user_id > 0){
+ $data['has_buyed'] = isset($data['has_buyed']) ? true : false;
+ $data['subscribed'] = isset($data['subscribed']) ? true : false;
+ //subscribed can only true when has_buyed ist active
+ $data['subscribed'] = $data['has_buyed'] ? $data['subscribed'] : false;
+
+ /* if($shopping_user->auth_user_id > 0){
$data['has_buyed'] = true;
$data['subscribed'] = false;
- }
+ }*/
$data['same_as_billing'] = isset($data['same_as_billing']) ? true : false;
$data['shipping_country_id'] = isset($data['shipping_country_id']) ? $data['shipping_country_id'] : $data['billing_country_id'];
CustomerPriority::checkChangeOne($shopping_user, $data, true);
@@ -174,7 +177,7 @@ class CustomerController extends Controller
data-modal="modal-xl"
data-route="'.route('modal_load').'"> Berater zuordnen';
}
- if($ShoppingUser->member_id){
+ if($ShoppingUser->member){
return ''.$ShoppingUser->member->getFullName().'';
}
diff --git a/app/Http/Controllers/SalesController.php b/app/Http/Controllers/SalesController.php
index e0be060..1a4f776 100755
--- a/app/Http/Controllers/SalesController.php
+++ b/app/Http/Controllers/SalesController.php
@@ -279,7 +279,7 @@ class SalesController extends Controller
})
->addColumn('member_id', function (ShoppingOrder $ShoppingOrder) {
if($ShoppingOrder->member_id) {
- return $ShoppingOrder->member_id ? '' . $ShoppingOrder->member->getFullName() . '' : '';
+ return $ShoppingOrder->member ? '' . $ShoppingOrder->member->getFullName() . '' : 'gelöscht';
}
if($ShoppingOrder->shopping_user && $ShoppingOrder->shopping_user->is_like){
return '