This commit is contained in:
hdm 2021-07-09 09:47:24 +08:00
parent 5ed3964b65
commit bfc05379ab
4 changed files with 63 additions and 50 deletions

View File

@ -104,36 +104,36 @@ function set_recursion($result, $pid = 0, $format = "L ")
//获取指定管理员的信息 //获取指定管理员的信息
function get_admin($id) function get_admin($id)
{ {
$admin = \think\facade\Db::name('admin')->where(['id' => $id])->find(); $admin = \think\facade\Db::name('Admin')->where(['id' => $id])->find();
$admin['group_id'] = \think\facade\Db::name('admin_group_access')->where(['uid' => $id])->column('group_id'); $admin['group_id'] = \think\facade\Db::name('AdminGroupAccess')->where(['uid' => $id])->column('group_id');
return $admin; return $admin;
} }
//读取后台菜单列表 //读取后台菜单列表
function get_admin_menu() function get_admin_menu()
{ {
$menu = \think\facade\Db::name('admin_menu')->order('sort asc')->select()->toArray(); $menu = \think\facade\Db::name('AdminMenu')->order('sort asc')->select()->toArray();
return $menu; return $menu;
} }
//读取权限节点列表 //读取权限节点列表
function get_admin_rule() function get_admin_rule()
{ {
$rule = \think\facade\Db::name('admin_rule')->order('create_time asc')->select()->toArray(); $rule = \think\facade\Db::name('AdminRule')->order('create_time asc')->select()->toArray();
return $rule; return $rule;
} }
//读取权限分组列表 //读取权限分组列表
function get_admin_group() function get_admin_group()
{ {
$group = \think\facade\Db::name('admin_group')->order('create_time asc')->select()->toArray(); $group = \think\facade\Db::name('AdminGroup')->order('create_time asc')->select()->toArray();
return $group; return $group;
} }
//读取指定权限分组详情 //读取指定权限分组详情
function get_admin_group_info($id) function get_admin_group_info($id)
{ {
$group = \think\facade\Db::name('admin_group')->where(['id' => $id])->find(); $group = \think\facade\Db::name('AdminGroup')->where(['id' => $id])->find();
$group['rules'] = explode(',', $group['rules']); $group['rules'] = explode(',', $group['rules']);
$group['menus'] = explode(',', $group['menus']); $group['menus'] = explode(',', $group['menus']);
return $group; return $group;
@ -146,14 +146,14 @@ function get_admin_menus()
if (get_cache('menu' . get_login_admin('id'))) { if (get_cache('menu' . get_login_admin('id'))) {
$list = get_cache('menu' . get_login_admin('id')); $list = get_cache('menu' . get_login_admin('id'));
} else { } else {
$adminGroup = \think\facade\Db::name('admin_group_access')->where(['uid' => get_login_admin('id')])->column('group_id'); $adminGroup = \think\facade\Db::name('AdminGroupAccess')->where(['uid' => get_login_admin('id')])->column('group_id');
$adminMenu = \think\facade\Db::name('admin_group')->where('id', 'in', $adminGroup)->column('menus'); $adminMenu = \think\facade\Db::name('AdminGroup')->where('id', 'in', $adminGroup)->column('menus');
$adminMenus = []; $adminMenus = [];
foreach ($adminMenu as $k => $v) { foreach ($adminMenu as $k => $v) {
$v = explode(',', $v); $v = explode(',', $v);
$adminMenus = array_merge($adminMenus, $v); $adminMenus = array_merge($adminMenus, $v);
} }
$menu = \think\facade\Db::name('admin_menu')->where('id', 'in', $adminMenus)->order('sort asc')->select()->toArray(); $menu = \think\facade\Db::name('AdminMenu')->where('id', 'in', $adminMenus)->order('sort asc')->select()->toArray();
$list = list_to_tree($menu); $list = list_to_tree($menu);
\think\facade\Cache::tag('adminMenu')->set('menu' . get_login_admin('id'), $list); \think\facade\Cache::tag('adminMenu')->set('menu' . get_login_admin('id'), $list);
} }
@ -170,24 +170,25 @@ function get_nav($nav_id)
//读取关键字列表 //读取关键字列表
function get_keywords() function get_keywords()
{ {
$keywords = \think\facade\Db::name('keywords')->where(['status' => 1])->order('create_time asc')->select(); $keywords = \think\facade\Db::name('Keywords')->where(['status' => 1])->order('create_time asc')->select();
return $keywords; return $keywords;
} }
//读取话题列表 //读取网址分类列表
function get_topics() function get_websit_cate()
{ {
$topics = \think\facade\Db::name('topics')->where(['status' => 1])->order('create_time asc')->select(); $cate = \think\facade\Db::name('WebsiteCate')->where(['status' => 1])->order('create_time asc')->select();
return $topics; return $cate;
} }
//读取文章分类列表 //读取文章分类列表
function get_article_cate() function get_article_cate()
{ {
$cate = \think\facade\Db::name('article_cate')->order('create_time asc')->select()->toArray(); $cate = \think\facade\Db::name('ArticleCate')->order('create_time asc')->select()->toArray();
return $cate; return $cate;
} }
/** /**
* 管理员操作日志 * 管理员操作日志
* @param string $type 操作类型 login add edit view delete * @param string $type 操作类型 login add edit view delete
@ -224,7 +225,7 @@ function add_log($type, $param_id = '', $param = [])
break; break;
} }
if ($type == 'login') { if ($type == 'login') {
$login_admin = \think\facade\Db::name('admin')->where(array('id' => $param_id))->find(); $login_admin = \think\facade\Db::name('Admin')->where(array('id' => $param_id))->find();
} else { } else {
$session_admin = get_config('app.session_admin'); $session_admin = get_config('app.session_admin');
$login_admin = \think\facade\Session::get($session_admin); $login_admin = \think\facade\Session::get($session_admin);
@ -240,10 +241,10 @@ function add_log($type, $param_id = '', $param = [])
$data['function'] = app('request')->action(); $data['function'] = app('request')->action();
$parameter = $data['module'] . '/' .$data['controller'] . '/' . $data['function']; $parameter = $data['module'] . '/' .$data['controller'] . '/' . $data['function'];
$data['rule_menu'] = $parameter; $data['rule_menu'] = $parameter;
$data['title'] = \think\facade\Db::name('admin_rule')->where(array('src' => $parameter))->value('title') ?? $title; $data['title'] = \think\facade\Db::name('AdminRule')->where(array('src' => $parameter))->value('title') ?? $title;
$content = $login_admin['nickname'] . '在' . date('Y-m-d H:i:s') . '执行了' . $data['title'] . '操作'; $content = $login_admin['nickname'] . '在' . date('Y-m-d H:i:s') . '执行了' . $data['title'] . '操作';
$data['content'] = $content; $data['content'] = $content;
$data['ip'] = app('request')->ip(); $data['ip'] = app('request')->ip();
$data['create_time'] = time(); $data['create_time'] = time();
\think\facade\Db::name('admin_log')->strict(false)->field(true)->insert($data); \think\facade\Db::name('AdminLog')->strict(false)->field(true)->insert($data);
} }

View File

@ -147,24 +147,20 @@ class Article extends BaseController
$res = ArticleList::strict(false)->field(true)->update($param); $res = ArticleList::strict(false)->field(true)->update($param);
$aid = $param['id']; $aid = $param['id'];
if ($res) { if ($res) {
Db::name('ArticleKeywords')->where(['aid'=>$aid])->delete(); //关联角色
if (isset($param['keyword_names']) && $param['keyword_names']) { if (isset($param['keyword_names']) && $param['keyword_names']) {
Db::name('ArticleKeywords')->where(['aid'=>$aid])->delete();
$keywordArray = explode(',', $param['keyword_names']); $keywordArray = explode(',', $param['keyword_names']);
foreach ($keywordArray as $key => $value) { $res_keyword = (new ArticleList())->insertKeyword($keywordArray,$aid);
if (!$value) {
continue;
}
$data = [];
$data['aid'] = $aid;
$keywords_id = (new Keywords())->increase($value);
$data['keywords_id'] = $keywords_id;
$data['create_time'] = time();
Db::name('ArticleKeywords')->strict(false)->field(true)->insertGetId($data);
} }
else{
$res_keyword == true;
} }
if($res_keyword!== false){
add_log('edit', $param['id'], $param); add_log('edit', $param['id'], $param);
Db::commit(); Db::commit();
$DbRes=true; $DbRes=true;
}
} else { } else {
Db::rollback(); Db::rollback();
} }
@ -187,23 +183,20 @@ class Article extends BaseController
} }
$aid = ArticleList::strict(false)->field(true)->insertGetId($param); $aid = ArticleList::strict(false)->field(true)->insertGetId($param);
if ($aid) { if ($aid) {
//关联角色
if (isset($param['keyword_names']) && $param['keyword_names']) { if (isset($param['keyword_names']) && $param['keyword_names']) {
Db::name('ArticleKeywords')->where(['aid'=>$aid])->delete();
$keywordArray = explode(',', $param['keyword_names']); $keywordArray = explode(',', $param['keyword_names']);
foreach ($keywordArray as $key => $value) { $res_keyword = (new ArticleList())->insertKeyword($keywordArray,$aid);
if (!$value) {
continue;
}
$data = [];
$data['aid'] = $aid;
$keywords_id = (new Keywords())->increase($value);
$data['keywords_id'] = $keywords_id;
$data['create_time'] = time();
Db::name('ArticleKeywords')->strict(false)->field(true)->insertGetId($data);
} }
else{
$res_keyword == true;
} }
if($res_keyword!== false){
add_log('add', $aid, $param); add_log('add', $aid, $param);
Db::commit(); Db::commit();
$DbRes=true; $DbRes=true;
}
} else { } else {
Db::rollback(); Db::rollback();
} }

View File

@ -1,6 +1,7 @@
<?php <?php
namespace app\admin\model; namespace app\admin\model;
use think\Model; use think\Model;
use app\admin\model\Keywords;
class Article extends Model class Article extends Model
{ {
// 获取文章详情 // 获取文章详情
@ -22,4 +23,22 @@ class Article extends Model
$article['keyword_names'] = implode(',', array_column($keywrod_array, 'title')); $article['keyword_names'] = implode(',', array_column($keywrod_array, 'title'));
return $article; return $article;
} }
//插入关键字
public function insertKeyword($keywordArray=[],$aid){
$insert = [];
$time = time();
foreach ($keywordArray as $key => $value) {
if (!$value) {
continue;
}
$keywords_id = (new Keywords())->increase($value);
$insert[] = ['aid' => $aid ,
'keywords_id' => $keywords_id,
'create_time' => $time
];
}
$res = \think\facade\Db::name('ArticleKeywords')->strict(false)->field(true)->insertAll($insert);
return $res;
}
} }

View File

@ -20,7 +20,7 @@ function get_cache($key)
//清空缓存 //清空缓存
function clear_cache($key) function clear_cache($key)
{ {
Cache::delete($key); Cache::clear($key);
} }