diff --git a/dingdingflow/init.py b/dingdingflow/init.py index 5207faa..55b00e1 100644 --- a/dingdingflow/init.py +++ b/dingdingflow/init.py @@ -185,6 +185,14 @@ async def submit_approval(biz_type, biz_id, title, applicant_id, org_id='0'): """ client = get_dingtalk_client() + # 无钉钉凭据(未对接):明确报失败让调用方降级人工审批。 + # ⚠️ 不能返回 mock 成功——假实例无人可审,回调永不到达,审批会永久卡死。 + if client.is_dev_mode: + logger.warning('DingTalk credentials not configured, biz_type=%s ' + 'should fall back to human approval', biz_type) + return {'success': False, + 'message': 'DingTalk not configured (missing DINGTALK_APP_KEY/SECRET)'} + # 查找审批配置 config = await get_approval_config_by_type(org_id, biz_type) if not config: