fix: The document list status filtering is incorrect. (#1822)
Some checks failed
sync2gitee / repo-sync (push) Has been cancelled

(cherry picked from commit 36f1a3ba64)
This commit is contained in:
shaohuzhang1 2024-12-11 20:07:27 +08:00 committed by shaohuzhang1
parent 5c6e1ada42
commit 16ecccbd31
2 changed files with 8 additions and 7 deletions

View File

@ -143,20 +143,21 @@ class DocumentWebInstanceSerializer(ApiMixin, serializers.Serializer):
required=True, required=True,
description='知识库id'), description='知识库id'),
] ]
@staticmethod @staticmethod
def get_request_body_api(): def get_request_body_api():
return openapi.Schema( return openapi.Schema(
type=openapi.TYPE_OBJECT, type=openapi.TYPE_OBJECT,
required=['source_url_list'], required=['source_url_list'],
properties={ properties={
'source_url_list': openapi.Schema(type=openapi.TYPE_ARRAY, title="文档地址列表", description="文档地址列表", 'source_url_list': openapi.Schema(type=openapi.TYPE_ARRAY, title="文档地址列表",
description="文档地址列表",
items=openapi.Schema(type=openapi.TYPE_STRING)), items=openapi.Schema(type=openapi.TYPE_STRING)),
'selector': openapi.Schema(type=openapi.TYPE_STRING, title="选择器", description="选择器") 'selector': openapi.Schema(type=openapi.TYPE_STRING, title="选择器", description="选择器")
} }
) )
class DocumentInstanceSerializer(ApiMixin, serializers.Serializer): class DocumentInstanceSerializer(ApiMixin, serializers.Serializer):
name = serializers.CharField(required=True, name = serializers.CharField(required=True,
error_messages=ErrMessage.char("文档名称"), error_messages=ErrMessage.char("文档名称"),
@ -396,8 +397,8 @@ class DocumentSerializers(ApiMixin, serializers.Serializer):
query_set = query_set.annotate( query_set = query_set.annotate(
reversed_status=Reverse('status'), reversed_status=Reverse('status'),
task_type_status=Substr('reversed_status', TaskType(task_type).value, task_type_status=Substr('reversed_status', TaskType(task_type).value,
TaskType(task_type).value), 1),
).filter(task_type_status__in=[State(status).value]).values('id') ).filter(task_type_status=State(status).value).values('id')
else: else:
if status != State.SUCCESS.value: if status != State.SUCCESS.value:
query_set = query_set.filter(status__icontains=status) query_set = query_set.filter(status__icontains=status)
@ -674,7 +675,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer):
ListenerManagement.update_status(QuerySet(Paragraph).annotate( ListenerManagement.update_status(QuerySet(Paragraph).annotate(
reversed_status=Reverse('status'), reversed_status=Reverse('status'),
task_type_status=Substr('reversed_status', TaskType(instance.get('type')).value, task_type_status=Substr('reversed_status', TaskType(instance.get('type')).value,
TaskType(instance.get('type')).value), 1),
).filter(task_type_status__in=[State.PENDING.value, State.STARTED.value]).filter( ).filter(task_type_status__in=[State.PENDING.value, State.STARTED.value]).filter(
document_id=document_id).values('id'), document_id=document_id).values('id'),
TaskType(instance.get('type')), TaskType(instance.get('type')),
@ -682,7 +683,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer):
ListenerManagement.update_status(QuerySet(Document).annotate( ListenerManagement.update_status(QuerySet(Document).annotate(
reversed_status=Reverse('status'), reversed_status=Reverse('status'),
task_type_status=Substr('reversed_status', TaskType(instance.get('type')).value, task_type_status=Substr('reversed_status', TaskType(instance.get('type')).value,
TaskType(instance.get('type')).value), 1),
).filter(task_type_status__in=[State.PENDING.value, State.STARTED.value]).filter( ).filter(task_type_status__in=[State.PENDING.value, State.STARTED.value]).filter(
id=document_id).values('id'), id=document_id).values('id'),
TaskType(instance.get('type')), TaskType(instance.get('type')),

View File

@ -136,7 +136,7 @@
" "
class="justify-center" class="justify-center"
:command="beforeCommand('status', State.STARTED, TaskType.GENERATE_PROBLEM)" :command="beforeCommand('status', State.STARTED, TaskType.GENERATE_PROBLEM)"
>生成问题</el-dropdown-item >生成</el-dropdown-item
> >
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>