Komp / Max Produkt,
This commit is contained in:
parent
a4c76d06fa
commit
78f43169c8
19 changed files with 347 additions and 51 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue