feat(CommissionProductLogic): updated calc logic for prod comm, added loss calc, & updated rel db fields
This commit is contained in:
parent
98bd00fe01
commit
bf5a070046
@ -63,9 +63,18 @@ class CommissionProductLogic extends BaseLogic
|
|||||||
*/
|
*/
|
||||||
public function a($find, $order, $village_uid, $brigade_uid, $user_ship, $product)
|
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);
|
$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; //平台
|
$platform_number = 0; //平台
|
||||||
$attrition_number = 0; //损耗
|
$attrition_number = 0; //损耗
|
||||||
@ -73,7 +82,7 @@ class CommissionProductLogic extends BaseLogic
|
|||||||
$number1 = 0; //其他
|
$number1 = 0; //其他
|
||||||
|
|
||||||
|
|
||||||
if ($product['rose'] >= 6) {
|
if ($rose >= 6) {
|
||||||
$platform_number = bcmul($total_price, 0.02, 2); //平台
|
$platform_number = bcmul($total_price, 0.02, 2); //平台
|
||||||
}
|
}
|
||||||
//零售-供货价
|
//零售-供货价
|
||||||
@ -93,7 +102,7 @@ class CommissionProductLogic extends BaseLogic
|
|||||||
$village_number = bcmul($total_price, 0.04, 2); //村长利润
|
$village_number = bcmul($total_price, 0.04, 2); //村长利润
|
||||||
$data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.04);
|
$data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.04);
|
||||||
$number1 = bcadd($number1, $village_number, 2);
|
$number1 = bcadd($number1, $village_number, 2);
|
||||||
if ($product['rose'] >= 12) {
|
if ($rose >= 12) {
|
||||||
$attrition_number = bcmul($total_price, 0.02, 2); //损耗
|
$attrition_number = bcmul($total_price, 0.02, 2); //损耗
|
||||||
$data[] =$this->attrition('零售损耗', $order, $find, $price, $total_price,$attrition_number);
|
$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); //队长利润
|
$brigade_number = bcmul($total_price, 0.04, 2); //队长利润
|
||||||
$data[] = $this->brigade('零售队长', $order, $find, $brigade_uid, $price, $total_price, $brigade_number,0.04);
|
$data[] = $this->brigade('零售队长', $order, $find, $brigade_uid, $price, $total_price, $brigade_number,0.04);
|
||||||
$number1 = bcadd($number1, $brigade_number, 2);
|
$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); //村长利润
|
$village_number = bcmul($total_price, 0.01, 2); //村长利润
|
||||||
$data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.01);
|
$data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.01);
|
||||||
$number1 = bcadd($number1, $village_number, 2);
|
$number1 = bcadd($number1, $village_number, 2);
|
||||||
}
|
}
|
||||||
if ($product['rose'] >= 15) {
|
if ($rose >= 15) {
|
||||||
$attrition_number = bcmul($total_price, 0.02, 2); //损耗
|
$attrition_number = bcmul($total_price, 0.02, 2); //损耗
|
||||||
$data[] =$this->attrition('零售损耗', $order, $find, $price, $total_price,$attrition_number);
|
$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); //会员利润
|
$vip_number = bcmul($total_price, 0.06, 2); //会员利润
|
||||||
$data[] = $this->vip_user('零售会员', $order, $find, $uid, $price, $total_price, $vip_number,0.06);
|
$data[] = $this->vip_user('零售会员', $order, $find, $uid, $price, $total_price, $vip_number,0.06);
|
||||||
$number1 = bcadd($number1, $vip_number, 2);
|
$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); //村长利润
|
$village_number = bcmul($total_price, 0.01, 2); //村长利润
|
||||||
$data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.01);
|
$data[] =$this->village('零售村长', $order, $find, $village_uid, $price, $total_price, $village_number,0.01);
|
||||||
$number1 = bcadd($number1, $village_number, 2);
|
$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); //队长利润
|
$brigade_number = bcmul($total_price, 0.01, 2); //队长利润
|
||||||
$data[] =$this->village('零售队长', $order, $find, $village_uid, $price, $total_price, $brigade_number,0.01);
|
$data[] =$this->village('零售队长', $order, $find, $village_uid, $price, $total_price, $brigade_number,0.01);
|
||||||
$number1 = bcadd($number1, $brigade_number, 2);
|
$number1 = bcadd($number1, $brigade_number, 2);
|
||||||
}
|
}
|
||||||
if ($product['rose'] >= 15) {
|
if ($rose >= 15) {
|
||||||
$attrition_number = bcmul($total_price, 0.02, 2); //损耗
|
$attrition_number = bcmul($total_price, 0.02, 2); //损耗
|
||||||
$data[] =$this->attrition('零售损耗', $order, $find, $price, $total_price,$attrition_number);
|
$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);
|
$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);
|
$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)
|
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);
|
$purchase_price = bcmul($product['purchase'], $find['cart_num'], 2);
|
||||||
$price = $product['cost'];
|
$price = $product['price'];
|
||||||
|
|
||||||
$rose=0;
|
$rose=0;
|
||||||
$rose_price = bcsub($product['cost'], $product['purchase'], 2);
|
$rose_price = bcsub($price, $product['purchase'], 2);
|
||||||
if ($rose_price > 0) {
|
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);
|
$rose=bcmul($price_div, 100, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,13 +214,21 @@ class CommissionProductLogic extends BaseLogic
|
|||||||
//活动商品结算
|
//活动商品结算
|
||||||
public function c($find, $order,$product)
|
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);
|
$purchase_price = bcmul($product['purchase'], $find['cart_num'], 2);
|
||||||
$price = $product['purchase'];
|
$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;
|
$platform_number = 0;
|
||||||
$attrition_number = 0;
|
$attrition_number = 0;
|
||||||
if ($product['rose'] >= 6) {
|
if ($rose >= 6) {
|
||||||
$platform_number = bcmul($total_price, 0.02, 2); //平台
|
$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);
|
$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);
|
$data[] =$this->platform('商户价平台',$order,$find,$price,$total_price,$platform_number,1);
|
||||||
}
|
}
|
||||||
(new StoreFinanceFlowProduct())->saveAll($data);
|
(new StoreFinanceFlowProduct())->saveAll($data);
|
||||||
|
@ -684,7 +684,7 @@ class PayNotifyLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
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();
|
$comm = new CommissionProductLogic();
|
||||||
foreach ($info as $k => $v) {
|
foreach ($info as $k => $v) {
|
||||||
$comm->calculate_product_flow($v, $order, $village_uid, $brigade_uid, $user_ship);
|
$comm->calculate_product_flow($v, $order, $village_uid, $brigade_uid, $user_ship);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user