lizhen_gitee 1 rok pred
rodič
commit
66500469d5

+ 3 - 1
addons/unishop/behavior/Order.php

@@ -134,6 +134,7 @@ class Order
 
         // 订单价格
         $orderPrice = 0;
+        $ordershouyi= 0;
 
         // 条件一
         $products = [];
@@ -170,6 +171,7 @@ class Order
                 throw new Exception(__('Insufficient inventory,%s pieces left', $productInfo['stock']));
             }
             $orderPrice = bcadd($orderPrice, bcmul($productInfo['sales_price'], $numbers[$key], 2), 2);
+            $ordershouyi= bcadd($ordershouyi, bcmul($productInfo['pifa_shouyi'], $numbers[$key], 2), 2);
             $baseProductInfo[] = $productInfo;
         }
 
@@ -201,7 +203,7 @@ class Order
             $coupon = [];
         }
 
-        $params = [$products, $delivery, $coupon, $baseProductInfo, $address, $orderPrice, $specs, $numbers];
+        $params = [$products, $delivery, $coupon, $baseProductInfo, $address, $orderPrice, $ordershouyi, $specs, $numbers];
     }
 
     /**

+ 3 - 2
addons/unishop/extend/Product.php

@@ -29,7 +29,7 @@ class Product
             return [];
         }
         $data = [];
-        if ($spec && $product['use_spec'] == \addons\unishop\model\Product::SPEC_ON && !empty($product['specTableList'])) {
+        /*if ($spec && $product['use_spec'] == \addons\unishop\model\Product::SPEC_ON && !empty($product['specTableList'])) {
             $specValueArr = json_decode($product['specTableList'], true);
             foreach ($specValueArr as $k => $specItem) {
                 if (implode(',', $specItem['value']) == $spec) {
@@ -41,7 +41,7 @@ class Product
                     }
                 }
             }
-        }
+        }*/
         if (empty($data)) {
             if ($key) {
                 $data = $product[$key];
@@ -51,6 +51,7 @@ class Product
                 $data['stock'] = $product['stock'];
                 $data['sales'] = $product['sales'];
                 $data['image'] = $product['image'];
+                $data['pifa_shouyi'] = $product['pifa_shouyi'];
             }
         }
         if (is_array($data)){

+ 7 - 7
addons/unishop/model/Order.php

@@ -228,7 +228,7 @@ class Order extends Model
         $data['userId'] = $userId;
 
         Hook::listen('create_order_before', $params, $data);
-        list($products, $delivery, $coupon, $baseProductInfos, $address, $orderPrice, $specs, $numbers) = $params;
+        list($products, $delivery, $coupon, $baseProductInfos, $address, $orderPrice,$ordershouyi, $specs, $numbers) = $params;
 
         // 获取雪花算法分布式id,方便以后扩展
         $snowflake = new Snowflake();
@@ -285,12 +285,12 @@ class Order extends Model
                 'flash_id' => $data['flash_id'] ?? 0, // 秒杀id
 
                 //追加
-                'user_product'=> $userId.'_'.$product['id'],//为了提高group速度,合二为一
-                'pifa_number' => $product['pifa_number'],
-                'pifa_price'  => $product['pifa_price'],
-                'pifa_shouyi' => $product['pifa_shouyi'],
-                'pifa_stock'  => bcmul($product['pifa_number'],$numbers[$key],0),
-                'pifa_status' => 0,//批发状态:0=在售,1=售出
+                'user_product'=> $userId.'_'.$product['id'],//为了提高group速度,合二为一,批发商品列表group辅助用
+                'pifa_number' => $product['pifa_number'],   //单个商品购买后,放到批发的数量,冗余用
+                'pifa_price'  => $product['pifa_price'],    //单个商品购买后,放到批发的价格,展示用
+                'pifa_stock'  => bcmul($product['pifa_number'],$numbers[$key],0), //此用户此商品,放到批发的库存,展示用
+                'pifa_status' => 0,//批发状态:0=在售,1=售出。批发列表做条件用。
+                'pifa_shouyi' => $product['pifa_shouyi'],   //单个商品购买后,收益值基数,计算奖励用
             ];
 
             if (!empty($specs[$key])) {

+ 6 - 3
application/api/controller/Demo.php

@@ -111,11 +111,14 @@ class Demo extends Api
             'have_paid' => ['lt',$tendays_ago],
             'jiesuantime' => 0,
         ];
-        $order_list = Db::name('unishop_order')->where($order_map)->limit(10)->select();
+        $order_list = Db::name('unishop_order')->where($order_map)->where('have_paid','gt',0)->limit(10)->select();
         foreach($order_list as $key => $order){
 
-            //给上级贡献
-            //上上级贡献
+            //获取直推人数
+            //获取业绩
+            //确定代理商等级,拿对应比例
+            //给直推
+            //给间推
 
             //标记为结算
             $jiesuan = Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>$nowtime]);