119 lines
3.8 KiB
PHP
119 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use app\common\controller\Backend;
|
|
use app\admin\model\SysCaptcha;
|
|
use app\common\library\DatabaseRoute;
|
|
use ba\Random;
|
|
use think\facade\Db;
|
|
|
|
class HelpWord extends Backend
|
|
{
|
|
protected array $noNeedPermission = ['selectHelpClassifyList', 'deleteHelpClassify', 'insertHelpClassify', 'selectHelpWordList'];
|
|
public function selectHelpClassifyList()
|
|
{
|
|
$get = $this->request->get();
|
|
$page = $get['page'] ?? 1;
|
|
$limit = $get['limit'] ?? 10;
|
|
$types = $get['types'] ?? null;
|
|
$helpClassifyName = $get['helpClassifyName'] ?? null;
|
|
$parentId = $get['parentId'] ?? null;
|
|
$db = Db::connect(get_slave_connect_name());
|
|
// 构建查询
|
|
$query = $db->name('help_classify');
|
|
$query = $query->when($types !== null, function ($query) use ($types) {
|
|
return $query->where('types', $types);
|
|
});
|
|
$query = $query->when(!empty($helpClassifyName), function ($query) use ($helpClassifyName) {
|
|
return $query->where('help_classify_name', $helpClassifyName);
|
|
});
|
|
|
|
$query = $query->when($parentId !== null, function ($query) use ($parentId) {
|
|
return $query->where('parent_id', $parentId);
|
|
});
|
|
$count = $query->count();
|
|
$res = $query->order('sort', 'asc')->limit(page($page, $limit), $limit)->select()->toArray();
|
|
$data = [
|
|
'totalCount' => $count,
|
|
'pageSize' => $limit,
|
|
'totalPage' => ceil($count / $limit),
|
|
'currPage' => $page,
|
|
'list' => $res,
|
|
'records' => $res
|
|
];
|
|
$this->n_success(['data' => $data]);
|
|
}
|
|
|
|
// 删除帮助分类
|
|
public function deleteHelpClassify()
|
|
{
|
|
$post = $this->request->param();
|
|
if(empty($post['helpClassifyId'])) {
|
|
$this->error('参数不完整');
|
|
}
|
|
|
|
$db = Db::connect(get_master_connect_name());
|
|
$db->name('help_classify')->where(['help_classify_id' => $post['helpClassifyId']])->delete();
|
|
$this->success();
|
|
|
|
|
|
}
|
|
|
|
// 添加帮助分类
|
|
public function insertHelpClassify()
|
|
{
|
|
$post = $this->request->post();
|
|
$createTime = date('Y-m-d H:i:s');
|
|
if(empty($post['helpClassifyName']) || !isset($post['sort']) || empty($post['state']) || empty($post['types'])) {
|
|
$this->error('参数不完整');
|
|
}
|
|
Db::name('help_classify')->insert([
|
|
'help_classify_id' => Random::generateRandomPrefixedId(),
|
|
'help_classify_name' => $post['helpClassifyName'],
|
|
'sort' => $post['sort'],
|
|
'types' => $post['types'],
|
|
'create_time' => $createTime,
|
|
]);
|
|
$this->success();
|
|
}
|
|
|
|
|
|
public function selectHelpWordList()
|
|
{
|
|
$get = $this->request->get();
|
|
$helpClassifyId = $get['helpClassifyId'] ?? null;
|
|
$helpWordTitle = $get['helpWordTitle'] ?? null;
|
|
$page = $get['page'] ?? null;
|
|
$limit = $get['limit'] ?? null;
|
|
$query = Db::name('help_word');
|
|
// 条件筛选
|
|
if (!is_null($helpClassifyId)) {
|
|
$query->where('help_classify_id', $helpClassifyId);
|
|
}
|
|
if (!empty($helpWordTitle)) {
|
|
$query->where('help_word_title', $helpWordTitle);
|
|
}
|
|
// 排序和分页
|
|
$list = $query->order('sort', 'asc')
|
|
->page($page, $limit)
|
|
->limit(page($page, $limit), $limit)
|
|
->select()
|
|
->toArray();
|
|
// 获取总数(用于分页信息)
|
|
$count = $query->count();
|
|
$this->n_success(['data' => [
|
|
'totalCount' => $count,
|
|
'pageSize' => $get['limit'],
|
|
'totalPage' => ceil($count / $get['limit']),
|
|
'currPage' => $get['page'],
|
|
'list' => $list,
|
|
]]);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} |