rabin 2 år sedan
förälder
incheckning
6635f39b17

+ 2 - 2
app/mshop/lib/Buy.php

@@ -225,7 +225,7 @@ class Buy
 
         $info['goods'] = Dever::db('shop/buy_order_goods')->select(array('order_id' => $info['id']));
         if ($info['type'] == 1) {
-            $info['type_info'] = Dever::db('shop/info')->getOne($info['type_id']);
+            $info['type_info'] = Dever::db('shop/info')->find($info['type_id']);
         } elseif ($info['type'] == 2) {
             $info['type_info'] = Dever::db('store/info')->find($info['type_id']);
         } elseif ($info['type'] == 3) {
@@ -233,7 +233,7 @@ class Buy
         }
 
         if ($info['source_type'] == 1) {
-            $info['source_info'] = Dever::db('shop/info')->getOne($info['source_id']);
+            $info['source_info'] = Dever::db('shop/info')->find($info['source_id']);
         } elseif ($info['source_type'] == 2) {
             $info['source_info'] = Dever::db('store/info')->find($info['source_id']);
         } elseif ($info['source_type'] == 3) {

+ 17 - 2
service/agent/assets/pc/html/setMemberGoods.html

@@ -127,6 +127,17 @@
             goods[id].total = num;
             setTotal();
         });
+
+        $("#goods").on("keyup", ".goods_set_price", function() {
+            var num = parseFloat($(this).val());
+            if (!num || num <= 0) {
+                num = 0;
+                $(this).val(0);
+            }
+            var id = $(this).parent().attr('value');
+            goods[id].price = num;
+            setTotal();
+        });
     })
     var goods = {};
     var del_goods = {};
@@ -204,8 +215,12 @@
         if (!get(node.id).length) {
             var addtr = '<tr class="mytr" id="goods_'+node.id+'">';
             //addtr += '<td class="goods_id">'+node.id+'</td>';
-            addtr += '<td class="goods_name">'+node.name+'</td>';     
-            addtr += '<td class="goods_price">'+node.price+'</td>';     
+            addtr += '<td class="goods_name">'+node.name+'</td>';
+            if (node.name.indexOf('自定义面值卡') != -1) {
+                addtr += '<td class="goods_price"><div class="jiajian" value='+node.id+'><input type="text" style="width: 122px;" value="'+node.price+'" class="goods_set_price"></div></td>';
+            } else {
+                addtr += '<td class="goods_price">'+node.price+'</td>';
+            }
             if (node.id.indexOf('_2') != -1 && node.id.indexOf('-') != -1) {
                 //addtr += '<td><input type="hidden" value="'+node.total+'" class="goods_num">'+node.total+'</td>'; 
                 addtr += '<td><div class="jiajian" value='+node.id+'><span class="jian" onclick="dec(\''+node.id+'\')">-</span><input type="text" disabled value="'+node.total+'" class="goods_num" data-min="'+node.total+'" ><span class="jia" onclick="add(\''+node.id+'\')">+</span></div></td>'; 

+ 23 - 0
service/agent/database/member.php

@@ -11,6 +11,17 @@ $role = function()
     return $array;
 };
 
+$title = function()
+{
+    $array = array();
+    $data = Dever::load('setting/title-state');
+    if($data)
+    {
+        $array += $data;
+    }
+    return $array;
+};
+
 $status = array
 (
     1 => array('name' => '未认证', 'style' => 'font-weight:bold;color:#436EEE'),
@@ -294,6 +305,18 @@ return array
             //'list'        => true,
         ),
 
+        'title_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '代理商头衔',
+            'default'   => '1',
+            'desc'      => '代理商头衔',
+            'match'     => 'is_numeric',
+            'search'    => 'select',
+            'update'    => 'radio',
+            'option'    => $title,
+        ),
+
         'is_area'        => array
         (
             'type'      => 'tinyint-1',

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

@@ -159,7 +159,10 @@ class Manage
         $data['old_role'] = $member['role'];
         $data['new_role'] = $role['id'];
         
-        $data['area'] = $area;
+        if ($area) {
+            $data['area'] = $area;
+        }
+        
         if ($order_id && $order_id > 0) {
             $data['type'] = 1;
             $order = Dever::db('agent/order')->find($order_id);
@@ -752,6 +755,17 @@ class Manage
                 $desc = $member['name'] . '成为代理商,佣金'.$t['per'].'%';
                 
                 Dever::load('agent/lib/member')->up($where['parent_mid'], $order['id'], $order['role'], $where['type'], $t['cash'], $order['agent_cash'], $t['parent_level'], $desc, $t['child_num']);
+
+
+                # 自动升级
+                if (isset($t['role_up']) && $t['role_up']) {
+                    Dever::db('agent/member')->update(array('where_id' => $where['parent_mid'], 'role' => $t['role_up']['t_role_id']));
+                    $member = Dever::db('agent/member')->find(array('id' => $mid));
+                    $role = Dever::db('setting/role')->find($t['role_up']['t_role_id']);
+                    if ($member && $role) {
+                        $this->upRole($member, $role, '', $order['id']);
+                    }
+                }
             }
         }
     }

+ 1 - 1
service/agent/lib/Member.php

@@ -257,7 +257,7 @@ class Member
             $button[0]['btn'][] = array
             (
                 'type' => 'edit',
-                'link' => Dever::url('project/database/update?project=agent&table=member&where_id='.$member['id'].'&status=1&col=name,mobile,email,shop_id,area,role,level_id,is_shop,is_area', 'manage'),
+                'link' => Dever::url('project/database/update?project=agent&table=member&where_id='.$member['id'].'&status=1&col=name,mobile,email,shop_id,area,role,level_id,is_shop,is_area,title_id', 'manage'),
                 'name' => '修改基础资料',
             );
         }

+ 8 - 2
service/agent/lib/Member_set.php

@@ -102,7 +102,7 @@ class Member_set
                     }
                     $name = $card['name'];
                     if ($sku_id == -1) {
-                        if ($card['create_type'] >= 2) {
+                        if ($card['create_type'] == 2) {
                             $cash = $price = $card['price'] * $total;
                             $total = 1;
                             $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);
@@ -110,6 +110,9 @@ class Member_set
                                 continue;
                             }
                         } else {
+                            if ($card['create_type'] == 3 && isset($v['price']) && $v['price'] > 0) {
+                                $card['price'] = $v['price'];
+                            }
                             $cash = $price = $card['price'];
                             for($i=0; $i<$total;$i++) {
                                 $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);
@@ -142,7 +145,7 @@ class Member_set
                         $total = $v['total'] - count($sku);
                         
                         if ($total > 0) {
-                            if ($card['create_type'] >= 2) {
+                            if ($card['create_type'] == 2) {
                                 $cash = $price = $card['price'] * $total;
                                 $total = 1;
                                 $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);
@@ -150,6 +153,9 @@ class Member_set
                                     continue;
                                 }
                             } else {
+                                if ($card['create_type'] == 3 && isset($v['price']) && $v['price'] > 0) {
+                                    $card['price'] = $v['price'];
+                                }
                                 $cash = $price = $card['price'];
                                 for($i=0; $i<$total;$i++) {
                                     $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);

+ 23 - 0
service/agent/lib/Order.php

@@ -1160,6 +1160,29 @@ class Order
                     }
                 }
 
+                # 自动升级
+                if (!$parent_info['group_sell']) {
+                    $parent_info['group_sell'] = 0;
+                }
+                $group_sell = $parent_info['group_sell'] + $info['agent_cash'];
+                if (!$child_num) {
+                    $child_num = Dever::load('invite/api')->getChildNum($v['uid'], 1);
+                }
+                $role_up = Dever::db('setting/role_up')->getData(array('role' => $parent_role['id']));
+                if ($role_up) {
+                    foreach ($role_up as $rv) {
+                        if ($child_num >= $rv['num'] && $group_sell >= $rv['sell']) {
+                            # 可以升级为新角色
+                            $rv_role = Dever::db('setting/role')->find($rv['t_role_id']);
+                            if ($rv_role) {
+                                $param['role_up'] = $rv;
+                                $parent_role['name'] = $parent_role['name'] . '->' . $rv_role['name'];
+                                break;
+                            }
+                        }
+                    }
+                }
+
                 if ($param['cash'] > 0) {
                     $data_param = Dever::array_encode($param);
                     $param['cash'] = '<a style="color:blue" class="set_cash" data-param="'.$data_param.'">' . $param['cash'] . '</a>';

+ 6 - 2
service/agent/lib/Set.php

@@ -89,9 +89,13 @@ class Set
                 $data[1]['children'][$k]['id'] = $v['id'] . '_2';
                 $data[1]['children'][$k]['name'] = $v['name'];
                 if ($v['create_type'] == 3) {
-                    $data[1]['children'][$k]['name'] .= '(自定义面值卡-数量即百分比)';
+                    if ($mid) {
+                        $data[1]['children'][$k]['name'] .= '(自定义面值卡-已发卡无法更改价值)';
+                    } else {
+                        $data[1]['children'][$k]['name'] .= '(自定义面值卡-数量即百分比)';
+                    }
                 }
-                $data[1]['children'][$k]['price'] = $v['price'];
+                $data[1]['children'][$k]['price'] = $v['value'];
                 $data[1]['children'][$k]['price_type'] = 2;
                 $data[1]['children'][$k]['select'] = 2;
                 $data[1]['children'][$k]['del'] = 1;

+ 2 - 1
service/option/lib/Manage.php

@@ -60,7 +60,8 @@ class Manage
                     if ($member) {
                         $code = Dever::load('passport/reg')->code(false, false);
                         $email = base64_encode($email);
-                        Dever::daemon('lib/email.renzheng?aid='.$info['id'].'&email=' . $email . '&code=' . $code . '&username=' . $member['name'], 'option');
+                        //Dever::daemon('lib/email.renzheng?aid='.$info['id'].'&email=' . $email . '&code=' . $code . '&username=' . $member['name'], 'option');
+                        Dever::load('option/lib/email.renzheng?aid='.$info['id'].'&email=' . $email . '&code=' . $code . '&username=' . $member['name']);
                     }   
                 }
             }

+ 2 - 0
service/setting/database/role.php

@@ -260,6 +260,8 @@ return array
 
             'location1' => array('权益设置', Dever::url('lib/set.home', 'agent')),
 
+            'list2' => array('自动升级', '"role_up&search_option_role_id={id}&oper_table=role"'),
+
             //'list3' => array('名额权益', '"role_quota&search_option_role_id={id}&oper_table=role"'),
         )
     ),

+ 127 - 0
service/setting/database/role_up.php

@@ -0,0 +1,127 @@
+<?php
+
+$role = function()
+{
+    $info = Dever::db('setting/role')->select();
+    return $info;
+};
+
+$role_id = Dever::input('search_option_role_id');
+
+
+return array
+(
+    # 表名
+    'name' => 'role_up',
+    # 显示给用户看的名称
+    'lang' => '自动升级',
+    'menu' => false,
+    # 数据结构
+    'struct' => array
+    (
+    
+        'id'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'ID',
+            'default'   => '',
+            'desc'      => '',
+            'match'     => 'is_numeric',
+            'search'    => 'order',
+            'update'    => 'hidden',
+            //'list'        => true,
+        ),
+
+        'role_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '代理商角色',
+            'default'   => '',
+            'desc'      => '代理商角色',
+            'match'     => 'is_numeric',
+            'update'    => 'hidden',
+            'search'    => 'hidden',
+            'value'     => $role_id,
+            'list'      => 'Dever::load("setting/role-one#name", {role_id})',
+        ),
+
+        't_role_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '升级角色',
+            'default'   => '',
+            'desc'      => '升级角色',
+            'match'     => 'is_numeric',
+            'update'    => 'radio',
+            'search'    => 'select',
+            'option'	=> $role,
+            'list'      => 'Dever::load("setting/role-one#name", {t_role_id})',
+            'control'   => 't_role_id',
+        ),
+
+        'num'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '直推人数',
+            'default'   => '3',
+            'desc'      => '直推人数',
+            'match'     => 'is_numeric',
+            'update'    => 'text',
+            'list'      => true,
+        ),
+
+        'sell'      => array
+        (
+            'type'      => 'varchar-32',
+            'name'      => '团队业绩-以万为单位',
+            'default'   => '30',
+            'desc'      => '团队业绩',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'      => true,
+        ),
+
+        '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
+            (
+                'role' => 'yes',
+                'state' => 1,
+            ),
+            'order' => array('sell' => 'desc', 'num' => 'desc', 'id' => 'desc'),
+            'type' => 'all',
+            'col' => '*',
+        ),
+    ),
+);

+ 102 - 0
service/setting/database/title.php

@@ -0,0 +1,102 @@
+<?php
+
+return array
+(
+    # 表名
+    'name' => 'title',
+    # 显示给用户看的名称
+    'lang' => '代理商头衔',
+    # 后台菜单排序
+    'order' => 1,
+    # 数据结构
+    'struct' => array
+    (
+        'id'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => 'ID',
+            'default'   => '',
+            'desc'      => '',
+            'match'     => 'is_numeric',
+            'search'    => 'order',
+            //'list'      => true,
+            'order'     => 'desc',
+        ),
+        
+        'name'      => array
+        (
+            'type'      => 'varchar-200',
+            'name'      => '名称',
+            'default'   => '',
+            'desc'      => '名称',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'      => true,
+        ),
+
+        '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,
+            'list'      => 'date("Y-m-d H:i:s", {cdate})',
+        ),
+    ),
+
+
+    'default' => array
+	(
+		'col' => 'id,name,state,cdate',
+		'value' => array
+		(
+			'1,"无头衔", 1,' . DEVER_TIME,
+
+			'2,"战略委", 1,' . DEVER_TIME,
+
+			'3,"决策委", 1,' . DEVER_TIME,
+
+			'4,"储备军", 1,' . DEVER_TIME,
+		),
+	),
+
+    'manage' => array
+    (
+    	//'insert' => false,
+        'delete' => false,
+        //'edit' => false,
+        'list_button' => array
+        (
+        	//'fast' => array('编辑', '"level&where_id={id}&oper_save_jump=level&oper_table=level&oper_parent=level"'),
+        )
+    ),
+
+    'request' => array
+    (
+        'getOne' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'type' => array('yes', 'in'),
+                'target' => array('yes', '<='),
+                'state' => 1,
+            ),
+            'type' => 'one',
+            'order' => array('level' => 'desc', 'id' => 'desc'),
+            'col' => '*',
+        ),
+    ),
+);