fix: DBPools(config.databases) instead of DBPools() for subprocess context

This commit is contained in:
yumoqing 2026-05-08 14:49:19 +08:00
parent 8f2292b6f3
commit 8be3566338

View File

@ -6,6 +6,7 @@ import re
from ahserver.serverenv import ServerEnv from ahserver.serverenv import ServerEnv
from appPublic.worker import awaitify from appPublic.worker import awaitify
from sqlor.dbpools import DBPools from sqlor.dbpools import DBPools
from appPublic.jsonConfig import getConfig
async def create_customer( async def create_customer(
@ -21,7 +22,9 @@ async def create_customer(
region: str = None region: str = None
) -> Dict: ) -> Dict:
"""创建客户档案""" """创建客户档案"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
customer_id = str(uuid.uuid4()).replace('-', '') customer_id = str(uuid.uuid4()).replace('-', '')
@ -73,7 +76,9 @@ async def initiate_handover(
reviewer_id: str = None reviewer_id: str = None
) -> Dict: ) -> Dict:
"""发起客户交接流程""" """发起客户交接流程"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
# 获取客户信息 # 获取客户信息
customer_records = await sor.R("customers", {"filters": [{"field": "id", "op": "=", "value": customer_id}]}) customer_records = await sor.R("customers", {"filters": [{"field": "id", "op": "=", "value": customer_id}]})
@ -203,7 +208,9 @@ async def generate_handover_items(sor, handover_id: str, customer_id: str):
async def complete_handover_preparation(handover_id: str) -> Dict: async def complete_handover_preparation(handover_id: str) -> Dict:
"""完成交接准备阶段""" """完成交接准备阶段"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
handover_records = await sor.R("customer_handover", {"filters": [{"field": "id", "op": "=", "value": handover_id}]}) handover_records = await sor.R("customer_handover", {"filters": [{"field": "id", "op": "=", "value": handover_id}]})
if not handover_records or len(handover_records) == 0: if not handover_records or len(handover_records) == 0:
@ -229,7 +236,9 @@ async def complete_handover_preparation(handover_id: str) -> Dict:
async def approve_handover(handover_id: str, approver_id: str = None) -> Dict: async def approve_handover(handover_id: str, approver_id: str = None) -> Dict:
"""审核交接清单""" """审核交接清单"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
approver_id = approver_id or get_current_user_id() approver_id = approver_id or get_current_user_id()
@ -257,7 +266,9 @@ async def approve_handover(handover_id: str, approver_id: str = None) -> Dict:
async def confirm_handover(handover_id: str, confirm_by: str = None) -> Dict: async def confirm_handover(handover_id: str, confirm_by: str = None) -> Dict:
"""确认接收客户""" """确认接收客户"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
confirm_by = confirm_by or get_current_user_id() confirm_by = confirm_by or get_current_user_id()
@ -316,7 +327,9 @@ async def send_customer_notification(sor, customer_id: str, new_owner_id: str):
async def recycle_to_pool(customer_id: str, inactive_days: int = None, reason: str = "inactive_days"): async def recycle_to_pool(customer_id: str, inactive_days: int = None, reason: str = "inactive_days"):
"""回收客户到公海池""" """回收客户到公海池"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
customer_records = await sor.R("customers", {"filters": [{"field": "id", "op": "=", "value": customer_id}]}) customer_records = await sor.R("customers", {"filters": [{"field": "id", "op": "=", "value": customer_id}]})
if not customer_records or len(customer_records) == 0: if not customer_records or len(customer_records) == 0:
@ -357,7 +370,9 @@ async def recycle_to_pool(customer_id: str, inactive_days: int = None, reason: s
async def claim_from_pool(pool_id: str, new_owner_id: str = None): async def claim_from_pool(pool_id: str, new_owner_id: str = None):
"""从公海池认领客户""" """从公海池认领客户"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
new_owner_id = new_owner_id or get_current_user_id() new_owner_id = new_owner_id or get_current_user_id()
@ -398,7 +413,9 @@ async def claim_from_pool(pool_id: str, new_owner_id: str = None):
async def get_customer_360_view(customer_id: str) -> Dict: async def get_customer_360_view(customer_id: str) -> Dict:
"""获取客户360度视图""" """获取客户360度视图"""
db = DBPools() config = getConfig()
db = DBPools(config.databases)
async with db.sqlorContext('customer_management') as sor: async with db.sqlorContext('customer_management') as sor:
# 客户基本信息 # 客户基本信息
customer_records = await sor.R("customers", {"filters": [{"field": "id", "op": "=", "value": customer_id}]}) customer_records = await sor.R("customers", {"filters": [{"field": "id", "op": "=", "value": customer_id}]})