rabin hai 1 ano
pai
achega
3feb377d18

+ 3 - 0
src/dai/seller/lib/Manage.php

@@ -112,6 +112,9 @@ class Manage extends Auth
             if (!$channel) {
                 Dever::error('通道未开启');
             }
+            if ($num > $channel['max']) {
+                Dever::error('不能超过最大购买数:' . $channel['max'] . '张');
+            }
             $total = Dever::db('card', 'channel')->count(array('channel_id' => $channel['id'], 'goods_id' => $goods['id'], 'sku_id' => $sku['id'], 'status' => 1, 'use_status' => 1));
             if ($total < $num) {
                 Dever::error('剩余卡密数量不足,当前剩余卡密数量:' . $total . '张');

+ 5 - 0
src/dai/seller/lib/Order.php

@@ -246,6 +246,7 @@ class Order
         if (!$channel_list) {
             return false;
         }
+        $max = 1;
         $channel = $goods = array();
         foreach ($channel_list as $k => $v) {
             if ($selected && isset($selected[$v['channel_id']])) {
@@ -255,11 +256,13 @@ class Order
                 $goods = Dever::db('goods', 'channel')->find(array('channel_id' => $v['channel_id'], 'goods_id' => $goods_id, 'sku_id' => $sku_id));
                 if ($goods) {
                     $channel = $v['channel_id'];
+                    $max = $v['max'];
                     break;
                 } else {
                     $goods = Dever::db('goods', 'channel')->find(array('channel_id' => $v['channel_id'], 'goods_id' => $goods_id, 'sku_id' => -1));
                     if ($goods) {
                         $channel = $v['channel_id'];
+                        $max = $v['max'];
                         break;
                     }
                 }
@@ -267,6 +270,7 @@ class Order
                 $all_sku_id = explode(',', $v['sku_id']);
                 if (in_array($sku_id, $all_sku_id)) {
                     $channel = $v['channel_id'];
+                    $max = $v['max'];
                     break;
                 }
             }
@@ -283,6 +287,7 @@ class Order
             return false;
         }
         $channel['goods'] = $goods;
+        $channel['max'] = $max;
         return $channel;
     }
 

+ 7 - 0
src/dai/seller/table/channel.php

@@ -47,5 +47,12 @@ return array
                 2 => '禁用',
             ),
         ),
+
+        'max' => array
+        (
+            'name'      => '最大购买数',
+            'type'      => 'int(11)',
+            'default'   => '1',
+        ),
     ),
 );

+ 10 - 1
src/dai/seller/table/manage/channel.php

@@ -27,6 +27,11 @@ return array
                 'clearable' => true,
                 'multiple' => true,
             ),
+            'max' => array
+            (
+                'type' => 'text',
+                'rules' => true,
+            ),
             'sort' => array
             (
                 'type' => 'text',
@@ -34,7 +39,11 @@ return array
             ),
             'status' => array
             (
-                'type' => 'radio',
+                'width' => '40',
+                'type' => 'switch',
+                'show'  => '{status}',
+                'active_value' => 1,
+                'inactive_value' => 2,
             ),
         ),
     ),