refactor: 员工同步复用钉钉免密登录配置
Some checks failed
continuous-integration/drone/push Build is failing

- 移除员工同步独立的 API 凭证配置
- 复用 dingtalk 配置组的 CorpId、AppKey、AppSecret
- 简化前端界面,只保留开关和测试连接
This commit is contained in:
yuliang_guo
2026-01-31 17:29:10 +08:00
parent 7be1ac1787
commit 18d6d5aff3
3 changed files with 40 additions and 108 deletions

View File

@@ -29,17 +29,18 @@ class EmployeeSyncService:
self._dingtalk_config = None
async def _get_dingtalk_config(self) -> Dict[str, str]:
"""从数据库获取钉钉 API 配置"""
"""从数据库获取钉钉 API 配置(复用免密登录配置)"""
if self._dingtalk_config:
return self._dingtalk_config
try:
# 从 dingtalk 配置组读取(与免密登录共用)
result = await self.db.execute(
text("""
SELECT config_key, config_value
FROM tenant_configs
WHERE tenant_id = :tenant_id
AND config_group = 'employee_sync'
AND config_group = 'dingtalk'
"""),
{"tenant_id": self.tenant_id}
)
@@ -47,7 +48,13 @@ class EmployeeSyncService:
config = {}
for key, value in rows:
config[key] = value
# 转换 key 名称以匹配 DingTalkService 需要的格式
if key == 'DINGTALK_CORP_ID':
config['CORP_ID'] = value
elif key == 'DINGTALK_APP_KEY':
config['CLIENT_ID'] = value
elif key == 'DINGTALK_APP_SECRET':
config['CLIENT_SECRET'] = value
self._dingtalk_config = config
return config