|
|
@@ -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
|