123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <?php
- namespace app\admin\controller;
- use think\exception\ValidateException;
- use app\model\Log;
- use think\facade\Db;
- class LogController extends Base
- {
- /*
- * @Description 数据列表
- */
- function index()
- {
- $username = input('post.username', '', 'serach_in');
- $type = input('post.type', '', 'serach_in');
- $create_time = input('post.create_time', '', 'serach_in');
- $where = [];
- $where['weid'] = weid();
- if (!empty($username)) {
- $where['username'] = $username;
- }
- if (!empty($type)) {
- $where['type'] = $type;
- }
- $field = 'id,application_name,username,url,ip,create_time,type';
- $query = Log::where($where);
- if (!empty($create_time)) {
- $query->where('create_time','between', [strtotime($create_time[0]), strtotime($create_time[1])]);
- }
- $res = $query->field($field)->order('id desc')->paginate(getpage())->toArray();
- $data['data'] = $res;
- return $this->json($data);
- }
- /*
- * @Description 删除
- */
- function delete()
- {
- return $this->del(new Log());
- }
- /*
- * @Description 查看详情
- */
- function detail()
- {
- $id = $this->request->post('id', '', 'serach_in');
- if (!$id) throw new ValidateException('参数错误');
- $field = 'id,application_name,username,url,ip,useragent,content,errmsg,create_time,type';
- $res = Log::field($field)->find($id);
- return $this->json(['data' => $res]);
- }
- function dumpdata()
- {
- $page = $this->request->post('page', 1, 'intval');
- $limit = config('my.dumpsize') ? config('my.dumpsize') : 1000;
- $username = input('post.username', '', 'serach_in');
- $type = input('post.type', '', 'serach_in');
- $create_time = input('post.create_time', '', 'serach_in');
- $where = [];
- if (!empty($username)) {
- $where['username'] = $username;
- }
- if (!empty($type)) {
- $where['type'] = $type;
- }
- $field = 'id,application_name,username,url,ip,useragent,content,errmsg,create_time,type';
- $query = Log::where($where);
- if (!empty($create_time)) {
- $query->where('create_time','between', [strtotime($create_time[0]), strtotime($create_time[1])]);
- }
- $count = $query->count();
- $res = $query->field($field)->order('id desc')->limit(($page - 1) * $limit, $limit)->select()->toArray();
- //var_dump($query->getLastSql());
- foreach ($res as $key => $val) {
- $res[$key]['create_time'] = date('Y-m-d H:i:s', $val['create_time']);
- $res[$key]['type'] = getItemVal($val['type'], '[{"key":"登录日志","val":"1","label_color":"info"},{"key":"操作日志","val":"2","label_color":"warning"},{"key":"异常日志","val":"3","label_color":"danger"}]');
- }
- $data['header'] = explode(',', '编号,应用名,用户名,请求url,客户端ip,浏览器信息,请求内容,异常信息,创建时间,类型');
- $data['percentage'] = ceil($page * 100 / ceil($count / $limit));
- $data['filename'] = '日志管理.' . config('my.dump_extension');
- $data['data'] = $res;
- return $this->json($data);
- }
- }
|