feat: 实现单价分离、班级转课、消课筛选和手动录入功能

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 5260473
This commit is contained in:
user9994793890
2026-05-29 10:40:41 +08:00
parent ee860ce0ae
commit 3468394c6c
10 changed files with 727 additions and 66 deletions

View File

@@ -1,9 +1,28 @@
import os
from sqlalchemy import create_engine
# 延迟创建 Doris 引擎,避免在导入时卡住
LOCAL_DB_URL = "mysql+pymysql://root:DsideaL147258369@192.168.10.250:9030/yltcharge?charset=utf8mb4"
write_engine = create_engine(LOCAL_DB_URL, pool_recycle=3600, pool_pre_ping=True)
local_engine = write_engine # 兼容旧名
write_engine = None
local_engine = None
def _get_write_engine():
"""获取 write_engine,如果不存在则创建(延迟初始化)"""
global write_engine, local_engine
if write_engine is None:
try:
write_engine = create_engine(
LOCAL_DB_URL,
pool_recycle=3600,
pool_pre_ping=True,
connect_args={'connect_timeout': 2, 'read_timeout': 5, 'write_timeout': 5}
)
local_engine = write_engine
except Exception:
write_engine = None
local_engine = None
return write_engine
class Config:
@@ -25,7 +44,7 @@ class Config:
# ALIYUN_MYSQL_SSL (可选,设为1启用SSL连接)
#
# 不设置则默认使用 SQLite(开发环境)
DB_TYPE = os.environ.get('DB_TYPE', 'mysql').lower()
DB_TYPE = os.environ.get('DB_TYPE', 'sqlite').lower()
if DB_TYPE == 'mysql':
SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URI', LOCAL_DB_URL)