## GitHub 同步说明 | 项 | 内容 | |:---|:---| | 仓库 | https://github.com/fnvtk/cunkebao_v3 | | 分支 | develop | | 方向 | 本地 → GitHub(单向 push) | | 是否拉取远程 | 否(未 fetch / pull / merge) | | 是否改本地源文件 | 否(仅 git add/commit,未编辑业务/文档正文) | | 远程基准 | origin/develop @b5b40e8b| | 本批工作区变更 | 999 files, +47622 / -4007 lines | ## 一并推送的本地已有 commit(此前未 push) 1.3aa7ecf8deploy: 官网 ckb.quwanzhi.com 宝塔上线 DNS+SSL+验收文档 2.16a70045fix(官网): 桌面导航仅保留一个留资 CTA 并重新上线 3.dbe7b7aafix(官网): Hero 改为主 CTA 按钮并去掉重复 1200+ 数据条 4.ac82726echore(部署): 五端上线验收46项并统一留资与缓存版本 ## 本 commit 目录统计 | 目录 | 文件数 | 说明 | |:---|---:|:---| | 开发文档/ | 639 | 10、项目管理、未完成项跨仓汇总、五端需求/部署/接口 | | Server/ | 129 | 后端 API、迁移、部署相关 | | Touchkebao/ | 80 | PC 工作台、获客、算力 | | 官网/ | 61 | ckb.quwanzhi.com 静态站与 CTA 迭代 | | Cunkebao/ | 49 | 移动端场景/设置/流量池 | | SuperAdmin/ | 26 | 超管后台 | | .cursor/ | 11 | 规则与 Skill | | 其他 | 14 | docker-compose、.obsidian、.codegraph 等 | ## 重点文件(本地为准) - 开发文档/1、需求/修改/未完成项与跨仓验收汇总.md - 开发文档/10、项目管理/账号密码与登录环境一览.md - 开发文档/10、项目管理/(新建项目管理目录与截图) - 官网/ 全站 + 宝塔上线文档 - 五端上线验收 46 项(见 ac82726e) ## 刻意未上传 - node_modules/、.DS_Store、.smart-env/ - .开发文档_nested_git_backup/ - **/__pycache__/ ## 验收 - 提交页(含本说明): https://github.com/fnvtk/cunkebao_v3/commit/HEAD - 分支树: https://github.com/fnvtk/cunkebao_v3/tree/develop Co-authored-by: Cursor <cursoragent@cursor.com>
62 lines
1.9 KiB
PHP
62 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app\command;
|
|
|
|
use app\cunkebao\service\ExpertKnowledgeSeedService;
|
|
use think\console\Command;
|
|
use think\console\Input;
|
|
use think\console\Output;
|
|
use think\console\input\Option;
|
|
use think\Db;
|
|
|
|
/**
|
|
* php think knowledge:seed-experts [--companyId=2778] [--all]
|
|
*/
|
|
class ExpertKnowledgeSeedCommand extends Command
|
|
{
|
|
protected function configure()
|
|
{
|
|
$this->setName('knowledge:seed-experts')
|
|
->setDescription('为三专家初始化默认知识库(营销/产品/用户)')
|
|
->addOption('companyId', null, Option::VALUE_OPTIONAL, '公司 ID', 0)
|
|
->addOption('all', null, Option::VALUE_NONE, '为全部公司补建');
|
|
}
|
|
|
|
protected function execute(Input $input, Output $output)
|
|
{
|
|
$companyId = max(0, (int)$input->getOption('companyId'));
|
|
$all = (bool)$input->getOption('all');
|
|
|
|
$ids = [];
|
|
if ($all) {
|
|
$ids = Db::name('users')->where('companyId', '>', 0)->group('companyId')->column('companyId');
|
|
} elseif ($companyId > 0) {
|
|
$ids = [$companyId];
|
|
} else {
|
|
$output->writeln('<error>请指定 --companyId 或 --all</error>');
|
|
return 1;
|
|
}
|
|
|
|
$totalCreated = 0;
|
|
foreach ($ids as $cid) {
|
|
$cid = (int)$cid;
|
|
if ($cid <= 0) {
|
|
continue;
|
|
}
|
|
$stats = ExpertKnowledgeSeedService::seedForCompany($cid);
|
|
$totalCreated += (int)$stats['created'];
|
|
$output->writeln(sprintf(
|
|
'<info>companyId=%d created=%d existing=%d enabled=%d kbIds=%s</info>',
|
|
$cid,
|
|
$stats['created'],
|
|
$stats['existing'],
|
|
$stats['enabled'],
|
|
json_encode($stats['kbIds'], JSON_UNESCAPED_UNICODE)
|
|
));
|
|
}
|
|
|
|
$output->writeln("<info>done companies=" . count($ids) . " totalCreated={$totalCreated}</info>");
|
|
return 0;
|
|
}
|
|
}
|