| // +------------------------------------------------+ namespace app\system\controller; use app\common\model\Account as AccountModel; use app\common\model\AccountLogs as AccountLogsModel; use app\common\model\Member as MemberModel; use app\common\service\Excel; class Account extends _Init { public function index($nickname = '', $start_date = '', $end_date = '') { $model = new AccountModel(); $info_map = []; if (!empty($nickname)) { $info_map['nickname|mobile'] = ['like', "%{$nickname}%"]; } if ($start_date && $end_date) { $map['create_time'] = ['between time', [$start_date, date('Y-m-d H:i:s', strtotime('+1 day', strtotime($end_date)) - 1)]]; } elseif ($start_date) { $map['create_time'] = ['> time', $start_date]; } elseif ($end_date) { $map['create_time'] = ['< time', date('Y-m-d H:i:s', strtotime('+1 day', strtotime($end_date)) - 1)]; } // 搜索昵称 if (!empty($info_map)) { $model = $model->hasWhere('userinfo', $info_map); } $this->list = $model->order('price desc')->paginate(); return $this->fetch(); } public function logs($id = '', $start_time = '', $end_time = '') { $map = array(); if ($id) { if (is_numeric($id)) { $map['uid'] = $id; } else { $uid = MemberModel::where('username', $id)->value('id'); $map['uid'] = $uid; } } if ($start_time && $end_time) { $map['create_time'] = ['between time', [$start_time, date('Y-m-d H:i:s', strtotime('+1 day', strtotime($end_time)) - 1)]]; } elseif ($start_time) { $map['create_time'] = ['> time', $start_time]; } elseif ($end_time) { $map['create_time'] = ['< time', date('Y-m-d H:i:s', strtotime('+1 day', strtotime($end_time)) - 1)]; } $this->list = AccountLogsModel::where($map)->order('create_time desc')->paginate(); $this->assign('info', MemberModel::find($id)); return $this->fetch(); } public function toexcel($id = '', $start_time = '', $end_time = '') { $map = array(); if ($id) { $map['uid'] = $id; } if ($start_time) { $map['create_time'] = ['egt', strtotime($start_time)]; } if ($end_time) { $map['create_time'] = ['elt', strtotime($end_time)]; } $list = AccountLogsModel::field('password', true)->where($map)->order('create_time desc')->select(); $n = array(); foreach ($list as $key => $v) { $n[] = [ $v->uid, $v->user->info->nickname ?? '', $v->type_text, $v->rules->title, $v->increase, $v->remark, $v->create_time, $v->fromuser, $v->fuser->info->nickname ?? '', ]; } $header = ['会员编号', '真实名称', '账户类型', '获取规则', '获取数值', '描述', '产生时间', '产生会员', '会员名称']; $ress = Excel::writer($header, $n, '会员账户明细 - ' . date('Y年m月d日H时i分s秒', time()), true); } }