dever %!s(int64=3) %!d(string=hai) anos
pai
achega
97ec948bab

+ 3 - 3
service/agent/assets/pc/html/setOrderGoods.html

@@ -54,7 +54,7 @@
                     合计:【<span> 当前总数量:<i class="totalNum">0</i> </span>
                 </div>
                 <div class="towbtn">
-                    <input type="button" id="settlement" value="确认发放">
+                    <input type="button" id="settlement" value="确认修改权益">
                 </div>
             </div>
         </div>
@@ -95,8 +95,8 @@
                 $.post(url, data, function(t) {
                     t = JSON.parse(t);
                     if (t.status == 1) {
-                        layui.layer.alert('商品权益发放成功', function(index){
-                          location.reload();
+                        layui.layer.alert('权益修改成功', function(index){
+                          location.href = t.data;
                           layer.close(index);
                         });
                     } else {

+ 134 - 0
service/agent/database/member_goods.php

@@ -0,0 +1,134 @@
+<?php
+
+$type = Dever::db('setting/role_goods')->config['set']['type'];
+
+return array
+(
+    # 表名
+    'name' => 'member_goods',
+    # 显示给用户看的名称
+    'lang' => '代理商权益',
+    'menu' => false,
+    # 数据结构
+    'struct' => array
+    (
+    
+        'id'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'ID',
+            'default'   => '',
+            'desc'      => '',
+            'match'     => 'is_numeric',
+            'search'    => 'order',
+            'update'    => 'hidden',
+            //'list'        => true,
+        ),
+
+        'mid'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '代理商',
+            'default'   => '-1',
+            'desc'      => '代理商',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'searchs'    => array
+            (
+                'api' => 'agent/member-select',
+                'col' => 'name',
+                'result' => 'id',
+            ),
+            //'list'      => 'Dever::load("agent/member-find#name", {mid})',
+        ),
+
+        'type'        => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '类型',
+            'default'   => '1',
+            'desc'      => '类型',
+            'match'     => 'is_numeric',
+            'update'  	=> 'radio',
+            'option'    => $type,
+        ),
+
+        'type_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '类型id',
+            'default'   => '-1',
+            'desc'      => '类型id',
+            'match'     => 'is_numeric',
+        ),
+
+        'sku_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'sku_id',
+            'default'   => '-1',
+            'desc'      => 'sku_id',
+            'match'     => 'is_numeric',
+        ),
+
+        'total_num'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => '总数量',
+            'default'   => '0',
+            'desc'      => '总数量',
+            'match'     => 'is_numeric',
+        ),
+
+        'sell_num'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '已兑换数量',
+            'default'   => '0',
+            'desc'      => '已兑换数量',
+            'match'     => 'option',
+        ),
+
+        'state'     => array
+        (
+            'type'      => 'tinyint-1',
+            'name'      => '状态',
+            'default'   => '1',
+            'desc'      => '请选择状态',
+            'match'     => 'is_numeric',
+        ),
+        
+        'cdate'     => array
+        (
+            'type'      => 'int-11',
+            'name'      => '创建时间',
+            'match'     => array('is_numeric', time()),
+            'desc'      => '',
+            # 只有insert时才生效
+            //'insert'    => true,
+            'search'    => 'date',
+            'list'      => 'date("Y-m-d H:i:s", {cdate})',
+        ),
+    ),
+
+    'manage' => array
+    (
+        
+    ),
+
+    'request' => array
+    (
+        'getData' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'order_id' => 'yes',
+                'state' => 1,
+            ),
+            'order' => array('type' => 'asc', 'id' => 'desc'),
+            'type' => 'all',
+            'col' => '*',
+        ),
+    ),
+);

+ 18 - 16
service/agent/database/order_goods.php

@@ -1,23 +1,14 @@
 <?php
 
-$type = array
-(
-	1 => '商品',
-	//2 => '体验卡',
-	//3 => '名额',
-);
+$type = Dever::db('setting/role_goods')->config['set']['type'];
 
 return array
 (
     # 表名
-    'name' => 'role_goods',
+    'name' => 'order_goods',
     # 显示给用户看的名称
     'lang' => '商品权益',
     'menu' => false,
-    'set' => array
-    (
-    	'type' => $type,
-    ),
     # 数据结构
     'struct' => array
     (
@@ -54,14 +45,13 @@ return array
             'option'    => $type,
         ),
 
-        'goods_id'      => array
+        'type_id'      => array
         (
             'type'      => 'int-11',
-            'name'      => '商品名称',
+            'name'      => '类型id',
             'default'   => '-1',
-            'desc'      => '商品名称',
+            'desc'      => '类型id',
             'match'     => 'is_numeric',
-            'list'      => 'Dever::load("goods/info-find#name", {goods_id})',
         ),
 
         'sku_id'      => array
@@ -113,6 +103,18 @@ return array
 
     'request' => array
     (
-        
+        'getData' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'order_id' => 'yes',
+                'config' => 'yes',
+                'state' => 1,
+            ),
+            'order' => array('type' => 'asc', 'id' => 'desc'),
+            'type' => 'all',
+            'col' => '*',
+        ),
     ),
 );

+ 2 - 2
service/agent/database/order_process.php

@@ -19,7 +19,7 @@ $type = array
     1 => '支付已确认',
     2 => '权益已确认发放',
     3 => '分润已确认发放',
-    4 => '期权已确认发放',
+    //4 => '期权已确认发放',
     5 => '代理合同已生成',
 );
 
@@ -118,7 +118,7 @@ return array
             'default'   => '1',
             'desc'      => '权益发放情况',
             'match'     => 'option',
-            'update'  	=> 'radio',
+            'update'  	=> 'checkbox',
             'option'    => $type,
             'search'    => 'select',
             'show'		=> 'type=3',

+ 107 - 1
service/agent/lib/Manage.php

@@ -14,10 +14,116 @@ class Manage
         $order_id = Dever::param('order_id', $data);
         if ($order_id && $status) {
             if ($audit == 1) {
-                Dever::db('agent/order')->update(array('where_id' => $order_id, 'status' => $status+1));
+                $update = array('where_id' => $order_id, 'status' => $status+1);
+                if ($status == 2) {
+                    # 财务终审之后,先生成代理商
+                    $order = Dever::db('agent/order')->find($order_id);
+                    if ($order['mid'] <= 0) {
+                        # 生成
+                        $where['mobile'] = $order['mobile'];
+                        $member = Dever::db('agent/member')->find($where);
+                        if ($member) {
+                            $update['mid'] = $member['id'];
+                        } else {
+                            $data = $where;
+                            $data['name'] = $order['name'];
+                            $data['role'] = 1;
+                            $data['parent_mid'] = $order['parent_mid'];
+                            $update['mid'] = Dever::db('agent/member')->insert($where);
+                        }
+                    }
+                }
+
+                Dever::db('agent/order')->update($update);
             } else {
                 Dever::db('agent/order')->update(array('where_id' => $order_id, 'status' => 5));
             }
         }
     }
+
+    # 发放权益
+    public function setGoods_commit_api()
+    {
+        $type = 2;
+
+        $order_id = Dever::input('order_id');
+        # 检测是否发放过了
+        $order = Dever::db('agent/order')->find($order_id);
+        if ($order['status'] != 3) {
+            Dever::alert('无发放权限');
+        }
+        if ($order['mid'] <= 0) {
+            $update = array('where_id' => $order_id);
+            $where['mobile'] = $order['mobile'];
+            $member = Dever::db('agent/member')->find($where);
+            if ($member) {
+                $update['mid'] = $member['id'];
+            } else {
+                $data = $where;
+                $data['name'] = $order['name'];
+                $data['role'] = 1;
+                $data['parent_mid'] = $order['parent_mid'];
+                $update['mid'] = Dever::db('agent/member')->insert($data);
+            }
+            print_r($update);die;
+            Dever::db('agent/order')->update($update);
+            $order['mid'] = $update['mid'];
+        }
+
+        $order_process = Dever::db('agent/order_process')->find(array('order_id' => $order_id, 'status' => 3));
+
+        $yes = -1;
+        if (!$order_process) {
+            # 可以发放
+            $yes = 1;
+        } elseif ($order_process) {
+            $order_process['type'] = explode(',', $order_process['type']);
+            if (!in_array($type, $process[3]['type'])) {
+                # 可以发放
+                $yes = 2;
+            }
+        }
+        if ($yes > 0) {
+            if ($yes == 1) {
+                $data['order_id'] = $order_id;
+                $data['status'] = 3;
+                $data['type'] = '1,' . $type;
+                $state = Dever::db('agent/order_process')->insert($data);
+            } else {
+                $data['where_id'] = $order_process['id'];
+                $order_process['type'][] = 2;
+                $data['type'] = implode(',', $order_process['type']);
+                $state = Dever::db('agent/order_process')->update($data);
+            }
+            if ($state) {
+                $goods = Dever::db('agent/order_goods')->getData(array('order_id' => $order_id));
+                if (!$goods) {
+                    $goods = Dever::db('setting/role_goods')->getData(array('role_id' => $order['role'], 'give' => $order['order_type']));
+                }
+
+                if ($goods) {
+                    $where = array();
+                    foreach ($goods as $k => $v) {
+                        $where['mid'] = $order['mid'];
+                        $where['type'] = $v['type'];
+                        $where['type_id'] = $v['type_id'];
+                        $where['sku_id'] = $v['sku_id'];
+                        $info = Dever::db('agent/member_goods')->find($where);
+                        if ($info) {
+                            $up['where_id'] = $info['id'];
+                            $up['total_num'] = $info['total_num'] + $v['num'];
+                            Dever::db('agent/member_goods')->update($up);
+                        } else {
+                            $up = $where;
+                            $up['total_num'] = $v['num'];
+                            Dever::db('agent/member_goods')->insert($up);
+                        }
+                    }
+                }
+            }
+            return 'reload';
+        } else {
+            Dever::alert('无发放权限');
+        }
+    }
 }

+ 69 - 28
service/agent/lib/Order.php

@@ -428,8 +428,15 @@ class Order
                 'link' => Dever::url('project/database/update?project=agent&table=order_process&order_id='.$info['id'].'&status=2&col=order_id,status,audit,desc', 'manage'),
                 'name' => '财务终审',
             );
+        } elseif ($info['status'] == 3) {
+            $button[] = array
+            (
+                'type' => 'edit',
+                'link' => Dever::url('project/database/update?project=agent&table=order_process&order_id='.$info['id'].'&status=3&col=order_id,status,type', 'manage'),
+                'name' => '确认完成',
+            );
         }
-        
+
         if ($info['status'] == 3 || $info['status'] == 4) {
             if ($parent_member) {
                 # 这里要获取上级信息
@@ -456,27 +463,37 @@ class Order
 
             if (isset($process[3]) && $process[3]) {
                 $process[3]['type'] = explode(',', $process[3]['type']);
+            }
 
-                if (in_array(2, $process[3]['type'])) {
-                    $process_status = 1;
-                    $process_name = '(已发放权益)';
-                    $process_button = array();
-                    $goods = Dever::db('agent/order_goods')->select(array('order_id' => $info['id']));
-                } else {
-                    $process_status = 2;
-                    $process_name = '(未发放权益)';
-                    
-                    $process_button = array(
-                        'type' => 'link',
-                        'link' => Dever::url('lib/order_set.home?order_id='.$info['id'].'&role_id=' . $info['role'] . '&give=' . $info['order_type'], 'agent'),
-                        'name' => '发放权益'
-                    );
-                    $goods = Dever::db('setting/role_goods')->select(array('role_id' => $info['role'], 'give' => $info['order_type']));
-                }
+            $goods = Dever::db('agent/order_goods')->getData(array('order_id' => $info['id']));
+
+            if (isset($process[3]['type']) && is_array($process[3]['type']) && in_array(2, $process[3]['type'])) {
+                $process_status = 1;
+                $process_name = '(已发放权益)';
+                $process_button = array();
+            } else {
+                $process_status = 2;
+                $process_name = '(未发放权益)';
                 
-                if ($goods) {
-                    foreach ($goods as $k => $v) {
-                        $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['goods_id'], $v['sku_id']);
+                $process_button[] = array(
+                    'type' => 'link',
+                    'link' => Dever::url('lib/order_set.home?order_id='.$info['id'].'&role_id=' . $info['role'], 'agent'),
+                    'name' => '修改权益'
+                );
+                $process_button[] = array(
+                    'type' => 'action',
+                    'link' => Dever::url('lib/manage.setGoods_commit?order_id='.$info['id'], 'agent'),
+                    'name' => '发放权益'
+                );
+                if (!$goods) {
+                    $goods = Dever::db('setting/role_goods')->getData(array('role_id' => $info['role'], 'give' => $info['order_type']));
+                }
+            }
+            
+            if ($goods) {
+                foreach ($goods as $k => $v) {
+                    if ($v['type'] == 1) {
+                        $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['type_id'], $v['sku_id']);
                         if (isset($goods_info['sku'])) {
                             $sku = $goods_info['sku']['string'];
                         } else {
@@ -495,16 +512,40 @@ class Order
                             'num' => $v['num'],
                             //'status' => $status,
                         );
-                        $body[] = $d;
-                    }
+                    } elseif ($v['type'] == 2) {
+                        $card = Dever::db('card/info')->find($v['type_id']);
 
-                    $result['权益信息' . $process_name] = array
-                    (
-                        'type' => 'list',
-                        'head' => array('name' => '商品权益:', 'btn' => array($process_button)),
-                        'content' => $body,
-                    );
+                        $d = array
+                        (
+                            //'pic' => $goods_info['cover'],
+                            'name' => $card['name'],
+                            'sku' => '',
+                            'price' => $card['price'],
+                            'num' => $v['num'],
+                            //'status' => $status,
+                        );
+                    } elseif ($v['type'] == 3) {
+                        $prize = Dever::db('setting/role_goods')->config['set']['prize'];
+                        $d = array
+                        (
+                            //'pic' => $goods_info['cover'],
+                            'name' => $prize[$v['type_id']],
+                            'sku' => '',
+                            'price' => 0,
+                            'num' => $v['num'],
+                            //'status' => $status,
+                        );
+                    }
+                    
+                    $body[] = $d;
                 }
+
+                $result['权益信息' . $process_name] = array
+                (
+                    'type' => 'list',
+                    'head' => array('name' => '权益列表:', 'btn' => $process_button),
+                    'content' => $body,
+                );
             }
         }
         

+ 91 - 18
service/agent/lib/Order_set.php

@@ -16,7 +16,75 @@ class Order_set
     public function goods_api()
     {
         $id = Dever::input('role_id', 1);
-        return Dever::outDiy(Dever::load('goods/lib/set.getGoodsList', $id, 'role_id', 'setting/role_goods'));
+        $order_id = Dever::input('order_id');
+        $check = Dever::db('agent/order_goods')->find(array('order_id' => $order_id));
+
+        if ($check) {
+            $col = 'order_id';
+            $table = 'agent/order_goods';
+            $value = $order_id;
+        } else {
+            $col = 'role_id';
+            $table = 'setting/role_goods';
+            $value = $id;
+        }
+
+        $prize = Dever::db('setting/role_goods')->config['set']['prize'];
+
+        $data[0]['id'] = -1;
+        $data[0]['name'] = '名额';
+        $data[0]['price'] = 0;
+        $data[0]['price_type'] = 2;
+        $data[0]['select'] = 2;
+        $data[0]['del'] = 1;
+        $data[0]['total'] = 0;
+        foreach ($prize as $k => $v) {
+            $data[0]['children'][$k-1]['id'] = $k . '_3';
+            $data[0]['children'][$k-1]['name'] = $v;
+            $data[0]['children'][$k-1]['price'] = 0;
+            $data[0]['children'][$k-1]['price_type'] = 2;
+            $data[0]['children'][$k-1]['select'] = 2;
+            $data[0]['children'][$k-1]['del'] = 1;
+            $data[0]['children'][$k-1]['total'] = 0;
+            $data[0]['children'][$k-1]['end'] = true;
+
+            $info = Dever::db($table)->find(array('type' => 3, 'type_id' => $k, $col => $value));
+            if ($info) {
+                $data[0]['children'][$k-1]['select'] = 1;
+                $data[0]['children'][$k-1]['total'] = $info['num'];
+            }
+        }
+
+        $card = Dever::db('card/info')->select(array('status' => 1));
+        if ($card) {
+            $data[1]['id'] = -2;
+            $data[1]['name'] = '厨人E卡';
+            $data[1]['price'] = 0;
+            $data[1]['price_type'] = 2;
+            $data[1]['select'] = 2;
+            $data[1]['del'] = 1;
+            $data[1]['total'] = 0;
+            foreach ($card as $k => $v) {
+                $data[1]['children'][$k]['id'] = $v['id'] . '_2';
+                $data[1]['children'][$k]['name'] = $v['name'];
+                $data[1]['children'][$k]['price'] = $v['price'];
+                $data[1]['children'][$k]['price_type'] = 2;
+                $data[1]['children'][$k]['select'] = 2;
+                $data[1]['children'][$k]['del'] = 1;
+                $data[1]['children'][$k]['total'] = 0;
+                $data[1]['children'][$k]['end'] = true;
+
+                $info = Dever::db($table)->find(array('type' => 2, 'type_id' => $k, $col => $value));
+                if ($info) {
+                    $data[1]['children'][$k]['select'] = 1;
+                    $data[1]['children'][$k]['total'] = $info['num'];
+                }
+            }
+        }
+
+        $data = array_merge($data, Dever::load('goods/lib/set.getGoodsList', $value, $col, $table, 'type_id'));
+
+        return Dever::outDiy($data);
     }
 
     # 设置商品
@@ -25,10 +93,8 @@ class Order_set
         $data = array();
         $data['order_id'] = Dever::input('order_id');
         $data['role_id'] = Dever::input('role_id', 1);
-        $data['give'] = Dever::input('give', 1);
-        $data['host'] = Dever::url('lib/order_set.home?id=' . $data['role_id'], 'agent');
-        $data['url'] = Dever::url('lib/order_set.goods?id=' . $data['role_id'] . '&give=' . $data['give'], 'agent');
-        $data['search'] = Dever::db('setting/role_goods')->config['set']['give'];
+        $data['host'] = Dever::url('lib/order_set.home?id=' . $data['role_id'] . '&order_id=' . $data['order_id'], 'agent');
+        $data['url'] = Dever::url('lib/order_set.goods?role_id=' . $data['role_id'] . '&order_id=' . $data['order_id'], 'agent');
         $data['submit'] = Dever::url('lib/order_set.action_cmmmit?json=1', 'agent');
 
         return Dever::render('setOrderGoods', $data);
@@ -43,29 +109,34 @@ class Order_set
         }
         $goods = Dever::json_decode($goods);
         $order_id = Dever::input('order_id');
+        $role_id = Dever::input('role_id');
 
         $where['option_order_id'] = $order_id;
         $where['set_state'] = 2;
         Dever::db('agent/order_goods')->updates($where);
 
         foreach ($goods as $k => $v) {
-            $temp = explode('-', $k);
-            $goods_id = $temp[0];
-            if (isset($temp[1])) {
+            $type = 1;
+            $type_id = $k;
+            $sku_id = -1;
+            if (strstr($k, '_')) {
+                $temp = explode('_', $k);
+                $type_id = $temp[0];
+                $type = $temp[1];
+            } elseif (strstr($k, '-')) {
+                $temp = explode('-', $k);
+                $type_id = $temp[0];
                 $sku_id = $temp[1];
-            } else {
-                $sku_id = -1;
             }
+            
             if ($v['total'] <= 0) {
                 continue;
             }
             $w = array();
-            $w['goods_id'] = $goods_id;
+            $w['type'] = $type;
+            $w['type_id'] = $type_id;
             $w['sku_id'] = $sku_id;
             $w['order_id'] = $order_id;
-            if (isset($v['type']) && $v['type']) {
-                $w['type'] = $v['type'];
-            }
             
             $info = Dever::db('agent/order_goods')->one($w);
             if ($v['del'] == 2) {
@@ -83,23 +154,25 @@ class Order_set
                     Dever::db('agent/order_goods')->update($w);
                 }
 
+                /*
                 $wp = array();
                 $wp['order_id'] = $order_id;
                 $wp['status'] = 3;
-                $process = Dever::db('agent/order_goods')->find($wp);
+                $process = Dever::db('agent/order_process')->find($wp);
                 if ($process) {
                     $process['type'] = explode(',', $process['type']);
                     $wp['audit'] = 1;
                     $wp['type'] = '1,2';
-                    Dever::db('agent/order_goods')->insert($wp);
+                    Dever::db('agent/order_process')->insert($wp);
                 } else {
                     $wp['audit'] = 1;
                     $wp['type'] = '1,2';
-                    Dever::db('agent/order_goods')->insert($wp);
+                    Dever::db('agent/order_process')->insert($wp);
                 }
+                */
             }
         }
 
-        return 'reload';
+        return Dever::url('project/database/list&project=factory&table=order_process&project=agent&order_id='.$order_id.'&page_type=1', 'manage');
     }
 }

+ 71 - 7
service/agent/lib/Set.php

@@ -16,7 +16,64 @@ class Set
     public function goods_api()
     {
         $id = Dever::input('id', 1);
-        return Dever::outDiy(Dever::load('goods/lib/set.getGoodsList', $id, 'role_id', 'setting/role_goods'));
+
+        $prize = Dever::db('setting/role_goods')->config['set']['prize'];
+
+        $data[0]['id'] = -1;
+        $data[0]['name'] = '名额';
+        $data[0]['price'] = 0;
+        $data[0]['price_type'] = 2;
+        $data[0]['select'] = 2;
+        $data[0]['del'] = 1;
+        $data[0]['total'] = 0;
+        foreach ($prize as $k => $v) {
+            $data[0]['children'][$k-1]['id'] = $k . '_3';
+            $data[0]['children'][$k-1]['name'] = $v;
+            $data[0]['children'][$k-1]['price'] = 0;
+            $data[0]['children'][$k-1]['price_type'] = 2;
+            $data[0]['children'][$k-1]['select'] = 2;
+            $data[0]['children'][$k-1]['del'] = 1;
+            $data[0]['children'][$k-1]['total'] = 0;
+            $data[0]['children'][$k-1]['end'] = true;
+
+            $info = Dever::db('setting/role_goods')->find(array('type' => 3, 'type_id' => $k, 'role_id' => $id));
+            if ($info) {
+                $data[0]['children'][$k-1]['select'] = 1;
+                $data[0]['children'][$k-1]['total'] = $info['num'];
+            }
+        }
+
+        $card = Dever::db('card/info')->select(array('status' => 1));
+        if ($card) {
+            $data[1]['id'] = -2;
+            $data[1]['name'] = '厨人E卡';
+            $data[1]['price'] = 0;
+            $data[1]['price_type'] = 2;
+            $data[1]['select'] = 2;
+            $data[1]['del'] = 1;
+            $data[1]['total'] = 0;
+            foreach ($card as $k => $v) {
+                $data[1]['children'][$k]['id'] = $v['id'] . '_2';
+                $data[1]['children'][$k]['name'] = $v['name'];
+                $data[1]['children'][$k]['price'] = $v['price'];
+                $data[1]['children'][$k]['price_type'] = 2;
+                $data[1]['children'][$k]['select'] = 2;
+                $data[1]['children'][$k]['del'] = 1;
+                $data[1]['children'][$k]['total'] = 0;
+                $data[1]['children'][$k]['end'] = true;
+
+                $info = Dever::db('setting/role_goods')->find(array('type' => 2, 'type_id' => $v['id'], 'role_id' => $id));
+                if ($info) {
+                    $data[1]['children'][$k]['select'] = 1;
+                    $data[1]['children'][$k]['total'] = $info['num'];
+                }
+            }
+        }
+        
+        
+        $data = array_merge($data, Dever::load('goods/lib/set.getGoodsList', $id, 'role_id', 'setting/role_goods', 'type_id'));
+
+        return Dever::outDiy($data);
     }
 
     # 设置商品
@@ -50,18 +107,25 @@ class Set
         Dever::db('setting/role_goods')->updates($where);
 
         foreach ($goods as $k => $v) {
-            $temp = explode('-', $k);
-            $goods_id = $temp[0];
-            if (isset($temp[1])) {
+            $type = 1;
+            $type_id = $k;
+            $sku_id = -1;
+            if (strstr($k, '_')) {
+                $temp = explode('_', $k);
+                $type_id = $temp[0];
+                $type = $temp[1];
+            } elseif (strstr($k, '-')) {
+                $temp = explode('-', $k);
+                $type_id = $temp[0];
                 $sku_id = $temp[1];
-            } else {
-                $sku_id = -1;
             }
+            
             if ($v['total'] <= 0) {
             	continue;
             }
             $w = array();
-            $w['goods_id'] = $goods_id;
+            $w['type'] = $type;
+            $w['type_id'] = $type_id;
             $w['role_id'] = $role_id;
             $w['sku_id'] = $sku_id;
             $w['give'] = $give;

+ 1 - 1
service/setting/database/role.php

@@ -187,7 +187,7 @@ return array
 
         	//'list2' => array('商品权益', '"role_goods&search_option_role_id={id}&oper_table=role"'),
 
-            'location1' => array('商品权益', Dever::url('lib/set.home', 'agent')),
+            'location1' => array('权益设置', Dever::url('lib/set.home', 'agent')),
 
             //'list3' => array('名额权益', '"role_quota&search_option_role_id={id}&oper_table=role"'),
         )

+ 37 - 16
service/setting/database/role_goods.php

@@ -15,7 +15,15 @@ $give = array
 $type = array
 (
 	1 => '商品',
-	//2 => '体验卡',
+	2 => '体验卡',
+    3 => '名额',
+);
+
+$prize = array
+(
+    1 => '九阳自动炒菜机套餐名额',
+    2 => '二级街道代理商名额',
+    3 => '60%分润创客名额',
 );
 
 return array
@@ -23,12 +31,13 @@ return array
     # 表名
     'name' => 'role_goods',
     # 显示给用户看的名称
-    'lang' => '商品权益',
+    'lang' => '权益设置',
     'menu' => false,
     'set' => array
     (
     	'give' => $give,
     	'type' => $type,
+        'prize' => $prize,
     ),
     # 数据结构
     'struct' => array
@@ -59,36 +68,35 @@ return array
             'list'      => 'Dever::load("setting/role-one#name", {role_id})',
         ),
 
-        'type'        => array
+        'give'        => array
         (
             'type'      => 'tinyint-1',
-            'name'      => '类型',
+            'name'      => '赠送',
             'default'   => '1',
-            'desc'      => '类型',
+            'desc'      => '赠送',
             'match'     => 'is_numeric',
-            'update'  	=> 'radio',
-            'option'    => $type,
+            'update'    => 'radio',
+            'option'    => $give,
         ),
 
-        'give'        => array
+        'type'        => array
         (
             'type'      => 'tinyint-1',
-            'name'      => '赠送',
+            'name'      => '类型',
             'default'   => '1',
-            'desc'      => '赠送',
+            'desc'      => '类型',
             'match'     => 'is_numeric',
             'update'  	=> 'radio',
-            'option'    => $give,
+            'option'    => $type,
         ),
 
-        'goods_id'      => array
+        'type_id'      => array
         (
             'type'      => 'int-11',
-            'name'      => '商品名称',
+            'name'      => '类型id',
             'default'   => '-1',
-            'desc'      => '商品名称',
+            'desc'      => '类型id',
             'match'     => 'is_numeric',
-            'list'      => 'Dever::load("goods/info-find#name", {goods_id})',
         ),
 
         'sku_id'      => array
@@ -140,6 +148,19 @@ return array
 
     'request' => array
     (
-        
+        'getData' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'role_id' => 'yes',
+                'give' => 'yes',
+                'config' => 'yes',
+                'state' => 1,
+            ),
+            'order' => array('type' => 'asc', 'id' => 'desc'),
+            'type' => 'all',
+            'col' => '*',
+        ),
     ),
 );