311 lines
9.3 KiB
PHP
311 lines
9.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace app\adminapi\controller;
|
||
|
|
|
||
|
|
use app\admin\model\AdminLog;
|
||
|
|
use app\common\controller\adminApi;
|
||
|
|
use think\Config;
|
||
|
|
use think\Db;
|
||
|
|
use think\Hook;
|
||
|
|
use think\Session;
|
||
|
|
use think\Validate;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 青少年模式
|
||
|
|
* @internal
|
||
|
|
*/
|
||
|
|
class Underage extends adminApi
|
||
|
|
{
|
||
|
|
|
||
|
|
protected $noNeedLogin = [];
|
||
|
|
protected $noNeedRight = [];
|
||
|
|
|
||
|
|
public function _initialize()
|
||
|
|
{
|
||
|
|
parent::_initialize();
|
||
|
|
}
|
||
|
|
public function types_list()
|
||
|
|
{
|
||
|
|
$page = $this->request->get('page', 1);
|
||
|
|
$page_limit = $this->request->get('page_limit', 30);
|
||
|
|
$search_name = $this->request->get('search_name', '');
|
||
|
|
$where = [];
|
||
|
|
if ($search_name) {
|
||
|
|
$where['type_name'] = ['like', '%' . $search_name . '%'];
|
||
|
|
}
|
||
|
|
$count = Db::name('vs_underage_mode_type')
|
||
|
|
->where($where)
|
||
|
|
->count();
|
||
|
|
$lists = Db::name('vs_underage_mode_type')
|
||
|
|
->where($where)
|
||
|
|
->where('is_delete', 1)
|
||
|
|
->order(['sort'=>'asc', 'id' => 'desc'])
|
||
|
|
->page($page, $page_limit)
|
||
|
|
->select();
|
||
|
|
$return_lists = [];
|
||
|
|
foreach ($lists as $key =>$value) {
|
||
|
|
$return_lists[$key]['id'] = $value['id'];
|
||
|
|
$return_lists[$key]['name'] = $value['type_name'];
|
||
|
|
$return_lists[$key]['num'] = Db::name('vs_underage_mode_content')
|
||
|
|
->where('type_id', $value['id'])
|
||
|
|
->where('is_delete', 1)
|
||
|
|
->count();
|
||
|
|
$return_lists[$key]['status'] = $value['status'];
|
||
|
|
$return_lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||
|
|
$return_lists[$key]['admin'] = Db::name('admin')
|
||
|
|
->where('id', $value['admin_id'])
|
||
|
|
->value('username');
|
||
|
|
$return_lists[$key]['sort'] = $value['sort'];
|
||
|
|
}
|
||
|
|
$return_data = [
|
||
|
|
'page' =>$page,
|
||
|
|
'page_limit' => $page_limit,
|
||
|
|
'count' => $count,
|
||
|
|
'lists' => $return_lists
|
||
|
|
];
|
||
|
|
return V(1,"成功", $return_data);
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 添加
|
||
|
|
*/
|
||
|
|
public function types_add(){
|
||
|
|
$admin_id = Session::get('id');
|
||
|
|
$type_name = input('type_name', "");
|
||
|
|
$sort = input('sort', 0);
|
||
|
|
$status = input('status', 1);
|
||
|
|
|
||
|
|
if(!$type_name){
|
||
|
|
return V(0, "请填写分类名称");
|
||
|
|
}
|
||
|
|
$data = [
|
||
|
|
'type_name' => $type_name,
|
||
|
|
'admin_id' => $admin_id,
|
||
|
|
'sort' => $sort,
|
||
|
|
'status' => $status,
|
||
|
|
'createtime' => time()
|
||
|
|
];
|
||
|
|
$res = Db::name('vs_underage_mode_type')->insert($data);
|
||
|
|
if(!$res){
|
||
|
|
return V(0, "添加失败");
|
||
|
|
}
|
||
|
|
return V(1, "添加成功");
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* 编辑
|
||
|
|
*/
|
||
|
|
public function types_edit(){
|
||
|
|
$id = input('id','');
|
||
|
|
$type_name = input('type_name');
|
||
|
|
$sort = input('sort', 0);
|
||
|
|
$status = input('status', '');
|
||
|
|
if(!$id){
|
||
|
|
return V(0, "参数错误");
|
||
|
|
}
|
||
|
|
$type = Db::name('vs_underage_mode_type')->where('id', $id)->find();
|
||
|
|
if(!$type){
|
||
|
|
return V(0, "参数错误");
|
||
|
|
}
|
||
|
|
$data = [];
|
||
|
|
if($type_name){
|
||
|
|
$data['type_name'] = $type_name;
|
||
|
|
}
|
||
|
|
if($sort){
|
||
|
|
$data['sort'] = $sort;
|
||
|
|
}
|
||
|
|
if($status){
|
||
|
|
$data['status'] = $status;
|
||
|
|
}
|
||
|
|
$reslut = DB::name('vs_underage_mode_type')->where('id', $id)->update($data);
|
||
|
|
if(!$reslut){
|
||
|
|
return V(0, "修改失败");
|
||
|
|
}
|
||
|
|
return V(1, "修改成功");
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 状态修改
|
||
|
|
*/
|
||
|
|
public function types_change_status(){
|
||
|
|
$id = input('id');
|
||
|
|
$status = input('status');
|
||
|
|
if(!$id){
|
||
|
|
return V(0, "参数错误");
|
||
|
|
}
|
||
|
|
if(!$status){
|
||
|
|
return V(0, "参数错误");
|
||
|
|
}
|
||
|
|
$reslut = DB::name('vs_underage_mode_type')->where('id', $id)->update(['status' => $status]);
|
||
|
|
if(!$reslut){
|
||
|
|
return V(0, "修改失败");
|
||
|
|
}
|
||
|
|
return V(1, "修改成功");
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 删除
|
||
|
|
*/
|
||
|
|
public function types_delete(){
|
||
|
|
$id = input('id');
|
||
|
|
if(!$id){
|
||
|
|
return V(0, "参数错误");
|
||
|
|
}
|
||
|
|
$reslut = DB::name('vs_underage_mode_type')->where('id', $id)->update(['is_delete' => 0,'delete_time'=>time()]);
|
||
|
|
if(!$reslut){
|
||
|
|
return V(0, "删除失败");
|
||
|
|
}
|
||
|
|
return V(1, "删除成功");
|
||
|
|
}
|
||
|
|
|
||
|
|
/*
|
||
|
|
* 未成年模式内容列表
|
||
|
|
*/
|
||
|
|
public function content_List(){
|
||
|
|
$page = input('page', 1);
|
||
|
|
$page_limit = input('pageSize', 30);
|
||
|
|
$search_name = input('search_name', '');
|
||
|
|
$where = [];
|
||
|
|
if($search_name){
|
||
|
|
$where['title'] = ['like', '%'.$search_name.'%'];
|
||
|
|
}
|
||
|
|
$list = DB::name('vs_underage_mode_content')->where($where)->order('sort,id', 'asc')->page($page, $page_limit)->select();
|
||
|
|
$count = DB::name('vs_underage_mode_content')->where($where)->count();
|
||
|
|
foreach ($list as $key => $value) {
|
||
|
|
$return_lists[$key]['id'] = $value['id'];
|
||
|
|
$return_lists[$key]['type_id'] = $value['type_id'];
|
||
|
|
$return_lists[$key]['type_name'] = db('vs_underage_mode_type')->where('id', $value['type_id'])->value('type_name');
|
||
|
|
$return_lists[$key]['title'] = $value['title'];
|
||
|
|
$return_lists[$key]['img'] = $value['img'];
|
||
|
|
$return_lists[$key]['url'] = $value['url'];
|
||
|
|
$return_lists[$key]['is_top'] = $value['is_top'];
|
||
|
|
$return_lists[$key]['admin'] = db('admin')->where('id', $value['admin_id'])->value('username');
|
||
|
|
$return_lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
||
|
|
$return_lists[$key]['introduced'] = $value['introduced'];
|
||
|
|
$return_lists[$key]['from'] = $value['from'];
|
||
|
|
$return_lists[$key]['content'] = $value['content'];
|
||
|
|
}
|
||
|
|
$return_data = [
|
||
|
|
'page' =>$page,
|
||
|
|
'page_limit' => $page_limit,
|
||
|
|
'count' => $count,
|
||
|
|
'lists' => $return_lists
|
||
|
|
];
|
||
|
|
return V(1,"成功", $return_data);
|
||
|
|
}
|
||
|
|
|
||
|
|
/*
|
||
|
|
* 未成年模式内容详情
|
||
|
|
*/
|
||
|
|
public function content_detail(){
|
||
|
|
$id=input('id', '');
|
||
|
|
if(empty($id)){
|
||
|
|
return V(0,"参数错误");
|
||
|
|
}
|
||
|
|
$data = db('vs_underage_mode_content')->where(['id'=>$id])->find();
|
||
|
|
return V(1,"成功", $data);
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 内容添加
|
||
|
|
*/
|
||
|
|
public function content_add(){
|
||
|
|
$admin_id = session('admin_id');
|
||
|
|
$type_id = input('type_id', '');
|
||
|
|
$title = input('title', '');
|
||
|
|
$introduced = input('introduced', '');
|
||
|
|
$content = input('content', '');
|
||
|
|
$url = input('url', '');
|
||
|
|
$img = input('img', '');
|
||
|
|
$from = input('from', 1);
|
||
|
|
$sort = input('sort', '');
|
||
|
|
$is_top = input('is_top', 0);
|
||
|
|
if(!$title){
|
||
|
|
return V(0,"标题必填");
|
||
|
|
}
|
||
|
|
if(!$introduced){
|
||
|
|
return V(0,"简介必填");
|
||
|
|
}
|
||
|
|
//简介不能超过100字
|
||
|
|
if(mb_strlen($introduced) > 100){
|
||
|
|
return V(0,"简介不能超过100字");
|
||
|
|
}
|
||
|
|
$data = [
|
||
|
|
'type_id' => $type_id,
|
||
|
|
'title' => $title,
|
||
|
|
'introduced' => $introduced,
|
||
|
|
'content' => $content,
|
||
|
|
'url' => $url,
|
||
|
|
'img' => $img,
|
||
|
|
'from' => $from,
|
||
|
|
'sort' => $sort,
|
||
|
|
'is_top' => $is_top,
|
||
|
|
'createtime' => time(),
|
||
|
|
'admin_id' => $admin_id,
|
||
|
|
];
|
||
|
|
$result = db::name('vs_underage_mode_content')->insertGetId($data);
|
||
|
|
if(!$result){
|
||
|
|
return V(0,"失败");
|
||
|
|
}
|
||
|
|
return V(1,"成功");
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 删除
|
||
|
|
*/
|
||
|
|
public function content_del(){
|
||
|
|
$id = input('id',0);
|
||
|
|
if(!$id){
|
||
|
|
return V(0,"参数错误");
|
||
|
|
}
|
||
|
|
$result = db::name('vs_underage_mode_content')->where('id',$id)->delete();
|
||
|
|
if(!$result){
|
||
|
|
return V(0,"失败");
|
||
|
|
}
|
||
|
|
return V(1,"成功");
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 编辑
|
||
|
|
*/
|
||
|
|
public function content_edit(){
|
||
|
|
$id = input('id',0);
|
||
|
|
$type_id = input('type_id', '');
|
||
|
|
$title = input('title', '');
|
||
|
|
$introduced = input('introduced', '');
|
||
|
|
$content = input('content', '');
|
||
|
|
$url = input('url', '');
|
||
|
|
$img = input('img', '');
|
||
|
|
$from = input('from', 1);
|
||
|
|
$sort = input('sort', '');
|
||
|
|
$is_top = input('is_top', 0);
|
||
|
|
if(!$id){
|
||
|
|
return V(0,"参数错误");
|
||
|
|
}
|
||
|
|
if($type_id){
|
||
|
|
$data['type_id'] = $type_id;
|
||
|
|
}
|
||
|
|
if($title){
|
||
|
|
$data['title'] = $title;
|
||
|
|
}
|
||
|
|
if($url){
|
||
|
|
$data['url'] = $url;
|
||
|
|
}
|
||
|
|
if($img){
|
||
|
|
$data['img'] = $img;
|
||
|
|
}
|
||
|
|
if($sort){
|
||
|
|
$data['sort'] = $sort;
|
||
|
|
}
|
||
|
|
if($is_top){
|
||
|
|
$data['is_top'] = $is_top;
|
||
|
|
}
|
||
|
|
if($from){
|
||
|
|
$data['from'] = $from;
|
||
|
|
}
|
||
|
|
if($introduced){
|
||
|
|
$data['introduced'] = $introduced;
|
||
|
|
}
|
||
|
|
if($content){
|
||
|
|
$data['content'] = $content;
|
||
|
|
}
|
||
|
|
$result = db::name('vs_underage_mode_content')->where(['id'=>$id])->update($data);
|
||
|
|
if(!$result){
|
||
|
|
return V(0,"修改失败");
|
||
|
|
}
|
||
|
|
return V(1,"成功", ['id'=>$id]);
|
||
|
|
}
|
||
|
|
}
|