dever 5 gadi atpakaļ
vecāks
revīzija
77a9eb1351
5 mainītis faili ar 199 papildinājumiem un 3 dzēšanām
  1. 32 3
      database/info.php
  2. 25 0
      database/info_sku.php
  3. 11 0
      database/order.php
  4. 98 0
      database/rebate.php
  5. 33 0
      lib/Pay.php

+ 32 - 3
database/info.php

@@ -26,6 +26,24 @@ $shop = function()
 	return $array;
 };
 
+$rebate = function()
+{
+	$array = array
+	(
+		'-1' => array
+		(
+			'id' => '-1',
+			'name' => '无佣金',
+		),
+	);
+	$info = Dever::db('goods/rebate')->state();
+	if($info)
+	{
+		$array += $info;
+	}
+	return $array;
+};
+
 $type = array
 (
 	1 => '自营',
@@ -127,6 +145,17 @@ $config = array
 			'option'	=> $mode,
 		),
 
+		'rebate_id'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '佣金',
+			'default' 	=> '-1',
+			'desc' 		=> '佣金',
+			'match' 	=> 'is_numeric',
+			'update'	=> 'select',
+			'option'	=> $rebate,
+		),
+
 		'link'		=> array
 		(
 			'type' 		=> 'varchar-800',
@@ -292,7 +321,7 @@ $config = array
 		'sell_num'		=> array
 		(
 			'type' 		=> 'int-11',
-			'name' 		=> '销量',
+			'name' 		=> '销量',
 			'default' 	=> '0',
 			'desc' 		=> '请填写销量',
 			'match' 	=> 'option',
@@ -508,7 +537,7 @@ $config = array
 		),
 		
 		# 更新售出量
-		'addSell' => array
+		'updateSell' => array
 		(
 			'type' => 'update',
 			'where' => array
@@ -517,7 +546,7 @@ $config = array
 			),
 			'set' => array
 			(
-				'sell_num' => array('1', '+='),
+				'sell_num' => array('yes', '+='),
 			),
 		),
 

+ 25 - 0
database/info_sku.php

@@ -87,6 +87,17 @@ $config = array
 			'list'		=> true,
 		),
 
+		'sell_num'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '销量',
+			'default' 	=> '0',
+			'desc' 		=> '请填写销量',
+			'match' 	=> 'option',
+			'search'	=> 'order',
+			'list'		=> true,
+		),
+
 		'reorder'		=> array
 		(
 			'type' 		=> 'int-11',
@@ -180,6 +191,20 @@ $config = array
 			'order' => array('price' => 'desc', 'id' => 'desc'),
 			'col' => '*',
 		),
+
+		# 更新售出量
+		'updateSell' => array
+		(
+			'type' => 'update',
+			'where' => array
+			(
+				'id' => 'yes',
+			),
+			'set' => array
+			(
+				'sell_num' => array('yes', '+='),
+			),
+		),
 	),
 );
 

+ 11 - 0
database/order.php

@@ -51,6 +51,17 @@ $config = array
 			'list'		=> true,
 		),
 
+		'sku_id'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '商品SKUID',
+			'default' 	=> '',
+			'desc' 		=> '商品SKUID',
+			'match' 	=> 'is_numeric',
+			'update'	=> 'text',
+			'list'		=> true,
+		),
+
 		'order_id'		=> array
 		(
 			'type' 		=> 'varchar-100',

+ 98 - 0
database/rebate.php

@@ -0,0 +1,98 @@
+<?php
+$type = array
+(
+    1 => '数值',
+    2 => '百分比',
+);
+return array
+(
+    # 表名
+    'name' => 'rebate',
+    # 显示给用户看的名称
+    'lang' => '佣金配置',
+    'order' => 1,
+
+    # 数据结构
+    'struct' => array
+    (
+        'id'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'ID',
+            'default'   => '',
+            'desc'      => '',
+            'match'     => 'is_numeric',
+            'search'    => 'order',
+            //'list'        => true,
+        ),
+
+        'name'      => array
+        (
+            'type'      => 'varchar-800',
+            'name'      => '佣金标题',
+            'default'   => '',
+            'desc'      => '标题',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'        => true,
+            //'edit'        => true,
+        ),
+
+        'type'      => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '佣金类型',
+            'default'   => '1',
+            'desc'      => '佣金类型',
+            'match'     => 'option',
+            'update'    => 'radio',
+            'option'    => $type,
+            'list'      => true,
+            'search'    => 'select',
+        ),
+        
+        'price'     => array
+        (
+            'type'      => 'varchar-500',
+            'name'      => '佣金金额-如果是百分比类型,这里如果填的是10,那就是商品支付价格的10%,填写数字就是一级,支持多层层级设置,1:20,2:30 就是1级202级30',
+            'default'   => '',
+            'desc'      => '佣金金额',
+            'match'     => 'is_string',
+            'update'    => 'textarea',
+            'list'      => true,
+        ),
+
+        'state'     => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '状态',
+            'default'   => '1',
+            'desc'      => '请选择状态',
+            'match'     => 'is_numeric',
+        ),
+        
+        'cdate'     => array
+        (
+            'type'      => 'int-11',
+            'name'      => '录入时间',
+            'match'     => array('is_numeric', DEVER_TIME),
+            'desc'      => '',
+            # 只有insert时才生效
+            'insert'    => true,
+            'list'      => 'date("Y-m-d H:i:s", {cdate})',
+        ),
+    ),
+
+    'manage' => array
+    (
+        //'delete' => false,
+        //'edit' => false,
+        //'insert' => false,
+    ),
+
+    'request' => array
+    (
+        
+    )
+);

+ 33 - 0
lib/Pay.php

@@ -46,6 +46,7 @@ class Pay
         $order_data['uid'] = $uid;
         $order_data['status'] = 1;
         $order_data['info_id'] = $goods['id'];
+        $order_data['sku_id'] = $sku;
         $order_data['name'] = $goods['name'];
         $order_data['cash'] = $goods['price'];
         $order_data['num'] = $num;
@@ -116,6 +117,17 @@ class Pay
         if ($order && $order['status'] == 1) {
 
             if ($status == 2) {
+                # 减少库存 增加销量
+                $update['where_id'] = $order['info_id'];
+                $update['sell_num'] = $order['num'];
+                Dever::db('goods/info')->updateSell($update);
+
+                if ($order['sku_id'] > 0) {
+                    $update['where_id'] = $order['sku_id'];
+                    $update['sell_num'] = $order['num'];
+                    Dever::db('goods/info_sku')->updateSell($update);
+                }
+
                 # 增加积分
                 Dever::score($order['uid'], 'buy_goods', '购买商品');
 
@@ -123,6 +135,10 @@ class Pay
                 if (Dever::project('message')) {
                     Dever::load('message/lib/data')->push(-1, $order['uid'], '购买提醒', '购买成功', 11);
                 }
+
+                # 增加上级佣金
+                $cash = $order['cash'] * $order['num'];
+                $this->rebate($order['uid'], $order['info_id'], $cash);
             }
 
 
@@ -134,6 +150,23 @@ class Pay
         return 'ok';
     }
 
+    # 增加上级佣金
+    public function rebate($uid, $goods_id, $cash)
+    {
+        $goods = Dever::db('goods/info')->one($goods_id);
+        $rebate_id = $goods['rebate_id'];
+        if ($rebate_id > 0) {
+            $rebate = Dever::db('goods/rebate')->one($rebate_id);
+            if ($rebate) {
+                if ($rebate['type'] == 1) {
+                    
+                } else {
+                    
+                }
+            }
+        }
+    }
+
     # 生成订单号
     public function getOrderId()
     {