解决bug

This commit is contained in:
liuwei
2025-06-10 17:14:49 +08:00
parent 2993a4345a
commit 5b98fc6a2d
2 changed files with 13 additions and 16 deletions

View File

@@ -4,7 +4,7 @@ from concurrent.futures import ThreadPoolExecutor
import os import os
import json import json
import uuid import uuid
from datetime import datetime, timedelta from datetime import datetime
from flask import Blueprint, render_template, jsonify, request, current_app, session from flask import Blueprint, render_template, jsonify, request, current_app, session
from pathlib import Path from pathlib import Path
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
@@ -141,12 +141,17 @@ def api_create_task():
data['task_id'] = str(uuid.uuid4()) data['task_id'] = str(uuid.uuid4())
data['creator_id'] = username data['creator_id'] = username
# 处理recurring_time # 确保 content_miniprogram 是 JSON 字符串
if 'recurring_time' in data and data['recurring_time']: if 'content_miniprogram' in data and isinstance(data['content_miniprogram'], dict):
if isinstance(data['recurring_time'], timedelta): data['content_miniprogram'] = json.dumps(data['content_miniprogram'])
hours = data['recurring_time'].seconds // 3600
minutes = (data['recurring_time'].seconds % 3600) // 60 # 确保 groups 是 JSON 字符串
data['recurring_time'] = f"{hours:02d}:{minutes:02d}" 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 db = current_app.dashboard_server.task_db

View File

@@ -1,5 +1,4 @@
from typing import List, Dict, Optional, Tuple from typing import List, Dict, Optional, Tuple
from datetime import timedelta
from db.base import BaseDBOperator from db.base import BaseDBOperator
from db.connection import DBConnectionManager from db.connection import DBConnectionManager
@@ -109,13 +108,6 @@ class TaskDBOperator(BaseDBOperator):
groups = json.dumps(task_data.get('groups', [])) groups = json.dumps(task_data.get('groups', []))
preview_recipients = json.dumps(task_data.get('preview_recipients', [])) 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 = ( params = (
task_data['task_id'], task_data['task_id'],
task_data['name'], task_data['name'],
@@ -123,7 +115,7 @@ class TaskDBOperator(BaseDBOperator):
task_data['schedule_time'], task_data['schedule_time'],
task_data.get('recurring_interval'), task_data.get('recurring_interval'),
task_data.get('recurring_end'), task_data.get('recurring_end'),
recurring_time, task_data.get('recurring_time'),
task_data.get('weekly_days'), task_data.get('weekly_days'),
task_data.get('monthly_day'), task_data.get('monthly_day'),
task_data.get('content_text'), task_data.get('content_text'),