From 5b98fc6a2d475bd5ce4132b98d6dae95c819868a Mon Sep 17 00:00:00 2001 From: liuwei Date: Tue, 10 Jun 2025 17:14:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/dashboard/blueprints/message_push.py | 19 ++++++++++++------- db/task_db.py | 10 +--------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/admin/dashboard/blueprints/message_push.py b/admin/dashboard/blueprints/message_push.py index 016e2f1..d9cffc0 100644 --- a/admin/dashboard/blueprints/message_push.py +++ b/admin/dashboard/blueprints/message_push.py @@ -4,7 +4,7 @@ from concurrent.futures import ThreadPoolExecutor import os import json import uuid -from datetime import datetime, timedelta +from datetime import datetime from flask import Blueprint, render_template, jsonify, request, current_app, session from pathlib import Path from werkzeug.utils import secure_filename @@ -141,12 +141,17 @@ def api_create_task(): data['task_id'] = str(uuid.uuid4()) data['creator_id'] = username - # 处理recurring_time - if 'recurring_time' in data and data['recurring_time']: - if isinstance(data['recurring_time'], timedelta): - hours = data['recurring_time'].seconds // 3600 - minutes = (data['recurring_time'].seconds % 3600) // 60 - data['recurring_time'] = f"{hours:02d}:{minutes:02d}" + # 确保 content_miniprogram 是 JSON 字符串 + if 'content_miniprogram' in data and isinstance(data['content_miniprogram'], dict): + data['content_miniprogram'] = json.dumps(data['content_miniprogram']) + + # 确保 groups 是 JSON 字符串 + if 'groups' in data and isinstance(data['groups'], list): + data['groups'] = json.dumps(data['groups']) + + # 确保 preview_recipients 是 JSON 字符串 + if 'preview_recipients' in data and isinstance(data['preview_recipients'], list): + data['preview_recipients'] = json.dumps(data['preview_recipients']) # 创建任务 db = current_app.dashboard_server.task_db diff --git a/db/task_db.py b/db/task_db.py index 798dca8..1665981 100644 --- a/db/task_db.py +++ b/db/task_db.py @@ -1,5 +1,4 @@ from typing import List, Dict, Optional, Tuple -from datetime import timedelta from db.base import BaseDBOperator from db.connection import DBConnectionManager @@ -109,13 +108,6 @@ class TaskDBOperator(BaseDBOperator): groups = json.dumps(task_data.get('groups', [])) preview_recipients = json.dumps(task_data.get('preview_recipients', [])) - # 处理recurring_time - recurring_time = task_data.get('recurring_time') - if recurring_time and isinstance(recurring_time, timedelta): - hours = recurring_time.seconds // 3600 - minutes = (recurring_time.seconds % 3600) // 60 - recurring_time = f"{hours:02d}:{minutes:02d}" - params = ( task_data['task_id'], task_data['name'], @@ -123,7 +115,7 @@ class TaskDBOperator(BaseDBOperator): task_data['schedule_time'], task_data.get('recurring_interval'), task_data.get('recurring_end'), - recurring_time, + task_data.get('recurring_time'), task_data.get('weekly_days'), task_data.get('monthly_day'), task_data.get('content_text'),