Komp / Max Produkt,

This commit is contained in:
Kevin Adametz 2021-06-18 15:01:01 +02:00
parent a4c76d06fa
commit 78f43169c8
19 changed files with 347 additions and 51 deletions

View file

@ -2,13 +2,15 @@
namespace App\Services;
use App\Mail\MailCheckout;
use App\User;
use App\Models\Product;
use App\Models\Setting;
use App\Mail\MailCheckout;
use App\Models\ProductBuy;
use App\Models\ShoppingOrder;
use App\Models\UserPayCredit;
use App\Models\ShoppingPayment;
use App\Models\UserCreditMargin;
use App\Models\UserPayCredit;
use App\User;
use Illuminate\Support\Facades\Mail;
class Payment
@ -117,6 +119,23 @@ class Payment
]);
}
public static function addProductBuy(User $user, Product $product){
if($product->max_buy && $product->max_buy_num > 0){
$ProductBuy = ProductBuy::where('auth_user_id', $user->id)->where('product_id', $product->id)->first();
if(!$ProductBuy){
ProductBuy::create([
'auth_user_id' => $user->id,
'product_id' => $product->id,
'num' => 1,
]);
}else{
$ProductBuy->num = $ProductBuy->num+1;
$ProductBuy->save();
}
}
}
public static function paymentStatusPaidAction(ShoppingOrder $shopping_order, $paid){
$send_link = false;
@ -129,8 +148,14 @@ class Payment
if($shopping_order->shopping_order_items && $shopping_order->auth_user_id){
foreach($shopping_order->shopping_order_items as $shopping_order_item){
if($shopping_order_item->product){
//add product when buy
$user = User::findOrFail($shopping_order->auth_user_id);
if($shopping_order_item->product->max_buy && $shopping_order_item->product->max_buy_num > 0){
self::addProductBuy($user, $shopping_order_item->product);
}
//product action
if($shopping_order_item->product->action){
$user = User::findOrFail($shopping_order->auth_user_id);
$user->save();
$send_link = true;
//new date

View file

@ -22,7 +22,7 @@ class Yard extends Cart
private $shipping_tax = 0;
private $shipping_country_id = 0; //default de
private $shipping_is_for;
//private $num_comp;
private $num_comp;
private $ysession;
private $yinstance;
private $shopping_data = [];
@ -87,9 +87,9 @@ class Yard extends Cart
$this->global_tax_rate = config('cart.tax');
}
/*if($this->getYardExtra('num_comp')){
if($this->getYardExtra('num_comp')){
$this->num_comp = $this->getYardExtra('num_comp');
}*/
}
parent::__construct($session, $events);
@ -164,7 +164,10 @@ class Yard extends Cart
return $this->ysession->get($this->yinstance);
}
public function reCalculateShippingPrice(){
$this->calculateShippingPrice();
}
public function reCalculate(){
$this->calculateShippingPrice();
}
@ -328,18 +331,23 @@ class Yard extends Cart
}
if($shipping_price){
$price = $shipping_price->price;
/*$this->num_comp = 0;
if($this->shipping_is_for === 'me'){
$this->num_comp = 0;
if($this->shipping_is_for === 'me' && \App\Models\Setting::getContentBySlug('order_partner_is_comp_me')){
$price = $shipping_price->price_comp;
$this->num_comp = $shipping_price->num_comp;
}
if($this->shipping_is_for === 'ot' && \App\Models\Setting::getContentBySlug('order_partner_is_comp_ot')){
$price = $shipping_price->price_comp;
$this->num_comp = $shipping_price->num_comp;
}
}*/
$this->shipping_price = $price;
$this->shipping_tax_rate = $shipping_price->tax_rate;
$this->shipping_price_net = round($price / ((100+$shipping_price->tax_rate) / 100), 2);
$this->shipping_tax = round($price / (100+$shipping_price->tax_rate) * 100, 2);
//$this->putYardExtra('num_comp', $this->num_comp);
$this->putYardExtra('num_comp', $this->num_comp);
$this->putYardExtra('shipping_price', $this->shipping_price);
$this->putYardExtra('shipping_tax_rate', $this->shipping_tax_rate);
$this->putYardExtra('shipping_tax', $this->shipping_tax);
@ -627,7 +635,7 @@ class Yard extends Cart
}
public function getNumComp(){
return 0; //$this->num_comp;
return $this->num_comp;
}
public function getCompProductBy($comp, $product_id=false){