diff --git a/app/common/logic/CommissionLogic.php b/app/common/logic/CommissionLogic.php
index ca1099f4..73e831cd 100644
--- a/app/common/logic/CommissionLogic.php
+++ b/app/common/logic/CommissionLogic.php
@@ -3,6 +3,7 @@
 namespace app\common\logic;
 
 use app\common\enum\OrderEnum;
+use app\common\model\store_finance_flow_product\StoreFinanceFlowProduct;
 use app\common\model\system_store\SystemStore;
 use app\common\model\user\User;
 use app\common\model\user\UserAddress;
@@ -14,32 +15,32 @@ class CommissionLogic extends BaseLogic
      */
     public static function setVillage($order, $village_uid = 0, $brigade_uid = 0, $transaction_id = 0)
     {
-        $user_1 = self::user($order, 0.05, $transaction_id, $village_uid, 14); //村长
-        $user_2 = self::user($order, 0.03, $transaction_id, 0, 12); //会员、厨师
-        $user_3 = self::user($order, 0.01, $transaction_id, $brigade_uid, 15); //队长
+         self::user($order, 3, $transaction_id, $village_uid, 14); //村长
+         self::user($order, 0, $transaction_id, 0, 12); //会员、厨师
+         self::user($order, 5, $transaction_id, 0, 12); //个人店铺
+         self::user($order, 4, $transaction_id, $brigade_uid, 15); //队长
 
-        $platform = self::platform($order, 0.02, $transaction_id); //平台
-        $store = self::store($order, 0.05, $transaction_id, 0); //门店
-        $attrition = self::attrition($order, 0.02, $transaction_id, 16); //损耗
+         self::platform($order, 2, $transaction_id); //平台
+         self::store($order, 1, $transaction_id, 0); //门店
+        // $attrition = self::attrition($order, 0.02, $transaction_id, 16); //损耗
+        self::suppliter($order, $transaction_id);
 
-        $moeny = bcadd(bcadd(bcadd(bcadd($user_1, $user_2, 2), $user_3, 2), $platform, 2), bcadd($store, $attrition, 2), 2);
-        self::suppliter($order, $moeny, $transaction_id);
     }
     /**
      * 走队长分润
      */
     public static function setBrigade($order, $village_uid = 0, $brigade_uid = 0, $transaction_id = 0)
     {
-        $user_1 = self::user($order, 0.05, $transaction_id, $brigade_uid, 15); //队长
-        $user_2 = self::user($order, 0.03, $transaction_id, 0, 12); ////会员、厨师
-        $user_3 = self::user($order, 0.01, $transaction_id, $village_uid, 14); //村长
+         self::user($order, 4, $transaction_id, $brigade_uid, 15); //队长
+         self::user($order, 0, $transaction_id, 0, 12); ////会员、厨师
+         self::user($order, 5, $transaction_id, 0, 12); ////会员、厨师
+         self::user($order, 3, $transaction_id, $village_uid, 14); //村长
 
-        $platform = self::platform($order, 0.02, $transaction_id); //平台
-        $store = self::store($order, 0.05, $transaction_id, 0); //门店
-        $attrition = self::attrition($order, 0.02, $transaction_id, 16); //损耗
+         self::platform($order, 2, $transaction_id); //平台
+         self::store($order, 1, $transaction_id, 0); //门店
+        // $attrition = self::attrition($order, 0.02, $transaction_id, 16); //损耗
+        self::suppliter($order, $transaction_id);
 
-        $moeny = bcadd(bcadd(bcadd(bcadd($user_1, $user_2, 2), $user_3, 2), $platform, 2), bcadd($store, $attrition, 2), 2);
-        self::suppliter($order, $moeny, $transaction_id);
     }
     /**
      * 走厨师分润
@@ -51,14 +52,15 @@ class CommissionLogic extends BaseLogic
         }else{
             $uid=$order['spread_uid'];
         }
-        $user_1 = self::user($order, 0.07, $transaction_id, $uid, 12); //会员、厨师
-        $user_2 = self::user($order, 0.01, $transaction_id, $village_uid, 14); //村长
-        $user_3 = self::user($order, 0.01, $transaction_id, $brigade_uid, 15); //队长
-        $platform = self::platform($order, 0.02, $transaction_id); //平台
-        $store = self::store($order, 0.05, $transaction_id, 0); //门店
-        $attrition = self::attrition($order, 0.02, $transaction_id, 16); //损耗
-        $moeny = bcadd(bcadd(bcadd(bcadd($user_1, $user_2, 2), $user_3, 2), $platform, 2), bcadd($store, $attrition, 2), 2);
-        self::suppliter($order, $moeny, $transaction_id);
+         self::user($order, 0, $transaction_id, $uid, 12); //会员、厨师
+         self::user($order, 5, $transaction_id, $uid, 12); //会员、厨师
+         self::user($order, 3, $transaction_id, $village_uid, 14); //村长
+         self::user($order, 4, $transaction_id, $brigade_uid, 15); //队长
+         self::platform($order, 2, $transaction_id); //平台
+         self::store($order, 1, $transaction_id, 0); //门店
+        // $attrition = self::attrition($order, 0.02, $transaction_id, 16); //损耗
+        // $moeny = bcadd(bcadd(bcadd(bcadd($user_1, $user_2, 2), $user_3, 2), $platform, 2), bcadd($store, 0, 2), 2);
+        self::suppliter($order, $transaction_id);
     }
 
     /**
@@ -66,27 +68,23 @@ class CommissionLogic extends BaseLogic
      */
     public static function setStore($order, $transaction_id = 0)
     {
-        $platform = self::platform($order, 0.02, $transaction_id); //平台
-        $store = self::store($order, 0.05, $transaction_id, 0); //门店
-        $attrition = self::attrition($order, 0.01, $transaction_id, 16); //损耗
-        $moeny = bcadd(bcadd($platform, $store, 2), $attrition, 2);
-        self::suppliter($order, $moeny, $transaction_id);
+         self::platform($order, 2, $transaction_id); //平台
+         self::store($order, 1, $transaction_id, 0); //门店
+        // $attrition = self::attrition($order, 0.01, $transaction_id, 16); //损耗
+        // $moeny = bcadd($platform, $store, 2);
+        self::suppliter($order, $transaction_id);
     }
 
 
     /**
      * 平台分润
      */
-    public static function platform($order, $platformRate, $transaction_id)
+    public static function platform($order, $type, $transaction_id)
     {
         $financeLogic = new StoreFinanceFlowLogic();
         $financeLogic->order = $order;
         $financeLogic->user['uid'] = $order['uid'];
-        $pay_price = $order['pay_price'];
-        if (isset($order['dealVipAmount']) && $order['dealVipAmount'] > 0) {
-            $pay_price = bcsub($order['pay_price'], $order['dealVipAmount'], 2);
-        }
-        $fees = bcdiv(bcmul($pay_price, $platformRate, 2), 1, 2);
+        $fees=StoreFinanceFlowProduct::where('oid',$order['id'])->where('type',$type)->sum('number');
         if ($fees > 0) {
             $financeLogic->in($transaction_id, $fees, OrderEnum::ORDER_HANDLING_FEES, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);  //平台手续费
             $financeLogic->out($transaction_id, $fees, OrderEnum::ORDER_HANDLING_FEES, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); //商户平台手续费支出
@@ -97,16 +95,14 @@ class CommissionLogic extends BaseLogic
     /**
      * 供应链订单获得
      */
-    public static function suppliter($order, $platformRate, $transaction_id)
+    public static function suppliter($order, $transaction_id)
     {
         $financeLogic = new StoreFinanceFlowLogic();
         $financeLogic->order = $order;
         $financeLogic->user['uid'] = $order['uid'];
         $pay_price = $order['pay_price'];
-        if (isset($order['dealVipAmount']) && $order['dealVipAmount'] > 0) {
-            $pay_price = bcsub($order['pay_price'], $order['dealVipAmount'], 2);
-        }
-        $fees = bcsub($pay_price, $platformRate, 2);
+        $number=StoreFinanceFlowProduct::where('oid',$order['id'])->sum('number');
+        $fees = bcsub($pay_price, $number, 2);
         if ($fees > 0) {
             $financeLogic->in($transaction_id, $fees, OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
             $financeLogic->out($transaction_id, $fees, OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);
@@ -116,7 +112,7 @@ class CommissionLogic extends BaseLogic
     /**
      * 门店分润
      */
-    public static function store($order, $platformRate, $transaction_id, $uid)
+    public static function store($order, $type, $transaction_id, $uid)
     {
         $financeLogic = new StoreFinanceFlowLogic();
         $financeLogic->user['uid'] = $order['uid'];
@@ -127,11 +123,7 @@ class CommissionLogic extends BaseLogic
         //缴纳齐全了就加商户没有就加到平台
         $money_limt = SystemStore::where('id', $order['store_id'])->field('paid_deposit,security_deposit')->find();
         $deposit = bcsub($money_limt['security_deposit'], $money_limt['paid_deposit'], 2); //保证金剩余额度
-        $pay_price = $order['pay_price'];
-        if (isset($order['dealVipAmount']) && $order['dealVipAmount'] > 0) {
-            $pay_price = bcsub($order['pay_price'], $order['dealVipAmount'], 2);
-        }
-        $store_profit = bcmul($pay_price, $platformRate, 2);
+        $store_profit=StoreFinanceFlowProduct::where('oid',$order['id'])->where('type',$type)->sum('number');
         if ($deposit > 0) {
             if ($deposit > $store_profit) {
                 if ($store_profit > 0) {
@@ -159,14 +151,10 @@ class CommissionLogic extends BaseLogic
     /**
      * 分给用户
      */
-    public static function user($order, $userRate, $transaction_id, $uid = 0, $enum = 0)
+    public static function user($order, $type, $transaction_id, $uid = 0, $enum = 0)
     {
         $financeLogic = new StoreFinanceFlowLogic();
-        $pay_price = $order['pay_price'];
-        if (isset($order['dealVipAmount']) && $order['dealVipAmount'] > 0) {
-            $pay_price = bcsub($order['pay_price'], $order['dealVipAmount'], 2);
-        }
-        $fees = bcmul($pay_price, $userRate, 2);
+        $fees=StoreFinanceFlowProduct::where('oid',$order['id'])->where('type',$type)->sum('number');
         if ($fees > 0) {
             //记录用户余额收入
             $financeLogic->user['uid'] = $order['uid'];
diff --git a/app/common/logic/CommissionProductLogic.php b/app/common/logic/CommissionProductLogic.php
index 244ea4db..f236bb3f 100644
--- a/app/common/logic/CommissionProductLogic.php
+++ b/app/common/logic/CommissionProductLogic.php
@@ -17,91 +17,87 @@ class CommissionProductLogic extends BaseLogic
     /**
      * 根据毛利率计算
      */
-    function calculate_product_flow($oid, $store_id, $product_id, $village_uid = 0, $brigade_uid = 0,$uid=0,$spread_uid=0)
+    function calculate_product_flow($oid, $store_id, $product_id, $village_uid = 0, $brigade_uid = 0, $uid = 0, $spread_uid = 0)
     {
+        $product = StoreBranchProduct::where('store_id', $store_id)->where('product_id', $product_id)->find();
+        if ($product && $product['rose'] > 0) {
+            if ($product['rose'] >= 4 && $product['rose'] < 8) {
+                $rose = bcdiv($product['rose'], 100, 2);
+                $commission = bcmul($product['purchase'], $rose, 2);
+                StoreFinanceFlowProduct::create([
+                    'store_id' => $store_id,
+                    'product_id' => $product_id,
+                    'number' => $commission,
+                    'oid' => $oid,
+                    'type' => 2,
+                    'status' => 1,
+                ]);
+            } elseif ($product['rose'] >= 8) {
+                $rose = bcdiv($product['rose'], 100, 2);
 
-        $find = StoreOrderCartInfo::where($oid, $product_id)->field('price,cart_num,rose')->find();
-        if ($find && $find['rose'] > 0) {
-            $product = StoreBranchProduct::where('store_id', $store_id)->where('product_id', $product_id)->find();
-            if ($product) {
-                if ($product['rose'] >= 4 && $product['rose'] < 8) {
-                    $rose = bcdiv($find['rose'], 100, 2);
-                    $commission = bcmul($product['purchase'], $rose, 4);
-                    StoreFinanceFlowProduct::create([
-                        'store_id' => $store_id,
-                        'product_id' => $product_id,
-                        'number' => $commission,
-                        'oid' => $oid,
-                        'type' => 2,
-                        'status' => 1,
-                    ]);
-                } elseif ($product['rose'] >= 8) {
-                    $rose = bcdiv($find['rose'], 100, 2);
-
-                    $Distribution = Distribution::where('rate', $rose)->find();
-                    //门店
-                    $data[] = [
-                        'store_id' => $store_id,
-                        'product_id' => $product_id,
-                        'number' =>  bcmul($product['price'], $Distribution['store'], 4),
-                        'oid' => $oid,
-                        'type' => 1,
-                        'status' => 1,
-                    ];
-                    //平台
-                    $data[] = [
-                        'store_id' => $store_id,
-                        'product_id' => $product_id,
-                        'number' =>  bcmul($product['price'], $Distribution['platform'], 4),
-                        'oid' => $oid,
-                        'type' => 2,
-                        'status' => 1,
-                    ];
-                    //村长
-                    $data[] = [
-                        'store_id' => $store_id,
-                        'product_id' => $product_id,
-                        'other_uid' => $village_uid,
-                        'number' =>  bcmul($product['price'], $Distribution['village'], 4),
-                        'oid' => $oid,
-                        'type' => 0,
-                        'status' => 1,
-                    ];
-                    //队长
-                    $data[] = [
-                        'store_id' => $store_id,
-                        'product_id' => $product_id,
-                        'other_uid' => $brigade_uid,
-                        'number' =>  bcmul($product['price'], $Distribution['brigade'], 4),
-                        'oid' => $oid,
-                        'type' => 0,
-                        'status' => 1,
-                    ];
-                    //会员
+                $Distribution = Distribution::where('rate', $rose)->find();
+                //门店
+                $data[] = [
+                    'store_id' => $store_id,
+                    'product_id' => $product_id,
+                    'number' =>  bcmul($product['price'], $Distribution['store'], 2),
+                    'oid' => $oid,
+                    'type' => 1,
+                    'status' => 1,
+                ];
+                //平台
+                $data[] = [
+                    'store_id' => $store_id,
+                    'product_id' => $product_id,
+                    'number' =>  bcmul($product['price'], $Distribution['platform'],2),
+                    'oid' => $oid,
+                    'type' => 2,
+                    'status' => 1,
+                ];
+                //村长
+                $data[] = [
+                    'store_id' => $store_id,
+                    'product_id' => $product_id,
+                    'other_uid' => $village_uid,
+                    'number' =>  bcmul($product['price'], $Distribution['village'], 2),
+                    'oid' => $oid,
+                    'type' => 3,
+                    'status' => 1,
+                ];
+                //队长
+                $data[] = [
+                    'store_id' => $store_id,
+                    'product_id' => $product_id,
+                    'other_uid' => $brigade_uid,
+                    'number' =>  bcmul($product['price'], $Distribution['brigade'], 2),
+                    'oid' => $oid,
+                    'type' => 4,
+                    'status' => 1,
+                ];
+                //会员
+                $data[] = [
+                    'store_id' => $store_id,
+                    'product_id' => $product_id,
+                    'other_uid' => $uid,
+                    'number' =>  bcmul($product['price'], $Distribution['user'], 2),
+                    'oid' => $oid,
+                    'type' => 0,
+                    'status' => 1,
+                ];
+                //个人店铺
+                if ($spread_uid > 0) {
                     $data[] = [
                         'store_id' => $store_id,
                         'product_id' => $product_id,
                         'other_uid' => $uid,
-                        'number' =>  bcmul($product['price'], $Distribution['user'], 4),
+                        'number' =>  bcmul($product['price'], $Distribution['person_store'], 2),
                         'oid' => $oid,
-                        'type' => 0,
+                        'type' => 5,
                         'status' => 1,
                     ];
-                    //个人店铺
-                    if($spread_uid>0){
-                        $data[] = [
-                            'store_id' => $store_id,
-                            'product_id' => $product_id,
-                            'other_uid' => $uid,
-                            'number' =>  bcmul($product['price'], $Distribution['person_store'], 4),
-                            'oid' => $oid,
-                            'type' => 0,
-                            'status' => 1,
-                        ];
-                    }
-
-                    (new StoreFinanceFlowProduct())->saveAll($data);
                 }
+
+                (new StoreFinanceFlowProduct())->saveAll($data);
             }
         }
     }