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)
{
$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 = \think\facade\Db::name('Admin')->where(['id' => $id])->find();
$admin['group_id'] = \think\facade\Db::name('AdminGroupAccess')->where(['uid' => $id])->column('group_id');
return $admin;
}
//读取后台菜单列表
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;
}
//读取权限节点列表
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;
}
//读取权限分组列表
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;
}
//读取指定权限分组详情
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['menus'] = explode(',', $group['menus']);
return $group;
@ -146,14 +146,14 @@ function get_admin_menus()
if (get_cache('menu' . get_login_admin('id'))) {
$list = get_cache('menu' . get_login_admin('id'));
} else {
$adminGroup = \think\facade\Db::name('admin_group_access')->where(['uid' => get_login_admin('id')])->column('group_id');
$adminMenu = \think\facade\Db::name('admin_group')->where('id', 'in', $adminGroup)->column('menus');
$adminGroup = \think\facade\Db::name('AdminGroupAccess')->where(['uid' => get_login_admin('id')])->column('group_id');
$adminMenu = \think\facade\Db::name('AdminGroup')->where('id', 'in', $adminGroup)->column('menus');
$adminMenus = [];
foreach ($adminMenu as $k => $v) {
$v = explode(',', $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);
\think\facade\Cache::tag('adminMenu')->set('menu' . get_login_admin('id'), $list);
}
@ -170,24 +170,25 @@ function get_nav($nav_id)
//读取关键字列表
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;
}
//读取话题列表
function get_topics()
//读取网址分类列表
function get_websit_cate()
{
$topics = \think\facade\Db::name('topics')->where(['status' => 1])->order('create_time asc')->select();
return $topics;
$cate = \think\facade\Db::name('WebsiteCate')->where(['status' => 1])->order('create_time asc')->select();
return $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;
}
/**
* 管理员操作日志
* @param string $type 操作类型 login add edit view delete
@ -224,7 +225,7 @@ function add_log($type, $param_id = '', $param = [])
break;
}
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 {
$session_admin = get_config('app.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();
$parameter = $data['module'] . '/' .$data['controller'] . '/' . $data['function'];
$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'] . '操作';
$data['content'] = $content;
$data['ip'] = app('request')->ip();
$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);
$aid = $param['id'];
if ($res) {
Db::name('ArticleKeywords')->where(['aid'=>$aid])->delete();
//关联角色
if (isset($param['keyword_names']) && $param['keyword_names']) {
Db::name('ArticleKeywords')->where(['aid'=>$aid])->delete();
$keywordArray = explode(',', $param['keyword_names']);
foreach ($keywordArray as $key => $value) {
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);
}
$res_keyword = (new ArticleList())->insertKeyword($keywordArray,$aid);
}
add_log('edit', $param['id'], $param);
Db::commit();
$DbRes=true;
else{
$res_keyword == true;
}
if($res_keyword!== false){
add_log('edit', $param['id'], $param);
Db::commit();
$DbRes=true;
}
} else {
Db::rollback();
}
@ -187,23 +183,20 @@ class Article extends BaseController
}
$aid = ArticleList::strict(false)->field(true)->insertGetId($param);
if ($aid) {
if (isset($param['keyword_names']) && $param['keyword_names']) {
$keywordArray = explode(',', $param['keyword_names']);
foreach ($keywordArray as $key => $value) {
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);
}
//关联角色
if (isset($param['keyword_names']) && $param['keyword_names']) {
Db::name('ArticleKeywords')->where(['aid'=>$aid])->delete();
$keywordArray = explode(',', $param['keyword_names']);
$res_keyword = (new ArticleList())->insertKeyword($keywordArray,$aid);
}
else{
$res_keyword == true;
}
if($res_keyword!== false){
add_log('add', $aid, $param);
Db::commit();
$DbRes=true;
}
add_log('add', $aid, $param);
Db::commit();
$DbRes=true;
} else {
Db::rollback();
}

View File

@ -1,6 +1,7 @@
<?php
namespace app\admin\model;
use think\Model;
use app\admin\model\Keywords;
class Article extends Model
{
// 获取文章详情
@ -22,4 +23,22 @@ class Article extends Model
$article['keyword_names'] = implode(',', array_column($keywrod_array, 'title'));
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)
{
Cache::delete($key);
Cache::clear($key);
}