rabin 3 rokov pred
rodič
commit
85f107f072

+ 62 - 10
service/agent/database/order.php

@@ -65,7 +65,14 @@ $pay_type = array
 (
 	1 => '在线支付',
     2 => '汇款',
-    3 => '个人转账',
+    //3 => '个人转账',
+);
+
+$pay_type_manage = array
+(
+    //1 => '在线支付',
+    2 => '汇款',
+    //3 => '个人转账',
 );
 
 $get_type = array
@@ -114,6 +121,13 @@ if ($pmid) {
         '返回上一页' => array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $pmid),
     );
 }
+
+$invite_type = array
+(
+    1 => '邀请人',
+    2 => '来源',
+);
+
 return array
 (
     # 表名
@@ -129,6 +143,11 @@ return array
     	'pay_type' => $pay_type,
         'order_type' => $order_type,
     ),
+    'start' => array
+    (
+        //'insert' => 'agent/lib/manage.orderUpdate',
+        'update' => 'agent/lib/manage.orderUpdateParent',
+    ),
     'order' => 99,
     # 数据结构
     'struct' => array
@@ -175,6 +194,18 @@ return array
             'list_order' => 1,
         ),
 
+        'mobile'      => array
+        (
+            'type'      => 'bigint-11',
+            'name'      => '手机号',
+            'default'   => '',
+            'desc'      => '请输入手机号',
+            'match'     => Dever::rule('mobile'),
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            //'list'      => true,
+        ),
+
         'order_type'        => array
         (
             'type'      => 'tinyint-1',
@@ -185,16 +216,29 @@ return array
             'option'    => $order_type,
         ),
 
-        'mobile'      => array
+        'invite_type'        => array
         (
-            'type'      => 'bigint-11',
-            'name'      => '手机号',
+            'type'      => 'tinyint-1',
+            'name'      => '邀请类型',
+            'default'   => '1',
+            'desc'      => '邀请类型',
+            'match'     => 'is_numeric',
+            'option'    => $invite_type,
+            'update'    => 'radio',
+            'control'   => 'invite_type',
+        ),
+
+        'parent_code'        => array
+        (
+            'type'      => 'varchar-50',
+            'name'      => '邀请人邀请码',
             'default'   => '',
-            'desc'      => '请输入手机号',
-            'match'     => Dever::rule('mobile'),
+            'desc'      => '邀请人邀请码',
+            'match'     => 'option',
             'update'    => 'text',
-            'search'    => 'fulltext',
-            //'list'      => true,
+            # 绑定js脚本,更新时使用,第一个参数是执行的方式,第二个参数执行的方法,第三个参数是传值。
+            'bind'        => array('onblur', 'loading', array('url' => Dever::url("lib/member.search", 'agent'))),
+            'show'      => 'invite_type=1',
         ),
 
         'parent_mid'      => array
@@ -224,10 +268,11 @@ return array
             'desc'      => '注册来源',
             'match'     => 'is_numeric',
             'search'    => 'select',
-            'update'    => 'checkbox',
+            'update'    => 'select',
             'option'    => $source_id,
             'list'      => true,
             'list_order' => 5,
+            'show'      => 'invite_type=2',
         ),
 
         'name'      => array
@@ -311,9 +356,10 @@ return array
 			'match' 	=> 'is_numeric',
 			'search'	=> 'select',
 			'update'	=> 'select',
-			'option'	=> $pay_type,
+			'option'	=> $pay_type_manage,
 			'list'		=> true,
             'list_order' => 7,
+            'control'   => 'pay_type',
 		),
 
 		'pay_pic'		=> array
@@ -326,6 +372,7 @@ return array
 			'update'	=> 'image',
 			'key' 		=> '1',
 			'place'		=> '150',
+            'show'      => 'pay_type=2',
 		),
 
         'pay_price'      => array
@@ -364,6 +411,8 @@ return array
             'desc'      => '类型',
             'match'     => 'is_numeric',
             'option'    => $type,
+            'update'    => 'radio',
+            'control'   => 'type',
         ),
 
         'sign'     => array
@@ -423,6 +472,7 @@ return array
             'update'    => 'text',
             //'search'    => 'fulltext',
             //'list'      => true,
+            'show'      => 'type=2',
         ),
 
         'company_pic'      => array
@@ -435,6 +485,7 @@ return array
             'update'    => 'image',
             'key'       => '8',
             'place'     => '660*660',
+            'show'      => 'type=2',
         ),
 
         'company_number'      => array
@@ -445,6 +496,7 @@ return array
             'desc'      => '营业执照号码',
             'match'     => 'is_string',
             'update'    => 'text',
+            'show'      => 'type=2',
         ),
 
         'address'      => array

+ 29 - 27
service/agent/lib/Manage.php

@@ -94,6 +94,29 @@ class Manage
         }
     }
 
+    public function orderUpdateParent($id, $name, $data)
+    {
+        Dever::config('base')->hook = true;
+        $parent_code = Dever::param('parent_code', $data);
+        if ($parent_code) {
+            $parent_mid = Dever::load('invite/api')->getUid($parent_code);
+            if ($parent_mid) {
+                $member = Dever::db('agent/member')->find($parent_mid);
+                if (!$member) {
+                    Dever::alert('错误的邀请码');
+                }
+                $order = Dever::db('agent/order')->find($id);
+                if ($order['mid'] == $member['id']) {
+                    Dever::alert('邀请人不能是自己');
+                }
+                $data['set_parent_mid'] = $parent_mid;
+                return $data;
+            } else {
+                Dever::alert('错误的邀请码');
+            }
+        }
+    }
+
     public function orderUpdate($id, $name, $data)
     {
         Dever::config('base')->hook = true;
@@ -152,23 +175,15 @@ class Manage
                                 }
                             }
                         }
-                        
-                        $update['pay_status'] = 2;
-
-                        # 财务终审之后,先生成代理商
-                        if ($order['mid'] <= 0) {
-                            # 生成
-                            $where['mobile'] = $order['mobile'];
-                            $member = Dever::db('agent/member')->find($where);
-                            if ($member) {
-                                $order['mid'] = $update['mid'] = $member['id'];
-                            } else {
-                                $order['mid'] = $update['mid'] = Dever::load('agent/lib/member')->create($order);
-                            }
-                        }
 
                         # 增加业绩
                         //Dever::load('bill/lib/sell')->up($order['mid'], 2, $order['price'], $order['role'], $order['id'], $order['name'] . '成为代理商');
+                    } elseif ($status == 2) {
+                        if ($order['mid'] && $order['mid'] > 0 && $order['parent_mid'] && $order['parent_mid'] > 0) {
+                            Dever::load('invite/api')->setRelation($order['mid'], $order['parent_mid']);
+                        }
+                        $update['pay_status'] = 2;
+                        Dever::load('agent/lib/member')->create($order);
                     }
 
                     Dever::db('agent/order')->update($update);
@@ -247,19 +262,6 @@ class Manage
             //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 {
-                $update['mid'] = Dever::load('agent/lib/member')->create($order);
-            }
-            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;

+ 53 - 14
service/agent/lib/Member.php

@@ -443,28 +443,35 @@ class Member
 
     public function create($data)
     {
-        $insert['mobile'] = $data['mobile'];
+        $update['mobile'] = $data['mobile'];
         $info = Dever::db('agent/member')->find(array('mobile' => $data['mobile']));
+
+        $update['name'] = $data['name'];
+        $update['idcard'] = $data['idcard'];
+        $update['idcard_front'] = $data['idcard_front'];
+        $update['idcard_back'] = $data['idcard_back'];
+        $update['company_name'] = $data['company_name'];
+        $update['company_pic'] = $data['company_pic'];
+        $update['company_number'] = $data['company_number'];
+        $update['parent_mid'] = $data['parent_mid'];
+        $update['source_id'] = $data['source_id'];
+        $update['type'] = $data['type'];
+
         if (!$info) {
-            $insert['role'] = 1;
-            $insert['level_id'] = -1;
-            $insert['name'] = $data['name'];
-            $insert['idcard'] = $data['idcard'];
-            $insert['idcard_front'] = $data['idcard_front'];
-            $insert['idcard_back'] = $data['idcard_back'];
-            $insert['company_name'] = $data['company_name'];
-            $insert['company_pic'] = $data['company_pic'];
-            $insert['company_number'] = $data['company_number'];
-            $insert['parent_mid'] = $data['parent_mid'];
-            $insert['source_id'] = $data['source_id'];
-            $insert['type'] = $data['type'];
-            $mid = Dever::db('agent/member')->insert($insert);
+            $update['role'] = 1;
+            $update['level_id'] = -1;
+            
+            $mid = Dever::db('agent/member')->insert($update);
+            /*
             if ($mid && $data['parent_mid'] && $data['parent_mid'] > 0) {
                 Dever::load('invite/api')->setRelation($mid, $data['parent_mid']);
             }
+            */
             
             return $mid;
         } else {
+            $update['where_id'] = $info['mid'];
+            Dever::db('agent/member')->update($update);
             return $info['id'];
         }
     }
@@ -543,4 +550,36 @@ class Member
         $html=Dever::table($data);
         return $html;
     }
+
+    public function search_api()
+    {
+        $value = Dever::input('value');
+        if ($value) {
+            $parent_mid = Dever::load('invite/api')->getUid($value);
+            $table = array();
+            if ($parent_mid) {
+                $member = Dever::db('agent/member')->find($parent_mid);
+                if (!$member) {
+                    return '暂无账号';
+                }
+                $table = array();
+                $table['head'] = array('姓名', '手机号');
+                $table['body'] = array();
+                $table['body'][] = array($member['name'], $member['mobile']);
+
+                $result[] = array
+                (
+                    'type' => 'table',
+                    'content' => $table,
+                );
+
+                $html = Dever::show('', $result, false, false);
+                return $html;
+            }
+
+            return '暂无账号';
+        } else {
+            return '';
+        }
+    }
 }

+ 19 - 1
service/agent/lib/Order.php

@@ -50,6 +50,7 @@ class Order
                     if ($user && $user['status'] == 2) {
                         $parent_mid = $user['id'];
                     }
+                    $data['parent_code'] = $code;
                 }
             }
 
@@ -63,8 +64,14 @@ class Order
             $data['company_number'] = Dever::input('company_number');
             $data['source_id'] = Dever::input('source_id');
     	}
+
+        if ($data['source_id'] && $data['source_id'] > 0) {
+            $data['invite_type'] = 2;
+        } else {
+            $data['invite_type'] = 1;
+        }
         
-    	//Dever::load('agent/lib/member')->checkMcode($mobile);
+    	Dever::load('agent/lib/member')->checkMcode($mobile);
 
         $data['mobile'] = $mobile;
         $data['parent_mid'] = $parent_mid;
@@ -571,6 +578,17 @@ class Order
             'name' => '备注',
         );
 
+        if ($info['status'] <= 1) {
+            $purl = Dever::url('project/database/update?project=agent&table=order&where_id='.$info['id'].'&col=invite_type,parent_code,source_id,name,idcard,type,idcard_front,idcard_back,company_name,company_number,company_pic,pay_type,pay_pic', 'manage');
+
+            $button[] = array
+            (
+                'type' => 'edit',
+                'link' => $purl,
+                'name' => '修改资料',
+            );
+        }
+
         if ($info['status'] <= 3 && $info['status'] > 0) {
             # 未完成审核的订单,可以随时挂起
             $button[] = array