commit 08-2025

This commit is contained in:
Kevin Adametz 2025-08-12 15:51:04 +02:00
parent 9b54eb0512
commit 02f2a4c23e
184 changed files with 31653 additions and 22327 deletions

View file

@ -4,7 +4,6 @@ namespace App\Services;
use App\User;
use App\Models\Product;
use App\Models\Setting;
use App\Mail\MailCheckout;
use App\Models\ProductBuy;
use App\Models\ShoppingOrder;
@ -19,15 +18,16 @@ class Payment
public static $txaction_text = [
'paid' => "bezahlt",
'appointed' => "offen",
'open' => "offen",
'appointed' => "offen (appointed)",
'failed' => "abbruch",
'extern' => "extern",
'open' => "offen",
'invoice_open' => "Re. offen",
'invoice_paid' => "Re. bezahlt",
'invoice_non' => "Re. keine Zahlung",
'non' => "keine Zahlung",
'non' => "keine Zahlung (non)",
'NULL' => 'keine Zahlung',
'prev' => "keine Zahlung (prev)",
];
public static $txaction_invoice = [
@ -56,10 +56,10 @@ class Payment
'invoice_open' => "warning",
'invoice_paid' => "success",
'invoice_non' => "danger",
'prev' => "warning",
];
public static function getFormattedTxaction($txaction){
if($txaction && isset(self::$txaction_text[$txaction])){
return self::$txaction_text[$txaction];
@ -360,26 +360,60 @@ class Payment
}
public static function paymentStatusSendMail(ShoppingOrder $shopping_order, $shopping_payment, $data){
$bcc = [];
$billing_email = $shopping_order->shopping_user->billing_email;
if(!$billing_email){
if($data['mode'] === 'test'){
$billing_email = config('app.checkout_test_mail');
}else{
$billing_email = config('app.checkout_mail');
}
public static function paymentStatusSendMail(ShoppingOrder $shopping_order, $shopping_payment, $data)
{
$billing_email = self::determineBillingEmail($shopping_order, $data);
$bcc = self::determineBccRecipients($shopping_order, $data);
try {
Mail::to($billing_email)
->bcc($bcc)
->send(new MailCheckout(
$data['txaction'],
$shopping_order,
$shopping_payment,
$data['send_link'],
$data['mode']
));
} catch (\Exception $e) {
\Log::error('Fehler beim E-Mail-Versand: ' . $e->getMessage());
}
if($data['mode'] === 'test'){
$bcc[] = config('app.checkout_test_mail');
}else{
$bcc[] = config('app.checkout_mail');
}
private static function determineBillingEmail($shopping_order, $data)
{
if (Util::isTestSystem()) {
return config('app.checkout_test_mail');
}
if(!$shopping_order->shopping_user->is_like && $shopping_order->shopping_user->member){
$billing_email = $shopping_order->shopping_user->billing_email;
if (!$billing_email) {
return $data['mode'] === 'test'
? config('app.checkout_test_mail')
: config('app.checkout_mail');
}
return $billing_email;
}
private static function determineBccRecipients($shopping_order, $data)
{
$bcc = [];
// Add checkout email to BCC
$bcc[] = $data['mode'] === 'test'
? config('app.checkout_test_mail')
: config('app.checkout_mail');
// Add member email to BCC if applicable
if ($data['mode'] !== 'test'
&& !Util::isTestSystem()
&& !$shopping_order->shopping_user->is_like
&& $shopping_order->shopping_user->member
) {
$bcc[] = $shopping_order->shopping_user->member->email;
}
Mail::to($billing_email)->bcc($bcc)->send(new MailCheckout($data['txaction'], $shopping_order, $shopping_payment, $data['send_link'], $data['mode']));
return $bcc;
}
}