diff --git a/app/common/logic/CommissionProductLogic.php b/app/common/logic/CommissionProductLogic.php index 98dfd9c80..b0add7093 100644 --- a/app/common/logic/CommissionProductLogic.php +++ b/app/common/logic/CommissionProductLogic.php @@ -63,9 +63,18 @@ class CommissionProductLogic extends BaseLogic */ public function a($find, $order, $village_uid, $brigade_uid, $user_ship, $product) { - $total_price = bcmul($product['price'], $find['cart_num'], 2); + $total_price = bcmul($find['price'], $find['cart_num'], 2); $purchase_price = bcmul($product['purchase'], $find['cart_num'], 2); - $price = $product['price']; + $price = $find['price']; + + $rose=0; + $rose_price = bcsub($price, $product['purchase'], 2); + if ($rose_price > 0) { + //利润除于零售 + $price_div = bcdiv($rose_price, $price, 2); + $rose=bcmul($price_div, 100, 2); + } + $platform_number = 0; //平台 $attrition_number = 0; //损耗 @@ -73,7 +82,7 @@ class CommissionProductLogic extends BaseLogic $number1 = 0; //其他 - if ($product['rose'] >= 6) { + if ($rose >= 6) { $platform_number = bcmul($total_price, 0.02, 2); //平台 } //零售-供货价 @@ -93,7 +102,7 @@ class CommissionProductLogic extends BaseLogic $village_number = bcmul($total_price, 0.04, 2); //村长利润 $data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.04); $number1 = bcadd($number1, $village_number, 2); - if ($product['rose'] >= 12) { + if ($rose >= 12) { $attrition_number = bcmul($total_price, 0.02, 2); //损耗 $data[] =$this->attrition('零售损耗', $order, $find, $price, $total_price,$attrition_number); } @@ -101,12 +110,12 @@ class CommissionProductLogic extends BaseLogic $brigade_number = bcmul($total_price, 0.04, 2); //队长利润 $data[] = $this->brigade('零售队长', $order, $find, $brigade_uid, $price, $total_price, $brigade_number,0.04); $number1 = bcadd($number1, $brigade_number, 2); - if ($product['rose'] >= 12 && $village_uid>0) { + if ($rose >= 12 && $village_uid>0) { $village_number = bcmul($total_price, 0.01, 2); //村长利润 $data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.01); $number1 = bcadd($number1, $village_number, 2); } - if ($product['rose'] >= 15) { + if ($rose >= 15) { $attrition_number = bcmul($total_price, 0.02, 2); //损耗 $data[] =$this->attrition('零售损耗', $order, $find, $price, $total_price,$attrition_number); } @@ -114,17 +123,17 @@ class CommissionProductLogic extends BaseLogic $vip_number = bcmul($total_price, 0.06, 2); //会员利润 $data[] = $this->vip_user('零售会员', $order, $find, $uid, $price, $total_price, $vip_number,0.06); $number1 = bcadd($number1, $vip_number, 2); - if ($product['rose'] >= 12 && $village_uid>0) { + if ($rose >= 12 && $village_uid>0) { $village_number = bcmul($total_price, 0.01, 2); //村长利润 $data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.01); $number1 = bcadd($number1, $village_number, 2); } - if ($product['rose'] >= 14 && $brigade_uid>0) { + if ($rose >= 14 && $brigade_uid>0) { $brigade_number = bcmul($total_price, 0.01, 2); //队长利润 $data[] =$this->village('零售队长', $order, $find, $village_uid, $price, $total_price, $brigade_number,0.01); $number1 = bcadd($number1, $brigade_number, 2); } - if ($product['rose'] >= 15) { + if ($rose >= 15) { $attrition_number = bcmul($total_price, 0.02, 2); //损耗 $data[] =$this->attrition('零售损耗', $order, $find, $price, $total_price,$attrition_number); } @@ -144,7 +153,7 @@ class CommissionProductLogic extends BaseLogic } $data[] =$this->store('零售门店', $order, $find, $price, $total_price,$store_number,$rate); //平台 - if ($product['rose'] >= 6) { + if ($rose >= 6) { $data[] = $this->platform('零售平台', $order, $find, $price, $total_price,$platform_number); } @@ -156,15 +165,15 @@ class CommissionProductLogic extends BaseLogic */ public function b($find, $order, $product, $user_ship) { - $total_price = bcmul($product['cost'], $find['cart_num'], 2); + $total_price = bcmul($find['price'], $find['cart_num'], 2); $purchase_price = bcmul($product['purchase'], $find['cart_num'], 2); - $price = $product['cost']; + $price = $product['price']; $rose=0; - $rose_price = bcsub($product['cost'], $product['purchase'], 2); + $rose_price = bcsub($price, $product['purchase'], 2); if ($rose_price > 0) { //利润除于零售 - $price_div = bcdiv($rose_price, $product['cost'], 2); + $price_div = bcdiv($rose_price, $price, 2); $rose=bcmul($price_div, 100, 2); } @@ -205,13 +214,21 @@ class CommissionProductLogic extends BaseLogic //活动商品结算 public function c($find, $order,$product) { - $total_price = bcmul($product['price'], $find['cart_num'], 2); + $total_price = bcmul($find['price'], $find['cart_num'], 2); $purchase_price = bcmul($product['purchase'], $find['cart_num'], 2); $price = $product['purchase']; + $rose=0; + $rose_price = bcsub($price, $product['purchase'], 2); + if ($rose_price > 0) { + //利润除于零售 + $price_div = bcdiv($rose_price, $price, 2); + $rose=bcmul($price_div, 100, 2); + } + $platform_number = 0; $attrition_number = 0; - if ($product['rose'] >= 6) { + if ($rose >= 6) { $platform_number = bcmul($total_price, 0.02, 2); //平台 } //零售-供货价 @@ -231,7 +248,7 @@ class CommissionProductLogic extends BaseLogic } $data[] =$this->store('商户价门店',$order,$find,$price,$total_price,$store_number,$rate,1); //平台 - if ($product['rose'] >= 6) { + if ($rose >= 6) { $data[] =$this->platform('商户价平台',$order,$find,$price,$total_price,$platform_number,1); } (new StoreFinanceFlowProduct())->saveAll($data); diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index 8ec7775a8..7ec32a306 100644 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -684,7 +684,7 @@ class PayNotifyLogic extends BaseLogic } try { - $info = StoreOrderCartInfo::where('oid', $order['id'])->field('store_id,product_id,cart_num')->select(); + $info = StoreOrderCartInfo::where('oid', $order['id'])->field('store_id,product_id,price,cart_num')->select(); $comm = new CommissionProductLogic(); foreach ($info as $k => $v) { $comm->calculate_product_flow($v, $order, $village_uid, $brigade_uid, $user_ship);