初始化代码
This commit is contained in:
214
application/admin/model/Block.php
Normal file
214
application/admin/model/Block.php
Normal file
@@ -0,0 +1,214 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\model;
|
||||
|
||||
use think\Model;
|
||||
use think\Db;
|
||||
|
||||
class Block extends Model
|
||||
{
|
||||
|
||||
public function get_block_list($type, $type_text, $is_delete, $page = 1, $limit = 20)
|
||||
{
|
||||
$map = [];
|
||||
if(!empty($type)){
|
||||
$map[] = ['type', '=', $type];
|
||||
}
|
||||
if(!empty($type_text)){
|
||||
$map[] = ['type_text', '=', $type_text];
|
||||
}
|
||||
if(!empty($is_delete)){
|
||||
$map[] = ['is_delete', '=', $is_delete];
|
||||
}
|
||||
$map[] = ['is_delete', '=', 1];
|
||||
$list = db::name('block')->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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user