|
|
@@ -23,7 +23,7 @@ class KnowledgeExplanationService
|
|
|
// 对齐 paper_id 的数字段生成规则(PaperIdGenerator),并增加唯一性兜底
|
|
|
for ($i = 0; $i < 5; $i++) {
|
|
|
$numericId = PaperIdGenerator::generate();
|
|
|
- $knowledgeId = 'knowledge_' . $numericId;
|
|
|
+ $knowledgeId = 'paper_' . $numericId;
|
|
|
if (! $this->validateKnowledgeId($knowledgeId)) {
|
|
|
continue;
|
|
|
}
|
|
|
@@ -42,7 +42,7 @@ class KnowledgeExplanationService
|
|
|
{
|
|
|
$knowledgeId = (string) ($payload['knowledge_id'] ?? $this->generateKnowledgeId());
|
|
|
if (! $this->validateKnowledgeId($knowledgeId)) {
|
|
|
- throw new \InvalidArgumentException('knowledge_id 格式非法,必须为 knowledge_ + 15位数字');
|
|
|
+ throw new \InvalidArgumentException('knowledge_id 格式非法,必须为 paper_ + 15位数字(兼容 knowledge_ 前缀)');
|
|
|
}
|
|
|
$studentId = (string) ($payload['student_id'] ?? '');
|
|
|
$teacherId = (string) ($payload['teacher_id'] ?? '');
|
|
|
@@ -120,7 +120,7 @@ class KnowledgeExplanationService
|
|
|
{
|
|
|
$knowledgeId = (string) ($payload['knowledge_id'] ?? $this->generateKnowledgeId());
|
|
|
if (! $this->validateKnowledgeId($knowledgeId)) {
|
|
|
- throw new \InvalidArgumentException('knowledge_id 格式非法,必须为 knowledge_ + 15位数字');
|
|
|
+ throw new \InvalidArgumentException('knowledge_id 格式非法,必须为 paper_ + 15位数字(兼容 knowledge_ 前缀)');
|
|
|
}
|
|
|
|
|
|
$studentId = (string) ($payload['student_id'] ?? '');
|
|
|
@@ -222,7 +222,7 @@ class KnowledgeExplanationService
|
|
|
|
|
|
private function validateKnowledgeId(string $knowledgeId): bool
|
|
|
{
|
|
|
- if (! preg_match('/^knowledge_([1-9]\d{14})$/', $knowledgeId, $matches)) {
|
|
|
+ if (! preg_match('/^(?:paper_|knowledge_)([1-9]\d{14})$/', $knowledgeId, $matches)) {
|
|
|
return false;
|
|
|
}
|
|
|
|