40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace app\adminapi\lists\ai;
|
|
|
|
use app\adminapi\lists\BaseAdminDataLists;
|
|
use app\common\lists\ListsSearchInterface;
|
|
use app\common\model\ai\AiKbDocument;
|
|
|
|
class KbDocumentLists extends BaseAdminDataLists implements ListsSearchInterface
|
|
{
|
|
public function setSearch(): array
|
|
{
|
|
return [
|
|
'=' => ['domain', 'subtype', 'is_active'],
|
|
'%like%' => ['title', 'keywords'],
|
|
];
|
|
}
|
|
|
|
public function lists(): array
|
|
{
|
|
$lists = AiKbDocument::where($this->searchWhere)
|
|
->limit($this->limitOffset, $this->limitLength)
|
|
->order('id', 'desc')
|
|
->select()
|
|
->toArray();
|
|
|
|
foreach ($lists as &$item) {
|
|
$item['source_updated_at_text'] = !empty($item['source_updated_at']) ? date('Y-m-d H:i:s', (int) $item['source_updated_at']) : '-';
|
|
$item['update_time_text'] = !empty($item['update_time']) ? date('Y-m-d H:i:s', (int) $item['update_time']) : '-';
|
|
}
|
|
|
|
return $lists;
|
|
}
|
|
|
|
public function count(): int
|
|
{
|
|
return AiKbDocument::where($this->searchWhere)->count();
|
|
}
|
|
}
|