帮助中心、知识库、题库与搜索
本文整理 DGJ2.0 帮助中心、问答、题库、知识库、ES 搜索和七鱼机器人知识库同步。它不是进销存主链路,但影响服务站自助查询、客服支持和机器人知识能力。
业务目标
- 服务站用户可以提问、查看常见问题、搜索帮助内容。
- OPS/后台可以审核问题、回答问题、维护题库。
- 题库支持 Excel 导入和错误文件。
- 知识库支持分类、列表、详情、收藏。
- 帮助内容可进入 ES,用于关键字搜索。
- 部分知识可同步到七鱼机器人知识库。
入口文件
- 老帮助中心:
application/controllers/help/Dgj.php - 新问题:
application/controllers/newhelp/Question.php - 新回答:
application/controllers/newhelp/Answer.php - 题库:
application/controllers/newhelp/QuestionLib.php - 知识库:
application/controllers/knowledge/Knowledge.php - QA:
application/controllers/qa/Qa.php - Help Service:
application/Services/Help/* - Knowledge Service:
application/Services/Knowledge/* - QA Service:
application/Services/Qa/QaSer.php
核心表
| 表 | 用途 | | --- | --- | | t_help_question | 用户提问 | | t_help_answer | 回答 | | t_help_question_lib | 题库 | | t_knowledge | 知识库内容 | | t_knowledge_category | 知识分类 | | t_knowledge_collect | 收藏 |
核心状态
HelpBaseService.php 定义了问题和回答状态:
- 问题:
Q_DJD待解答,Q_DSH待审核,Q_YSH已审核,Q_YJD已解答。 - 回答:
A_DSH待审核,A_YCN已采纳,A_WCN未采纳。
题库和问答的可写字段也在 HelpBaseService:问题、附件、模块、关键字、回答、是否有图/视频等。
核心方法
帮助中心:
Dgj::commonProblem:常见问题。Dgj::productKnowledge:产品知识。Dgj::ask:提问。Dgj::search:搜索。Dgj::questionDetail:问题详情。Dgj::myQuestion/myAnswer:我的提问/回答。
新帮助:
Question::allList/myList/info/create/update/delete。Answer::allList/myList/create/update/remark/check。QuestionLib::search/faq/create/update/status/transform/import。
搜索和导入:
HelpCacheEsSer::search:ES 搜索。HelpCacheEsSer::createIndex:创建索引。ExcelService::upload:上传 Excel。ExcelService::createError:生成错误文件。ExcelService::downloadTemplate:下载模板。
知识库:
KnowledgeSer::getCategoryTree:分类树。KnowledgeSer::getKnowledgeList:列表。KnowledgeSer::getKnowledgeInfo:详情。KnowledgeSer::collectKnowledge:收藏。QiYuRobotKnowledgeSer:七鱼机器人知识库查询。
主流程
flowchart TD
A["用户提问/搜索"] --> B["按模块和关键字查询"]
B --> C["命中题库/知识库/ES"]
A --> D["提交新问题"]
D --> E["后台回答"]
E --> F["审核/采纳"]
F --> G["沉淀为题库或知识库"]
G --> H["刷新 ES 或同步机器人知识库"]
异常流程
- 搜不到问题:查 ES 索引、题库状态、模块筛选。
- 题库导入失败:查模板表头、错误文件、必填字段。
- 回答无法采纳:查问题状态、回答状态、当前用户权限。
- 知识库不显示:查分类、发布状态、收藏/权限范围。
- 七鱼知识库不同步:查
QiYuRobotKnowledgeSer和外部同步日志。
常用 rg 命令
rg -n "QUESTION_STATUS|ANSWER_STATUS|QUESTION_LIB|HelpBaseService" application/Services/Help
rg -n "HelpCacheEsSer|createIndex|searchQuestionIds|operationBatchCreate" application/Services/Help
rg -n "QuestionLib|import\\(|ExcelService|createError|downloadTemplate" application/controllers/newhelp application/Services/Help
rg -n "KnowledgeSer|QiYuRobotKnowledgeSer|KNOWLEDGE" application/controllers/knowledge application/Services/Knowledge application/config/tables.php
改动风险和回归清单
- 问答:提问、回答、审核、采纳、删除。
- 题库:新增、导入、启停、转问答、模板和错误文件。
- 搜索:关键字、模块、ES 索引刷新。
- 知识库:分类树、列表、详情、收藏。
- 外部同步:七鱼机器人知识库同步失败和重试。