""" Tenant module — 多租户域名管理 每个分销商可申请独立域名,客户在其域名注册即绑定为该分销商的客户。 """ from ahserver.serverenv import ServerEnv from sqlor.dbpools import get_sor_context MODULE_NAME = "tenant" async def get_domain_by_host(request, host): """根据请求域名查找对应的分销商""" env = request._run_ns domain = host.split(':')[0] async with get_sor_context(env, 'tenant') as sor: sql = """SELECT resellerid, orgid FROM tenant_domain WHERE domain = ${domain}$ AND status = 'active' LIMIT 1""" recs = await sor.sqlExe(sql, {'domain': domain}) return recs[0] if recs else None def load_tenant(): env = ServerEnv() env.get_domain_by_host = get_domain_by_host