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
|
@date:2023/11/14 13:51
|
||||||
@desc:
|
@desc:
|
||||||
"""
|
"""
|
||||||
|
from datetime import datetime
|
||||||
import uuid
|
import uuid
|
||||||
from typing import List, Dict
|
from typing import List, Dict
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
@ -125,7 +126,9 @@ class ChatInfo:
|
|||||||
# 插入数据库
|
# 插入数据库
|
||||||
if not QuerySet(Chat).filter(id=self.chat_id).exists():
|
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],
|
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()
|
chat_record.save()
|
||||||
|
|
||||||
|
|||||||
@ -127,12 +127,12 @@ class ChatSerializers(serializers.Serializer):
|
|||||||
"star_num": models.IntegerField(),
|
"star_num": models.IntegerField(),
|
||||||
'trample_num': models.IntegerField(),
|
'trample_num': models.IntegerField(),
|
||||||
'comparer': models.CharField(),
|
'comparer': models.CharField(),
|
||||||
'application_chat.create_time': models.DateTimeField(),
|
'application_chat.update_time': models.DateTimeField(),
|
||||||
'application_chat.id': models.UUIDField(), }))
|
'application_chat.id': models.UUIDField(), }))
|
||||||
|
|
||||||
base_query_dict = {'application_chat.application_id': self.data.get("application_id"),
|
base_query_dict = {'application_chat.application_id': self.data.get("application_id"),
|
||||||
'application_chat.create_time__gte': start_time,
|
'application_chat.update_time__gte': start_time,
|
||||||
'application_chat.create_time__lte': end_time,
|
'application_chat.update_time__lte': end_time,
|
||||||
}
|
}
|
||||||
if 'abstract' in self.data and self.data.get('abstract') is not None:
|
if 'abstract' in self.data and self.data.get('abstract') is not None:
|
||||||
base_query_dict['application_chat.abstract__icontains'] = self.data.get('abstract')
|
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
|
condition = base_condition & min_trample_query
|
||||||
else:
|
else:
|
||||||
condition = base_condition
|
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):
|
def list(self, with_valid=True):
|
||||||
if with_valid:
|
if with_valid:
|
||||||
|
|||||||
@ -123,9 +123,9 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="mark_sum" label="改进标注" align="right" />
|
<el-table-column prop="mark_sum" label="改进标注" align="right" />
|
||||||
<el-table-column label="时间" width="180">
|
<el-table-column label="最近对话时间" width="180">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ datetimeFormat(row.create_time) }}
|
{{ datetimeFormat(row.update_time) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user