Skip to content

Commit 218a247

Browse files
authored
fix: Dialogue log export, question time does not match on the page (#2396)
1 parent 5da758e commit 218a247

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

apps/application/serializers/chat_serializers.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from functools import reduce
1414
from io import BytesIO
1515
from typing import Dict
16-
16+
import pytz
1717
import openpyxl
1818
from django.core import validators
1919
from django.core.cache import caches
@@ -46,6 +46,7 @@
4646
from setting.models import Model
4747
from setting.models_provider import get_model_credential
4848
from smartdoc.conf import PROJECT_DIR
49+
from smartdoc.settings import TIME_ZONE
4950

5051
chat_cache = caches['chat_cache']
5152

@@ -208,7 +209,6 @@ def to_row(row: Dict):
208209
[])) for
209210
key, node in search_dataset_node_list])
210211
improve_paragraph_list = row.get('improve_paragraph_list')
211-
212212
vote_status_map = {'-1': '未投票', '0': '赞同', '1': '反对'}
213213
return [str(row.get('chat_id')), row.get('abstract'), row.get('problem_text'), padding_problem_text,
214214
row.get('answer_text'), vote_status_map.get(row.get('vote_status')), reference_paragraph_len,
@@ -217,7 +217,7 @@ def to_row(row: Dict):
217217
f"{improve_paragraph_list[index].get('title')}\n{improve_paragraph_list[index].get('content')}"
218218
for index in range(len(improve_paragraph_list))]),
219219
row.get('message_tokens') + row.get('answer_tokens'), row.get('run_time'),
220-
str(row.get('create_time').strftime('%Y-%m-%d %H:%M:%S')
220+
str(row.get('create_time').astimezone(pytz.timezone(TIME_ZONE)).strftime('%Y-%m-%d %H:%M:%S')
221221
)]
222222

223223
def export(self, data, with_valid=True):
@@ -256,6 +256,10 @@ def stream_response():
256256
cell = worksheet.cell(row=row_idx, column=col_idx)
257257
if isinstance(value, str):
258258
value = re.sub(ILLEGAL_CHARACTERS_RE, '', value)
259+
if isinstance(value, datetime.datetime):
260+
eastern = pytz.timezone(TIME_ZONE)
261+
c = datetime.timezone(eastern._utcoffset)
262+
value = value.astimezone(c)
259263
cell.value = value
260264

261265
output = BytesIO()

0 commit comments

Comments
 (0)