Skip to content

Commit eb24750

Browse files
committed
feat: 对话日志默认使用最后对话时间
--story=1017064 --user=王孝刚 【对话日志】- 列表排序使用最后对话时间 issue #1587 https://www.tapd.cn/57709429/s/1609354
1 parent 51facbc commit eb24750

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from django.db import migrations, connection
2+
3+
batch_update_update_time = """
4+
UPDATE application_chat ac
5+
SET update_time = acr_max.max_update_time
6+
FROM (
7+
SELECT chat_id, MAX(update_time) AS max_update_time
8+
FROM application_chat_record
9+
GROUP BY chat_id
10+
) acr_max
11+
WHERE ac.id = acr_max.chat_id;
12+
"""
13+
14+
15+
class Migration(migrations.Migration):
16+
dependencies = [
17+
('application', '0019_application_file_upload_enable_and_more.py'),
18+
]
19+
20+
operations = [
21+
migrations.RunPython(batch_update_update_time),
22+
]

apps/application/serializers/chat_message_serializers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
@date:2023/11/14 13:51
77
@desc:
88
"""
9+
from datetime import datetime
910
import uuid
1011
from typing import List, Dict
1112
from uuid import UUID
@@ -125,7 +126,9 @@ def append_chat_record(self, chat_record: ChatRecord, client_id=None):
125126
# 插入数据库
126127
if not QuerySet(Chat).filter(id=self.chat_id).exists():
127128
Chat(id=self.chat_id, application_id=self.application.id, abstract=chat_record.problem_text[0:1024],
128-
client_id=client_id).save()
129+
client_id=client_id, update_time=datetime.now()).save()
130+
else:
131+
Chat.objects.filter(id=self.chat_id).update(update_time=datetime.now())
129132
# 插入会话记录
130133
chat_record.save()
131134

apps/application/serializers/chat_serializers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,12 @@ def get_query_set(self, select_ids=None):
127127
"star_num": models.IntegerField(),
128128
'trample_num': models.IntegerField(),
129129
'comparer': models.CharField(),
130-
'application_chat.create_time': models.DateTimeField(),
130+
'application_chat.update_time': models.DateTimeField(),
131131
'application_chat.id': models.UUIDField(), }))
132132

133133
base_query_dict = {'application_chat.application_id': self.data.get("application_id"),
134-
'application_chat.create_time__gte': start_time,
135-
'application_chat.create_time__lte': end_time,
134+
'application_chat.update_time__gte': start_time,
135+
'application_chat.update_time__lte': end_time,
136136
}
137137
if 'abstract' in self.data and self.data.get('abstract') is not None:
138138
base_query_dict['application_chat.abstract__icontains'] = self.data.get('abstract')
@@ -158,7 +158,7 @@ def get_query_set(self, select_ids=None):
158158
condition = base_condition & min_trample_query
159159
else:
160160
condition = base_condition
161-
return query_set.filter(condition).order_by("-application_chat.create_time")
161+
return query_set.filter(condition).order_by("-application_chat.update_time")
162162

163163
def list(self, with_valid=True):
164164
if with_valid:

ui/src/views/log/index.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@
123123
</template>
124124
</el-table-column>
125125
<el-table-column prop="mark_sum" label="改进标注" align="right" />
126-
<el-table-column label="时间" width="180">
126+
<el-table-column label="最近对话时间" width="180">
127127
<template #default="{ row }">
128-
{{ datetimeFormat(row.create_time) }}
128+
{{ datetimeFormat(row.update_time) }}
129129
</template>
130130
</el-table-column>
131131

0 commit comments

Comments
 (0)