dever 3 years ago
parent
commit
dfdf6d4a6f

+ 1 - 1
service/agent/database/member_goods_log.php

@@ -50,7 +50,7 @@ return array
             ),
             'list_name' => '代理商',
             'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 4,
+            'list_order' => 1,
         ),
 
         'parent_order_num'      => array

+ 219 - 0
service/agent/database/member_level_log.php

@@ -0,0 +1,219 @@
+<?php
+
+$mid = Dever::input('search_option_mid');
+$button = array();
+if ($mid) {
+    $button = array
+    (
+        '返回上一页' => array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $mid),
+    );
+}
+
+$level = function()
+{
+	$array = array
+	(
+		-1 => array
+		(
+			'id' => -1,
+			'name' => '普通',
+		),
+	);
+	$data = Dever::load('setting/level-state');
+	if($data)
+	{
+		$array += $data;
+	}
+	return $array;
+};
+
+return array
+(
+    # 表名
+    'name' => 'member_level_log',
+    # 显示给用户看的名称
+    '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',
+            'search'    => $mid ? 'hidden' : array
+            (
+                'api' => 'agent/member-find',
+                'col' => 'mobile',
+                'result' => 'id',
+            ),
+            'list_name' => '代理商',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_order' => 1,
+        ),
+
+        'order_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '关联订单',
+            'default'   => '',
+            'desc'      => '关联订单',
+            'match'     => 'is_numeric',
+            'list'		=> 'Dever::db("agent/order-find#order_num", {order_id})',
+            'list_order' => 11,
+        ),
+
+        'agent-member-name'=> array
+        (
+            'name'      => '代理商',
+            'default'   => '',
+            'desc'      => '代理商',
+            'match'     => 'option',
+            # 读取另外表的关联方式
+            'sync'      => array('mid', 'id'),
+            //'list'      => $mid ? false : true,
+            //'list_order' => 3,
+        ),
+
+        'agent-member-role'=> array
+        (
+            'name'      => '角色',
+            'default'   => '',
+            'desc'      => '角色',
+            'match'     => 'option',
+            # 读取另外表的关联方式
+            'sync'      => array('mid', 'id'),
+            //'list'      => 'Dever::load("setting/role-find#name", "{agent-member-role}")',
+            //'list_order' => 5,
+        ),
+
+        'order_num'      => array
+        (
+            'type'      => 'varchar-100',
+            'name'      => '日志单号',
+            'default'   => '',
+            'desc'      => '日志单号',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'      => true,
+            'list_order'  => 2,
+        ),
+
+        'old_level'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => '原级别',
+            'default'   => '-1',
+            'desc'      => '原级别',
+            'match'     => 'is_numeric',
+            'update'  	=> 'radio',
+            'option'    => $level,
+            'search'    => 'select',
+            'list'      => true,
+            'list_order' => 3,
+        ),
+
+        'new_level'        => array
+        (
+            'type'      => 'int-11',
+            'name'      => '新级别',
+            'default'   => '-1',
+            'desc'      => '新级别',
+            'match'     => 'is_numeric',
+            'update'  	=> 'radio',
+            'option'    => $level,
+            'search'    => 'select',
+            'list'      => true,
+            'list_order' => 4,
+        ),
+
+        'new_sell'      => array
+        (
+            'type'      => 'float-11,2',
+            'name'      => '新增业绩',
+            'default'   => '0',
+            'desc'      => '新增业绩',
+            'match'     => 'is_numeric',
+            'update'    => 'text',
+            'list'      => true,
+            'list_order' => 5,
+        ),
+
+        'sell'      => array
+        (
+            'type'      => 'float-11,2',
+            'name'      => '总业绩',
+            'default'   => '0',
+            'desc'      => '总业绩',
+            'match'     => 'is_numeric',
+            'update'    => 'text',
+            'list'      => true,
+            'list_order' => 5,
+        ),
+
+        '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", {cdate})',
+            'list_order' => 15,
+        ),
+    ),
+
+    'manage' => array
+    (
+        'edit' => false,
+        'insert' => false,
+        'delete' => false,
+        'button' => $button,
+    ),
+
+    'request' => array
+    (
+        'getData' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'mid' => 'yes',
+                'type' => 'yes',
+                'state' => 1,
+            ),
+            'order' => array('type' => 'asc', 'id' => 'desc'),
+            'type' => 'all',
+            'col' => '*, total_num-sell_num as num',
+        ),
+    ),
+);

+ 42 - 0
service/agent/lib/Level_log.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace Agent\Lib;
+
+use Dever;
+
+# 记录日志
+class Level_log
+{
+
+    # 记录日志
+    public function up($mid, $order_id, $old_level, $new_level, $new_sell, $sell)
+    {
+    	$data['mid'] = $mid;
+    	$data['order_id'] = $order_id;
+    	$data['old_level'] = $old_level;
+    	$data['new_level'] = $new_level;
+    	$data['new_sell'] = $new_sell;
+    	$data['sell'] = $sell;
+    	$data['order_num'] = $this->getOrderId();
+
+    	$id = Dever::db('agent/member_level_log')->insert($data);
+
+    	return $id;
+    }
+
+    /**
+     * 生成日志订单号
+     *
+     * @return mixed
+     */
+    public function getOrderId()
+    {
+        $where['order_num'] = Dever::order('L');
+        $state = Dever::db('agent/member_level_log')->one($where);
+        if (!$state) {
+            return $where['order_num'];
+        } else {
+            return $this->getOrderId();
+        }
+    }
+}

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

@@ -340,7 +340,7 @@ class Manage
 
                 $member = Dever::db('agent/member')->find($where['mid']);
                 $desc = $member['name'] . '成为代理商,佣金'.$t[5].'%';
-                Dever::load('agent/lib/member')->up($order['id'], $order['role'], $where['type'], $where['parent_mid'], $t[3], $order['agent_cash'], $t[4], $desc);
+                Dever::load('agent/lib/member')->up($member, $order['id'], $order['role'], $where['type'], $where['parent_mid'], $t[3], $order['agent_cash'], $t[4], $desc);
             }
         }
     }

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

@@ -130,7 +130,7 @@ class Member
      * 更新余额和业绩
      * @return mixed
      */
-    public function up($order_id, $role, $type, $mid, $cash, $sell, $level_id = false, $desc = '')
+    public function up($member, $order_id, $role, $type, $mid, $cash, $sell, $level_id = false, $desc = '')
     {
         # 增加日志
         Dever::load('bill/lib/cash')->up($mid, $type, $cash, $role, $order_id, $desc, 2);
@@ -150,6 +150,10 @@ class Member
         }
         $data['clear'] = true;
         Dever::db('agent/member')->$method($data);
+
+        if ($level_id) {
+            Dever::load('agent/lib/level_log')->up($mid, $order_id, $member['level_id'], $level_id, $sell, $member['sell'] + $sell);
+        }
     }
 
     /**
@@ -263,6 +267,13 @@ class Member
             'name' => '直推代理订单',
         );
 
+        $button[0]['btn'][] = array
+        (
+            'type' => 'link',
+            'link' => Dever::url('project/database/list?project=agent&table=member_level_log&search_option_mid='.$member['id'].'', 'manage'),
+            'name' => '升级日志',
+        );
+
         $button[1]['btn'][] = array
         (
             'type' => 'edit',