find(); if ($product) { if ($product['product_type'] == 4) { $this->c($find, $order, $village_uid, $brigade_uid, $user_ship, $product); return true; } else { if ($user_ship == 5) { $top_cate_id = $product['top_cate_id']; if ($top_cate_id == 15189) { $this->b($find, $order, $product, $user_ship); return true; } } elseif ($user_ship == 0) { $this->b($find, $order, $product, $user_ship); return true; } else { $this->a($find, $order, $village_uid, $brigade_uid, $user_ship, $product); } } return true; } } /** * 零售价结算 */ public function a($find, $order, $village_uid, $brigade_uid, $user_ship, $product) { $total_price = bcmul($product['price'], $find['cart_num'], 2); $purchase_price = bcmul($product['purchase'], $find['cart_num'], 2); $price = $product['purchase']; $brigade_number = bcmul($purchase_price, 0.02, 2); //队长 $village_number = bcmul($brigade_number, 0.1, 2); //村长 $platform_number = bcmul($purchase_price, 0.02, 2); //平台 $attrition_number = bcmul($purchase_price, 0.01, 2); //损耗 $number1 = bcadd($brigade_number, $village_number, 2); $number2 = bcadd($number1, $platform_number, 2); //零售-供货价 $number3 = bcsub($total_price, $purchase_price, 2); $number4 = bcadd($attrition_number, $number2, 2); //会员 $uid = 0; if ($order['spread_uid'] > 0) { $uid = $order['spread_uid']; } if ($order['uid'] > 0) { $uid = $order['uid']; } $user = User::where('id', $uid)->find(); $delete_time=null; $nickname='会员'; if ($user) { $moeny = bcsub($user['total_recharge_amount'], $user['purchase_funds'], 2); if ($moeny < $user['first_purchase_funds']) { $delete_time=1; $nickname='首充没用完,会员不分配'; } } if (in_array($user_ship, [2, 3])) { $vip_number = bcmul($purchase_price, 0.05, 2); //会员利润 $data[] = [ 'nickname' => $nickname, 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'price' => $price, 'other_uid' => $uid, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.05, 'number' => $vip_number, 'oid' => $order['id'], 'type' => 0, 'status' => 1, 'delete_time'=>$delete_time ]; $number4 = bcadd($number4, $vip_number, 2); } else { $vip_number = bcmul($purchase_price, 0.07, 2); //会员利润 $data[] = [ 'nickname' => $nickname, 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => $uid, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.07, 'number' => $vip_number, 'oid' => $order['id'], 'type' => 0, 'status' => 1, 'delete_time'=>$delete_time ]; $number4 = bcadd($number4, $vip_number, 2); } //门店利润 if ($number3 <= 0) { $store_number = 0; } else { $store_number = bcsub($number3, $number4, 2); } //队长 $data[] = [ 'nickname' => '零售队长', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.02, 'number' => $brigade_number, 'oid' => $order['id'], 'type' => 4, 'status' => 1, 'is_activity' => 1, ]; //村长 $data[] = [ 'nickname' => '零售村长', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $brigade_number, 'cart_num' => 0, 'rate' => 0.01, 'number' => $village_number, 'oid' => $order['id'], 'type' => 3, 'status' => 1, 'is_activity' => 1, ]; //门店 $data[] = [ 'nickname' => '零售门店', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $total_price, 'cart_num' => $find['cart_num'], 'rate' => 0, 'number' => $store_number, 'oid' => $order['id'], 'type' => 1, 'status' => 1, 'is_activity' => 1, ]; //平台 $data[] = [ 'nickname' => '零售平台', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.02, 'number' => $platform_number, 'oid' => $order['id'], 'type' => 2, 'status' => 1, 'is_activity' => 1, ]; $data[] = [ 'nickname' => '零售消耗', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.01, 'number' => $attrition_number, 'oid' => $order['id'], 'type' => 6, 'status' => 1, ]; (new StoreFinanceFlowProduct())->saveAll($data); } /** * 商户价结算 */ public function b($find, $order, $product, $user_ship) { $total_price = bcmul($product['price'], $find['cart_num'], 2); $purchase_price = bcmul($product['purchase'], $find['cart_num'], 2); $price = $product['purchase']; $brigade_number = bcmul($purchase_price, 0.02, 2); //队长 $village_number = bcmul($brigade_number, 0.1, 2); //村长 $platform_number = bcmul($purchase_price, 0.02, 2); //平台 $attrition_number = bcmul($purchase_price, 0.01, 2); //损耗 $number1 = bcadd($brigade_number, $village_number, 2); $number2 = bcadd($number1, $platform_number, 2); //零售-供货价 $number3 = bcsub($total_price, $purchase_price, 2); $number4 = bcadd($attrition_number, $number2, 2); //门店利润 if ($number3 <= 0) { $store_number = 0; } else { $store_number = bcsub($number3, $number4, 2); } //队长 $data[] = [ 'nickname' => '商户价队长预留', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.02, 'number' => $brigade_number, 'oid' => $order['id'], 'type' => 4, 'status' => 1, 'is_activity' => 1, ]; //村长 $data[] = [ 'nickname' => '商户价村长预留', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $brigade_number, 'cart_num' => 0, 'rate' => 0.01, 'number' => $village_number, 'oid' => $order['id'], 'type' => 3, 'status' => 1, 'is_activity' => 1, ]; //门店 $data[] = [ 'nickname' => '商户价门店', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $total_price, 'cart_num' => $find['cart_num'], 'rate' => 0, 'number' => $store_number, 'oid' => $order['id'], 'type' => 1, 'status' => 1, 'is_activity' => 1, ]; //平台 $data[] = [ 'nickname' => '商户价平台', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.02, 'number' => $platform_number, 'oid' => $order['id'], 'type' => 2, 'status' => 1, 'is_activity' => 1, ]; $data[] = [ 'nickname' => '商户价消耗', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $purchase_price, 'cart_num' => $find['cart_num'], 'rate' => 0.01, 'number' => $attrition_number, 'oid' => $order['id'], 'type' => 6, 'status' => 1, ]; (new StoreFinanceFlowProduct())->saveAll($data); } //活动商品结算 public function c($find, $order, $village_uid, $brigade_uid, $user_ship, $product) { // $rose = bcdiv($product['rose'], 100, 2); $total_price = bcmul($product['price'], $find['cart_num'], 2); $purchase_price = bcmul($product['purchase'], $find['cart_num'], 2); $price = $product['price']; $brigade_number = bcmul($total_price, 0.02, 2); //队长 $village_number = bcmul($brigade_number, 0.1, 2); //村长 $platform_number = bcmul($total_price, 0.02, 2); //平台 $number1 = bcadd($brigade_number, $village_number, 2); $number2 = bcadd($number1, $platform_number, 2); //零售-供货价 $number3 = bcsub($total_price, $purchase_price, 2); //门店利润 if ($number3 <= 0) { $store_number = 0; } else { $store_number = bcsub($number3, $number2, 2); } //队长 $data[] = [ 'nickname' => '活动队长', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => $brigade_uid, 'price' => $price, 'total_price' => $total_price, 'cart_num' => $find['cart_num'], 'rate' => 0.02, 'number' => $brigade_number, 'oid' => $order['id'], 'type' => 4, 'status' => 1, 'is_activity' => 1, ]; //村长 $data[] = [ 'nickname' => '活动村长', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => $village_uid, 'price' => $price, 'total_price' => $brigade_number, 'cart_num' => 0, 'rate' => 0.01, 'number' => $village_number, 'oid' => $order['id'], 'type' => 3, 'status' => 1, 'is_activity' => 1, ]; //门店 $data[] = [ 'nickname' => '活动门店', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $store_number, 'cart_num' => $find['cart_num'], 'rate' => 0, 'number' => $store_number, 'oid' => $order['id'], 'type' => 1, 'status' => 1, 'is_activity' => 1, ]; //平台 $data[] = [ 'nickname' => '活动平台', 'store_id' => $order['store_id'], 'product_id' => $find['product_id'], 'other_uid' => 0, 'price' => $price, 'total_price' => $platform_number, 'cart_num' => $find['cart_num'], 'rate' => 0.02, 'number' => $platform_number, 'oid' => $order['id'], 'type' => 2, 'status' => 1, 'is_activity' => 1, ]; (new StoreFinanceFlowProduct())->saveAll($data); } }