Kirin 1 年間 前
コミット
80f57e84eb

+ 1 - 0
app/admin/controller/user/User.php

@@ -408,6 +408,7 @@ class User extends AuthController
             ['sex', ''],
             ['level', ''],
             ['group_id', ''],
+            ['excel', 0]
         ]);
         return Json::successlayui(UserModel::getUserList($where));
     }

+ 8 - 0
app/admin/model/order/StoreOrder.php

@@ -705,6 +705,13 @@ HTML;
                 'background_color' => 'layui-bg-blue',
                 'col' => 2
             ],
+            [
+                'name' => 'BTA支付金额',
+                'field' => '元',
+                'count' => $price['pay_price_offline_3'],
+                'background_color' => 'layui-bg-blue',
+                'col' => 2
+            ],
             [
                 'name' => '其他支付金额',
                 'field' => '元',
@@ -798,6 +805,7 @@ HTML;
         }
         $price['pay_price_offline_1'] = self::getOrderWhere($where, $model)->where($whereData)->where('pay_type', 'offline')->where('offline_type', 1)->sum('pay_price');
         $price['pay_price_offline_2'] = self::getOrderWhere($where, $model)->where($whereData)->where('pay_type', 'offline')->where('offline_type', 2)->sum('pay_price');
+        $price['pay_price_offline_3'] = self::getOrderWhere($where, $model)->where($whereData)->where('pay_type', 'offline')->where('offline_type', 3)->sum('pay_price');
 //        $price['pay_price_offline'] -= $price['pay_price_offline_1'];
         $price['pay_price_offline'] = self::getOrderWhere($where, $model)->where($whereData)->where('pay_type', 'offline')->where('offline_type', 0)->sum('pay_price');
         return $price;

+ 81 - 0
app/admin/model/user/User.php

@@ -145,7 +145,59 @@ class User extends BaseModel
      */
     public static function getUserList($where)
     {
+        $excel = $where['excel'] ?? 0;
+        if (isset($where['excel'])) unset($where['excel']);
         $model = self::setWherePage(self::setWhere($where), $where, ['w.sex', 'w.province', 'w.city', 'u.status', 'u.is_promoter'], ['u.nickname', 'u.uid', 'u.phone']);
+        if ($excel) {
+            $list = $model->alias('u')
+                ->join('WechatUser w', 'u.uid=w.uid')
+                ->field('u.*,w.country,w.province,w.city,w.sex,w.unionid,w.openid,w.routine_openid,w.groupid,w.tagid_list,w.subscribe,w.subscribe_time')
+                ->select()
+                ->each(function ($item) {
+                    $num = StoreCart::where('uid', $item['uid'])->where('is_pay', 1)->where('is_del', 0)->where('is_suit', 1)->field('sum(cart_num) as cart_num_sum')->find()['cart_num_sum'];
+                    $item['suit_num'] = intval($num ?: 0);
+                    $item['group_level_name'] = $item['group_level'] ? SystemGroupLevel::where('id', $item['group_level'])->value('name') : '--';
+                    $item['award_level_name'] = $item['award_level'] ? SystemAwardLevel::where('id', $item['award_level'])->value('name') : '--';
+
+                    $item['group_name'] = '';
+                    if ($item['group_id']) {
+                        $group = UserGroup::where('id', $item['group_id'])->find();
+                        $item['group_name'] = $group ? $group['group_name'] : '';
+                    }
+                    if ($item['last_time']) $item['last_time'] = date('Y-m-d H:i:s', $item['last_time']);//最近一次访问日期
+                    else $item['last_time'] = '无访问';//最近一次访问日期
+                    self::edit(['pay_count' => StoreOrder::getUserCountPay($item['uid'])], $item['uid']);
+                    $item['extract_count_price'] = UserExtract::getUserCountPrice($item['uid']);//累计提现
+                    if ($item['spread_uid']) {
+                        $item['spread_uid_nickname'] = self::where('uid', $item['spread_uid'])->value('nickname') . '/' . $item['spread_uid'];
+                        if ($item['lock_spread']) $item['spread_uid_nickname'] = '<font style="color: #4cd864">[已锁定]</font>' . $item['spread_uid_nickname'];
+                        else  $item['spread_uid_nickname'] = '<font style="color: #d58512">[未锁定]</font>' . $item['spread_uid_nickname'];
+                    } else {
+                        $item['spread_uid_nickname'] = '无';
+                    }
+                    if ($item['openid'] != '' && $item['routine_openid'] != '') {
+                        $item['user_type'] = '通用';
+                    } else if ($item['openid'] == '' && $item['routine_openid'] != '') {
+                        $item['user_type'] = '小程序';
+                    } else if ($item['openid'] != '' && $item['routine_openid'] == '') {
+                        $item['user_type'] = '公众号';
+                    } else if ($item['user_type'] == 'h5') {
+                        $item['user_type'] = 'H5';
+                    } else $item['user_type'] = '其他';
+                    if ($item['sex'] == 1) {
+                        $item['sex'] = '男';
+                    } else if ($item['sex'] == 2) {
+                        $item['sex'] = '女';
+                    } else $item['sex'] = '保密';
+                    $item['vip_name'] = false;
+                    $levelinfo = UserLevel::where('uid', $item['uid'])->where('is_del', 0)->order('grade desc')->field('level_id,is_forever,valid_time')->find();
+                    if ($levelinfo) {
+                        if ($levelinfo['is_forever']) $item['vip_name'] = SystemUserLevel::where('id', $levelinfo['level_id'])->value('name');
+                        else if (time() > $levelinfo['valid_time']) $item['vip_name'] = SystemUserLevel::where('id', $levelinfo['level_id'])->value('name');
+                    }
+                });//->toArray();
+            self::SaveExcel($list);
+        }
         $list = $model->alias('u')
             ->join('WechatUser w', 'u.uid=w.uid')
             ->field('u.*,w.country,w.province,w.city,w.sex,w.unionid,w.openid,w.routine_openid,w.groupid,w.tagid_list,w.subscribe,w.subscribe_time')
@@ -209,6 +261,35 @@ class User extends BaseModel
         return ['count' => $count, 'data' => $list];
     }
 
+    /*
+    * 保存并下载excel
+    * $list array
+    * return
+    */
+    public static function SaveExcel($list)
+    {
+        $export = [];
+        foreach ($list as $index => $item) {
+            $export[] = [
+                $item['uid'],
+                $item['nickname'],
+                $item['phone'],
+                $item['now_money'],
+                $item['integral'],
+                $item['gf'],
+                $item['consumer'],
+                $item['award_level'],
+                $item['suit'],
+                $item['spread_uid_nickname']
+            ];
+        }
+        PHPExcelService::setExcelHeader(['编号', '姓名', '手机号', '余额', '积分', '股份', '消费券', '等级',
+            '套装单数', '推荐人'])
+            ->setExcelTile('会员导出' . date('YmdHis', time()), '会员信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
+            ->setExcelContent($export)
+            ->ExcelSave();
+    }
+
     /**
      *  修改用户状态
      * @param $uids 用户uid

+ 1 - 0
app/admin/view/store/placeorder/index.php

@@ -237,6 +237,7 @@
                                             <i-Option value="0">现金</i-Option>
                                             <i-Option value="1">门店扫码</i-Option>
                                             <i-Option value="2">智慧8度积分</i-Option>
+                                            <i-Option value="3">BTA支付</i-Option>
                                         </i-Select>
                                     </div>
                                 </i-Col>

+ 8 - 0
app/admin/view/user/user/index.php

@@ -190,6 +190,8 @@
                         <label class="layui-form-label">
                             <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="search" >
                                 <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索</button>
+                            <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="export" >
+                                <i class="layui-icon layui-icon-export layuiadmin-button-btn"></i>导出</button>
                         </label>
                     </div>
                 </form>
@@ -485,6 +487,12 @@
         if(where['user_time_type'] == '' && where['user_time'] != '') return layList.msg('请选择访问情况');
         layList.reload(where,true);
     });
+    layList.search('export',function(where){
+        if(where['user_time_type'] != '' && where['user_time'] == '') return layList.msg('请选择选择时间');
+        if(where['user_time_type'] == '' && where['user_time'] != '') return layList.msg('请选择访问情况');
+        where['excel'] = 1;
+        layList.reload(where,true);
+    });
 
     var action={
         add:function () {