lizhen_gitee пре 1 година
родитељ
комит
f980989ab0

+ 63 - 0
application/admin/controller/user/User.php

@@ -50,6 +50,69 @@ class User extends Backend
     }
 
     /**
+     * 过期账号列表
+     */
+    public function indexguoqi()
+    {
+        if (false === $this->request->isAjax()) {
+            return $this->view->fetch();
+        }
+
+        //用户消费额
+        $user_pay = [];
+
+        $order_map = [
+            'status'  => 1,
+            'have_paid' => ['gt',0],
+        ];
+        $user_order = Db::name('unishop_order')->field('user_id,sum(order_price) as sum_order_price')->where($order_map)->group('user_id')->select();
+        //dump($user_order);
+        foreach($user_order as $order){
+            $user_pay[$order['user_id']] = $order['sum_order_price'];
+        }
+        //dump($user_pay);
+        //用户积分额
+        $user_score = Db::name('user_wallet')->where('score','gt',0)->column('user_id,score');
+        //dump($user_score);
+
+        //找出那个超出2倍的
+        $special_user = [];
+        foreach($user_score as $user_id => $score){
+            $user_pay_money = isset($user_pay[$user_id]) ? $user_pay[$user_id] : 0;
+            if($score > $user_pay_money * 2){
+                $special_user[] = $user_id;
+            }
+        }
+        //dump($special_user);
+
+        list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+        //用户
+        $hualuo_tendays_ago = hualuo_tendays_ago();
+        //dump($hualuo_tendays_ago);
+
+        //开始列表
+        $list = $this->model
+            ->where('last_paytime','lt',$hualuo_tendays_ago)
+            ->whereor('id','IN',$special_user)
+            ->order($sort, $order)
+            ->paginate($limit);
+
+        $user_list = collection($list->items())->toArray();
+
+        foreach($user_list as $key => &$val){
+            $user_id = $val['id'];
+            $val['sum_order_price'] = isset($user_pay[$user_id]) ? $user_pay[$user_id] : 0;
+            $val['score'] = isset($user_score[$user_id]) ? $user_score[$user_id] : 0;
+            $val['special'] = in_array($user_id,$special_user) ? '是' : '否';
+            $val['tendaysago'] = date('Y-m-d H:i:s',$hualuo_tendays_ago);
+        }
+        //dump($user_list);
+
+        $result = ['total' => $list->total(), 'rows' => $user_list];
+        return json($result);
+    }
+
+    /**
      * 关系转移
      */
     public function zhuanyiintro(){

+ 22 - 0
application/admin/view/user/user/indexguoqi.html

@@ -0,0 +1,22 @@
+<div class="panel panel-default panel-intro">
+
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+
+
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 80 - 0
public/assets/js/backend/user/user.js

@@ -74,6 +74,86 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             // 为表格绑定事件
             Table.api.bindevent(table);
         },
+        indexguoqi: function () {
+            // 初始化表格参数配置
+            Table.api.init({
+                extend: {
+                    index_url: 'user/user/indexguoqi' + location.search,
+                    multi_url: 'user/user/multi',
+                    import_url: 'user/user/import',
+                    table: 'user',
+                }
+            });
+
+            var table = $("#table");
+
+            // 初始化表格
+            table.bootstrapTable({
+                url: $.fn.bootstrapTable.defaults.extend.index_url,
+                pk: 'id',
+                sortName: 'id',
+//                fixedColumns: true,
+//                fixedRightNumber: 1,
+                search:false,
+                showToggle: false,
+                showColumns: false,
+                commonSearch:false,
+
+                columns: [
+                    [
+                        {checkbox: true},
+                        {field: 'id', title: __('Id')},
+//                        {field: 'group_id', title: __('Group_id')},
+                        {field: 'username', title: __('Username'), operate: 'LIKE'},
+                        {field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
+//                        {field: 'password', title: __('Password'), operate: 'LIKE'},
+//                        {field: 'salt', title: __('Salt'), operate: 'LIKE'},
+//                        {field: 'email', title: __('Email'), operate: 'LIKE'},
+                        {field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
+//                        {field: 'avatar', title: __('Avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+//                        {field: 'level', title: __('Level')},
+//                        {field: 'gender', title: __('Gender')},
+//                        {field: 'birthday', title: __('Birthday'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+//                        {field: 'bio', title: __('Bio'), operate: 'LIKE'},
+//                        {field: 'money', title: __('Money'), operate:'BETWEEN'},
+//                        {field: 'score', title: __('Score')},
+//                        {field: 'successions', title: __('Successions')},
+//                        {field: 'maxsuccessions', title: __('Maxsuccessions')},
+//                        {field: 'prevtime', title: __('Prevtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'logintime', title: __('Logintime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'loginip', title: __('Loginip'), operate: 'LIKE'},
+//                        {field: 'loginfailure', title: __('Loginfailure')},
+//                        {field: 'joinip', title: __('Joinip'), operate: 'LIKE'},
+                        {field: 'jointime', title: __('Jointime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'token', title: __('Token'), operate: 'LIKE'},
+                        {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
+//                        {field: 'verification', title: __('Verification'), operate: 'LIKE'},
+//                        {field: 'mini_openid', title: __('Mini_openid'), operate: 'LIKE'},
+//                        {field: 'mini_sessionkey', title: __('Mini_sessionkey'), operate: 'LIKE'},
+//                        {field: 'unionid', title: __('Unionid'), operate: 'LIKE'},
+                        {field: 'introcode', title: __('Introcode'), operate: 'LIKE'},
+                        {field: 'last_paytime', title: __('Last_paytime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'tendaysago', title: '滑落底线'},
+
+//                        {field: 'intro_num', title: __('Intro_num')},
+//                        {field: 'intro_num_all', title: __('Intro_num_all')},
+                        {field: 'intro_uid', title: __('Intro_uid')},
+                        {field: 'score', title: '用户积分'},
+                        {field: 'sum_order_price', title: '总支付额'},
+                        {field: 'special', title: '是否超2倍'},
+//                        {field: 'intro_ids', title: __('Intro_ids')},
+//                        {field: 'intro_level', title: __('Intro_level')},
+
+//                        {field: 'operate', title: __('Operate'),table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                    ]
+                ]
+            });
+
+            // 为表格绑定事件
+            Table.api.bindevent(table);
+        },
         add: function () {
             Controller.api.bindevent();
         },