374 lines
No EOL
12 KiB
PHP
Executable file
374 lines
No EOL
12 KiB
PHP
Executable file
<?php
|
|
|
|
namespace App\Http\Controllers\SyS;
|
|
|
|
|
|
use Auth;
|
|
use Request;
|
|
use App\User;
|
|
use App\Mail\MailInfo;
|
|
use App\Services\Shop;
|
|
use App\Models\UserShop;
|
|
use App\Models\Homeparty;
|
|
use App\Models\ShoppingUser;
|
|
use App\Models\PaymentMethod;
|
|
use App\Models\ShoppingOrder;
|
|
use App\Models\ShoppingOrderItem;
|
|
use App\Services\CustomerPriority;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Mail;
|
|
use App\Http\Controllers\Api\KasController;
|
|
use App\Repositories\ContractPDFRepository;
|
|
use App\Http\Controllers\Api\KasSLLController;
|
|
|
|
|
|
class AdminToolsController extends Controller
|
|
{
|
|
protected $userRepo;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->middleware('sysadmin');
|
|
|
|
}
|
|
|
|
/**
|
|
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
|
*/
|
|
public function index()
|
|
{
|
|
dd('index');
|
|
}
|
|
|
|
public function customers()
|
|
{
|
|
$shopping_users = ShoppingUser::where('member_id', '=', NULL)->where('auth_user_id', '=', NULL)->get();
|
|
$data = [
|
|
'values' => $shopping_users,
|
|
'text' => '',
|
|
];
|
|
|
|
return view('sys.admin.customers', $data);
|
|
}
|
|
|
|
|
|
public function customerStore()
|
|
{
|
|
$data = Request::all();
|
|
$ret = "";
|
|
if($data['action'] === 'makePaymentMethodsDefault'){
|
|
$users = User::where('payment_methods', '=', NULL)->get();
|
|
//$users = User::all();
|
|
foreach ($users as $user){
|
|
$user->payment_methods = PaymentMethod::getDefaultAsArray();
|
|
$user->save();
|
|
}
|
|
}
|
|
if($data['action'] === 'checkForAll'){
|
|
$shopping_users = CustomerPriority::checkForAll();
|
|
}
|
|
|
|
if($data['action'] === 'checkContractPDF'){
|
|
//create PDF
|
|
$user = User::findOrFail(80);
|
|
|
|
$pdf = new ContractPDFRepository($user);
|
|
$pdf->_set('disk', 'user');
|
|
$pdf->_set('dir', '/'.$user->id.'/documents/');
|
|
$pdf->_set('user_id', $user->id);
|
|
$pdf->_set('identifier', 'contract');
|
|
$pdf->createContractPDF();
|
|
}
|
|
|
|
if(strpos($data['action'], 'checkOne_') !== false){
|
|
$id = (int) str_replace('checkOne_', '', $data['action']);
|
|
$shopping_user = ShoppingUser::findOrFail($id);
|
|
$ret = CustomerPriority::checkOne($shopping_user);
|
|
}
|
|
\Session()->flash('alert-success', $ret);
|
|
return back();
|
|
}
|
|
|
|
public function points()
|
|
{
|
|
$c = 0;
|
|
|
|
if(false){ //8
|
|
dump("make homeparty tax_split in shopping_order");
|
|
dd('check point function');
|
|
$ShoppingOrders = ShoppingOrder::where('payment_for', '=', NULL)->get();
|
|
|
|
foreach($ShoppingOrders as $ShoppingOrder){
|
|
dump($ShoppingOrder->id);
|
|
dump($ShoppingOrder->shopping_user->getOrderPaymentFor());
|
|
$ShoppingOrder->payment_for = $ShoppingOrder->shopping_user->getOrderPaymentFor();
|
|
$ShoppingOrder->save();
|
|
|
|
$c ++;
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
|
|
if(false){ //8
|
|
dump("make homeparty tax_split in shopping_order");
|
|
dd('check point function');
|
|
$ShoppingOrders = ShoppingOrder::where('homeparty_id', '!=', NULL)->get();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrders as $ShoppingOrder){
|
|
$ShoppingOrder->makeHomepartyTaxSplit();
|
|
$c ++;
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
if(false){ //7
|
|
dump("make homeparty shipping_tax in homeparty order user_cart");
|
|
dd('check point function');
|
|
$ShoppingOrders = ShoppingOrder::where('homeparty_id', '!=', NULL)->get();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrders as $ShoppingOrder){
|
|
if(isset($ShoppingOrder->homeparty->order['user_carts'])){
|
|
$user_carts = [];
|
|
foreach($ShoppingOrder->homeparty->order['user_carts'] as $id => $values){
|
|
$values['shipping_tax'] = round($values['shipping_price'] - $values['shipping_price_net'], 2);
|
|
dump($values['shipping_tax']);
|
|
$user_carts[$id] = $values;
|
|
}
|
|
$order = $ShoppingOrder->homeparty->order;
|
|
$order['user_carts'] = $user_carts;
|
|
$ShoppingOrder->homeparty->order = $order;
|
|
$ShoppingOrder->homeparty->save();
|
|
|
|
}
|
|
$c ++;
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
if(false){ //6
|
|
dump("make tax_split in shopping_order");
|
|
dd('check point function');
|
|
$ShoppingOrders = ShoppingOrder::where('homeparty_id', '=', NULL)->get();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrders as $ShoppingOrder){
|
|
$ShoppingOrder->makeTaxSplit();
|
|
$c ++;
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
if(false){ //5
|
|
//run after make points etc.
|
|
dump("correction shopping_order homeparty");
|
|
//dd('check point function');
|
|
$ShoppingOrders = ShoppingOrder::where('payment_for', 5)->get();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrders as $ShoppingOrder){
|
|
$homeparty = Homeparty::find($ShoppingOrder->homeparty_id);
|
|
if($homeparty && $homeparty->completed && $homeparty->step > 10){
|
|
$ShoppingOrder->subtotal = $homeparty->order['ek_price_net'];
|
|
$ShoppingOrder->subtotal_ws = 0;
|
|
$ShoppingOrder->tax = $ShoppingOrder->total - $homeparty->order['ek_price_net'];
|
|
$ShoppingOrder->points = $homeparty->order['points'] - $homeparty->order['bonus_points_diff'];
|
|
$ShoppingOrder->save();
|
|
$c ++;
|
|
}
|
|
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
if(false){ //4
|
|
dump("make tax in ShoppingOrderItem");
|
|
dd('check point function');
|
|
$ShoppingOrderItems = ShoppingOrderItem::all();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrderItems as $item){
|
|
$item->tax = $item->price - $item->price_net;
|
|
$item->save();
|
|
$c ++;
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
|
|
|
|
if(false){ //3
|
|
dump("make price_net in ShoppingOrderItem");
|
|
dd('check point function');
|
|
$ShoppingOrderItems = ShoppingOrderItem::where('price_net', '=', NULL)->get();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrderItems as $item){
|
|
$item->price_net = $item->price / (100 + $item->tax_rate) * 100;
|
|
$item->save();
|
|
$c ++;
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
if(false){ //2
|
|
dump("add payment_for in shopping_order");
|
|
dd('check point function');
|
|
$ShoppingUsers = ShoppingUser::all();
|
|
foreach($ShoppingUsers as $ShoppingUser){
|
|
if($ShoppingUser->shopping_order){
|
|
$ShoppingUser->shopping_order->payment_for = $ShoppingUser->getOrderPaymentFor();
|
|
$ShoppingUser->shopping_order->save();
|
|
$c ++;
|
|
}
|
|
}
|
|
dd($c);
|
|
}
|
|
|
|
if(false){ //1
|
|
dump("make points in shopping_order_item and total in ShoppingOrder");
|
|
dd('check point function');
|
|
$ShoppingOrders = ShoppingOrder::all();
|
|
//->skip(0)->take(500)->get();
|
|
//->skip(500)->take(500)->get();
|
|
foreach($ShoppingOrders as $ShoppingOrder){
|
|
$points_total = 0;
|
|
foreach($ShoppingOrder->shopping_order_items as $shopping_order_item){
|
|
$points = $shopping_order_item->product ? $shopping_order_item->product->points : 0;
|
|
$points_total += $points;
|
|
$shopping_order_item->points = $points;
|
|
$shopping_order_item->save();
|
|
$c ++;
|
|
}
|
|
$ShoppingOrder->points = $points_total;
|
|
$ShoppingOrder->save();
|
|
}
|
|
dd($c);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function cronjobs()
|
|
{
|
|
//$user_shops = UserShop::all();
|
|
$text = "";
|
|
$values = [
|
|
'check_payments_account' => route('cron_jobs_action', ['check_payments_account', 'key'])
|
|
];
|
|
$data = [
|
|
'values' => $values,
|
|
'text' => $text,
|
|
];
|
|
return view('sys.admin.cronjobs', $data);
|
|
}
|
|
|
|
public function cronjobsStore()
|
|
{
|
|
$data = Request::all();
|
|
\Session()->flash('alert-save', true);
|
|
return back();
|
|
}
|
|
|
|
public function domainSSL()
|
|
{
|
|
$user_shops = UserShop::all();
|
|
$text = "";
|
|
|
|
/* $kas = new KasController();
|
|
$domain = 'mivita.care';
|
|
|
|
$ssl = KasSLLController::getApiSSLParameter();
|
|
|
|
$subdomains = $kas->action('get_subdomains');
|
|
foreach ($subdomains as $subdomain){
|
|
/*if($subdomain['subdomain_name'] === 'bio-aloe.mivita.care'){
|
|
dump($subdomain);
|
|
}
|
|
if($subdomain['subdomain_name'] === 'rockmyworld-by-conny.mivita.care'){
|
|
dd($subdomain);
|
|
}*/
|
|
/*
|
|
$text .= $subdomain['subdomain_name']." - ".$subdomain['ssl_certificate_sni']." - ";
|
|
|
|
if($subdomain['ssl_certificate_sni'] !== "Y"){
|
|
$pra = array(
|
|
'hostname' => $subdomain['subdomain_name'],
|
|
);
|
|
$pra = array_merge($pra, $ssl);
|
|
$value = $kas->action('update_ssl', $pra);
|
|
$text .= $value;
|
|
}else{
|
|
if(isset($subdomain['ssl_certificate_sni_is_active'])){
|
|
$text .= $subdomain['ssl_certificate_sni_is_active'].'-is_active';
|
|
}else{
|
|
$text .= '-CHECK!';
|
|
|
|
}
|
|
}
|
|
|
|
$text .= "\n";
|
|
}*/
|
|
$data = [
|
|
'values' => $user_shops,
|
|
'text' => $text,
|
|
];
|
|
|
|
return view('sys.admin.domain-ssl', $data);
|
|
}
|
|
|
|
public function domainSSLStore()
|
|
{
|
|
$data = Request::all();
|
|
\Session()->flash('alert-save', true);
|
|
return back();
|
|
}
|
|
|
|
public function shoppingOrders()
|
|
{
|
|
$shopping_users = ShoppingUser::all();
|
|
$data = [
|
|
'values' => $shopping_users,
|
|
'text' => '',
|
|
];
|
|
return view('sys.admin.shopping-orders', $data);
|
|
|
|
}
|
|
|
|
public function shoppingOrdersStore()
|
|
{
|
|
//first run
|
|
$data = Request::all();
|
|
|
|
if($data['action'] === 'first_run'){
|
|
$shopping_users = ShoppingUser::whereHas('shopping_order', function($q) {
|
|
$q->where('txaction', 'paid')->OrWhere('txaction', 'appointed');
|
|
})->get();
|
|
|
|
$order_email = [];
|
|
$order_number = [];
|
|
|
|
foreach ($shopping_users as $shopping_user){
|
|
$order_email[$shopping_user->billing_email] = isset($order_email[$shopping_user->billing_email]) ? $order_email[$shopping_user->billing_email] + 1 : 1;
|
|
if($shopping_user->number) {
|
|
$order_number[$shopping_user->number] = isset($order_number[$shopping_user->number]) ? $order_number[$shopping_user->number] + 1 : 1;
|
|
$shopping_user->orders = $order_number[$shopping_user->number];
|
|
}else {
|
|
$shopping_user->orders = $order_email[$shopping_user->billing_email];
|
|
}
|
|
$shopping_user->save();
|
|
|
|
}
|
|
\Session()->flash('alert-save', true);
|
|
}
|
|
|
|
if($data['action'] === 'next_run'){
|
|
Shop::userOrders();
|
|
\Session()->flash('alert-save', true);
|
|
}
|
|
return back();
|
|
}
|
|
|
|
} |