Gutschriften manuell hinzufügen, Yard 0& tax

This commit is contained in:
Kevin Adametz 2021-05-12 15:44:48 +02:00
parent e670b92f5d
commit c02fffd883
24 changed files with 497 additions and 68 deletions

View file

@ -6,6 +6,7 @@ use App\Mail\MailCheckout;
use App\Models\Setting;
use App\Models\ShoppingOrder;
use App\Models\ShoppingPayment;
use App\Models\UserCreditMargin;
use App\Models\UserPayCredit;
use App\User;
use Illuminate\Support\Facades\Mail;
@ -93,7 +94,6 @@ class Payment
}
public static function addUserPayCredits(User $user, $credit, $status, $message, $shopping_order_id = null){
UserPayCredit::create([
'user_id' => $user->id,
'credit' => $credit,
@ -105,7 +105,16 @@ class Payment
]);
$user->payment_credit = $user->payment_credit + $credit;
$user->save();
}
public static function addUserCreditMargin(User $user, $credit, $status, $message){
UserCreditMargin::create([
'user_id' => $user->id,
'credit' => $credit,
'message' => $message,
'status' => $status,
]);
}
public static function paymentStatusPaidAction(ShoppingOrder $shopping_order, $paid){
@ -121,7 +130,6 @@ class Payment
foreach($shopping_order->shopping_order_items as $shopping_order_item){
if($shopping_order_item->product){
if($shopping_order_item->product->action){
$user = User::findOrFail($shopping_order->auth_user_id);
$user->save();
$send_link = true;

View file

@ -3,6 +3,7 @@ namespace App\Services;
use App\Models\ShoppingOrderMargin;
use App\Models\UserCreditMargin;
use App\User;
use Carbon;
@ -101,11 +102,10 @@ class UserMarign
if($format){
$sum_net_amount = Util::formatNumber($sum_net_amount);
}
return $sum_net_amount;
}
public static function getMontlyPartnerCommissionOpenByID($user_id, $date = null, $format = false){
public static function getMontlyPartnerCommissionOpenByID($user_id, $date = null, $format = false, $addUserCreditMargin = false){
$sum_net_amount = ShoppingOrderMargin::whereMSponsorId($user_id)
->wherePaid(true)
@ -113,6 +113,13 @@ class UserMarign
->wherePartnerCommissionPaid(false)
->where('partner_commission_pending_to', '<', Carbon::now())
->sum('net_partner_commission');
if($addUserCreditMargin){
$sum_net_credit = UserCreditMargin::whereUserId($user_id)
->wherePaid(false)
->sum('credit');
$sum_net_amount += $sum_net_credit;
}
if($format){
$sum_net_amount = Util::formatNumber($sum_net_amount);
}
@ -170,6 +177,15 @@ class UserMarign
return $ShoppingOrderMargins;
}
public static function getUserCreditMarginByID($user_id){
$UserCreditMargin = UserCreditMargin::whereUserId($user_id)
->wherePaid(false)
->get();
return $UserCreditMargin;
}
public static function getOrderFromPartnerCommissionPendingByID($user_id){
$ShoppingOrderMargins = ShoppingOrderMargin::whereMSponsorId($user_id)

View file

@ -32,12 +32,13 @@ class Yard extends Cart
private $yard_commission;
private $yard_margin;
private $global_tax_rate = 19;
private $global_tax_rate = 0;
public function __construct(SessionManager $session, Dispatcher $events)
{
$this->ysession = $session;
$this->yinstance = sprintf('%s.%s', 'cart', 'shipping_extras');
if($this->getYardExtra('shipping_price')){
$this->shipping_price = (float) ($this->getYardExtra('shipping_price'));
}
@ -80,6 +81,11 @@ class Yard extends Cart
if($this->getYardExtra('yard_margin')){
$this->yard_margin = $this->getYardExtra('yard_margin');
}
if($this->getYardExtra('global_tax_rate') || $this->getYardExtra('global_tax_rate') === 0.0){
$this->global_tax_rate = $this->getYardExtra('global_tax_rate');
}else{
$this->global_tax_rate = config('cart.tax');
}
/*if($this->getYardExtra('num_comp')){
$this->num_comp = $this->getYardExtra('num_comp');
@ -104,6 +110,13 @@ class Yard extends Cart
{
return config('cart.tax');
}
public function setGlobalTaxRate($value){
$this->global_tax_rate = floatval($value);
$this->putYardExtra('global_tax_rate', $this->global_tax_rate);
}
public function putYardExtra($key, $value){