mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: 对话日志默认使用最后对话时间
--story=1017064 --user=王孝刚 【对话日志】- 列表排序使用最后对话时间 issue #1587 https://www.tapd.cn/57709429/s/1609354
This commit is contained in:
parent
51facbc46d
commit
eb24750028
|
|
@ -0,0 +1,22 @@
|
|||
from django.db import migrations, connection
|
||||
|
||||
batch_update_update_time = """
|
||||
UPDATE application_chat ac
|
||||
SET update_time = acr_max.max_update_time
|
||||
FROM (
|
||||
SELECT chat_id, MAX(update_time) AS max_update_time
|
||||
FROM application_chat_record
|
||||
GROUP BY chat_id
|
||||
) acr_max
|
||||
WHERE ac.id = acr_max.chat_id;
|
||||
"""
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
('application', '0019_application_file_upload_enable_and_more.py'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(batch_update_update_time),
|
||||
]
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
@date:2023/11/14 13:51
|
||||
@desc:
|
||||
"""
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
from typing import List, Dict
|
||||
from uuid import UUID
|
||||
|
|
@ -125,7 +126,9 @@ class ChatInfo:
|
|||
# 插入数据库
|
||||
if not QuerySet(Chat).filter(id=self.chat_id).exists():
|
||||
Chat(id=self.chat_id, application_id=self.application.id, abstract=chat_record.problem_text[0:1024],
|
||||
client_id=client_id).save()
|
||||
client_id=client_id, update_time=datetime.now()).save()
|
||||
else:
|
||||
Chat.objects.filter(id=self.chat_id).update(update_time=datetime.now())
|
||||
# 插入会话记录
|
||||
chat_record.save()
|
||||
|
||||
|
|
|
|||
|
|
@ -127,12 +127,12 @@ class ChatSerializers(serializers.Serializer):
|
|||
"star_num": models.IntegerField(),
|
||||
'trample_num': models.IntegerField(),
|
||||
'comparer': models.CharField(),
|
||||
'application_chat.create_time': models.DateTimeField(),
|
||||
'application_chat.update_time': models.DateTimeField(),
|
||||
'application_chat.id': models.UUIDField(), }))
|
||||
|
||||
base_query_dict = {'application_chat.application_id': self.data.get("application_id"),
|
||||
'application_chat.create_time__gte': start_time,
|
||||
'application_chat.create_time__lte': end_time,
|
||||
'application_chat.update_time__gte': start_time,
|
||||
'application_chat.update_time__lte': end_time,
|
||||
}
|
||||
if 'abstract' in self.data and self.data.get('abstract') is not None:
|
||||
base_query_dict['application_chat.abstract__icontains'] = self.data.get('abstract')
|
||||
|
|
@ -158,7 +158,7 @@ class ChatSerializers(serializers.Serializer):
|
|||
condition = base_condition & min_trample_query
|
||||
else:
|
||||
condition = base_condition
|
||||
return query_set.filter(condition).order_by("-application_chat.create_time")
|
||||
return query_set.filter(condition).order_by("-application_chat.update_time")
|
||||
|
||||
def list(self, with_valid=True):
|
||||
if with_valid:
|
||||
|
|
|
|||
|
|
@ -123,9 +123,9 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="mark_sum" label="改进标注" align="right" />
|
||||
<el-table-column label="时间" width="180">
|
||||
<el-table-column label="最近对话时间" width="180">
|
||||
<template #default="{ row }">
|
||||
{{ datetimeFormat(row.create_time) }}
|
||||
{{ datetimeFormat(row.update_time) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue