NGV数据源账号更新

This commit is contained in:
z66
2025-08-25 14:26:54 +08:00
parent 815728b0d8
commit 5879eb7842
3 changed files with 64 additions and 5 deletions
+47 -2
View File
@@ -221,7 +221,7 @@ class API:
jiandaoyun_data['data'] = {"_widget_1731650067055":{"value":f'{username}{password}'},
"_widget_1731650067056":{"value": f"{group}"}}
"""
# noinspection DuplicatedCode
payload = json.dumps({
"app_id": data['api_key'], # 应用ID
"entry_id": data['entry_id'], # 表单ID
@@ -231,6 +231,7 @@ class API:
"transaction_id": data.get('transaction_id', "")
}
)
retries = 0
while retries <= max_retries:
try:
@@ -554,6 +555,50 @@ class API:
res = requests.post(url=url, data=payload, headers=headers, timeout=10)
return res.json()
@staticmethod
def workflow_task_hand_over(data: dict, max_retries: int = 10) -> dict | None:
"""
流程待办转交
:param max_retries: 最大重试次数
:param data:应包含username、instance_id(data_id)、task_id等信息
:return:返回简道云流程待办转交的结果
"""
url = 'https://api.jiandaoyun.com/api/v1/workflow/task/transfer'
headers = {
'Authorization': Config.JIANDAOYUN_API_TOKEN, # 曹伟应用api测试 appKey
'Content-Type': 'application/json'
}
payload = json.dumps({
"username": data["username"], # 当前节点的负责人
"instance_id": data["instance_id"],
"task_id": data['task_id'],
"transfer_username": data['transfer_username'], # 转交人
"comment": "转交"
}
)
retries = 0
while retries <= max_retries:
try:
res: requests.Response = requests.post(url=url, data=payload, headers=headers, timeout=10)
res.raise_for_status() # 检查HTTP响应状态码,如果不等于200会抛出异常
if res.status_code == 200:
return res.json()
else:
logger.warning(f"请求异常, 将重新请求")
retries += 1
time.sleep(3) # 在重试之间稍作停顿
except requests.exceptions.RequestException as e:
logger.warning(f"请求异常: {e}, 将重新请求")
retries += 1
time.sleep(3) # 在重试之间稍作停顿
if retries > max_retries:
error_task_logger.error(
f"任务 {data['data_list']} 连续{max_retries}次请求失败,放弃此次请求。")
return None
@staticmethod
def get_upload_token(data: dict, max_retries: int = 10) -> dict[str, Any] | None:
"""
@@ -573,8 +618,8 @@ class API:
"entry_id": data['entry_id'], # 表单ID
"transaction_id": data['transaction_id'], # 事务ID
})
retries = 0
retries = 0
while retries <= max_retries:
try:
res: requests.Response = requests.post(url=url, data=payload, headers=headers, timeout=10)