where($map)->order('id desc')->page($page, $limit)->select(); foreach ($list as $k => &$v) { } $data = []; $data['count'] = db::name('block')->where($map)->count(); $data['list'] = $list; return ['code' => 200, 'msg' => '获取成功', 'data' => $data]; } public function add_block($aid, $data) { if(empty($data['type_text'])){ return ['code' => 201, 'msg' => '封禁内容不能为空', 'data' => null]; } // if(empty($data['block_note'])){ // return ['code' => 201, 'msg' => '封禁原因不能为空', 'data' => null]; // } // if(empty($data['block_time'])){ // return ['code' => 201, 'msg' => '封禁截止日期不能为空', 'data' => null]; // } // $block_time = $data['block_time']; // $data['block_time'] = strtotime($data['block_time']); $map = []; $map[] = ['is_delete', '=', 1]; $map[] = ['type', '=', $data['type']]; $map[] = ['type_text', '=', $data['type_text']]; $info = db::name('block')->where($map)->find(); if($info){ return ['code' => 201, 'msg' => '当前封禁内容已添加', 'data' => null]; } Db::startTrans(); try { //添加 $insert = []; $insert['aid'] = $aid; $insert['type'] = $data['type']; $insert['type_text'] = $data['type_text']; // $insert['block_time'] = $data['block_time']; // $insert['block_note'] = $data['block_note']; $insert['add_time'] = time(); $reslut = db::name('block')->insert($insert); if(!$reslut){ Db::rollback(); return ['code' => 201, 'msg' => '添加失败', 'data' => null]; } Db::commit(); return ['code' => 200, 'msg' => '添加成功', 'data' => null]; } catch (\Exception $e) { dump($e); // 回滚事务 Db::rollback(); return ['code' => 201, 'msg' => '添加失败', 'data' => null]; } } public function del_block($id) { $map = []; $map[] = ['id', '=', $id]; $block_info = db::name('block')->where($map)->find(); if (empty($block_info)) { return ['code' => 201, 'msg' => '信息不存在', 'data' => '']; } Db::startTrans(); try { //删除封禁 $update = []; $update['is_delete'] = 2; $update['update_time'] = time(); $reslut = db::name('block')->where('id', $id)->update($update); if(!$reslut){ Db::rollback(); return ['code' => 201, 'msg' => '解封失败', 'data' => null]; } Db::commit(); return ['code' => 200, 'msg' => '解封成功', 'data' => null]; } catch (\Exception $e) { dump($e); // 回滚事务 Db::rollback(); return ['code' => 201, 'msg' => '解封失败', 'data' => null]; } } //定时任务 房间解禁 public function close_room_unfreeze(){ $now_time = time(); $map = []; $map[] = ['room_status', '=', 2]; $map[] = ['block_time', '<=', $now_time]; $block_room_list = db::name('room')->where($map)->select(); if($block_room_list){ foreach ($block_room_list as $k => $v){ Db::startTrans(); try { //解禁房间 $update = []; $update['room_status'] = 1; $update['block_time'] = 0; $update['block_note'] = ''; $update['update_time'] = $now_time; $reslut = db::name('room')->where('rid', $v['rid'])->update($update); if(!$reslut){ Db::rollback(); } //删除解禁记录 $where = []; $where[] = ['rid', '=', $v['rid']]; $where[] = ['is_delete', '=', 1]; $update = []; $update['is_delete'] = 2; $update['update_time'] = $now_time; $reslut = db::name('room_block_log')->where($where)->update($update); if(!$reslut){ Db::rollback(); } Db::commit(); } catch (\Exception $e) { dump($e); // 回滚事务 Db::rollback(); } } } return true; } //定时任务 用户解禁 public function close_user_unfreeze(){ $now_time = time(); $map = []; $map[] = ['is_delete', '=', 1]; $map[] = ['block_time', '<=', $now_time]; $block_user_list = db::name('block')->where($map)->select(); if($block_user_list){ foreach ($block_user_list as $k => $v){ Db::startTrans(); try { if($v['type'] == 2){//解封账号 $map = []; $map[] = ['user_name', '=', $v['type_text']]; $update = []; $update['login_status'] = 1; $update['update_time'] = time(); $reslut = db::name('user')->where($map)->update($update); if(!$reslut){ Db::rollback(); } } //解封记录 $update = []; $update['is_delete'] = 2; $update['update_time'] = time(); $reslut = db::name('block')->where('id', $v['id'])->update($update); if(!$reslut){ Db::rollback(); } Db::commit(); } catch (\Exception $e) { dump($e); // 回滚事务 Db::rollback(); } } } return true; } }