fix: 修复所有sor.U()调用, 合并id到更新字典(sor.U只接受2个参数)

This commit is contained in:
yumoqing 2026-05-30 01:21:44 +08:00
parent f8de29d8f2
commit a0d4189cb8
4 changed files with 17 additions and 12 deletions

View File

@ -143,12 +143,13 @@ async def rl_check_validate_result(local_group_id, vendor, project_name="default
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
async with db.sqlorContext(dbname) as sor: async with db.sqlorContext(dbname) as sor:
await sor.U("rl_asset_group", { await sor.U("rl_asset_group", {
"id": local_group_id,
"vendor_group_id": vendor_group_id, "vendor_group_id": vendor_group_id,
"status": "active", "status": "active",
"name": f"已认证-{vendor_group_id}", "name": f"已认证-{vendor_group_id}",
"title": f"已认证-{vendor_group_id}", "title": f"已认证-{vendor_group_id}",
"update_time": now, "update_time": now,
}, {"id": local_group_id}) })
return {"success": True, "vendor_group_id": vendor_group_id} return {"success": True, "vendor_group_id": vendor_group_id}
@ -249,13 +250,14 @@ async def rl_sync_asset_status(asset_id):
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
async with db.sqlorContext(dbname) as sor: async with db.sqlorContext(dbname) as sor:
upd = { upd = {
"id": asset_id,
"status": status, "status": status,
"update_time": now, "update_time": now,
"vendor_response": json.dumps(result, ensure_ascii=False), "vendor_response": json.dumps(result, ensure_ascii=False),
} }
if url: if url:
upd["url"] = url upd["url"] = url
await sor.U("rl_asset", upd, {"id": asset_id}) await sor.U("rl_asset", upd)
return {"success": True, "status": status, "url": url} return {"success": True, "status": status, "url": url}
@ -337,11 +339,12 @@ async def rl_sync_group_from_vendor(org_id, vendor, project_name="default"):
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
if existing: if existing:
await sor.U("rl_asset_group", { await sor.U("rl_asset_group", {
"id": existing[0].id,
"name": item.get("Name", ""), "name": item.get("Name", ""),
"title": item.get("Title", item.get("Name", "")), "title": item.get("Title", item.get("Name", "")),
"description": item.get("Description", ""), "description": item.get("Description", ""),
"update_time": now, "update_time": now,
}, {"id": existing[0].id}) })
else: else:
gid = getID() gid = getID()
await sor.C("rl_asset_group", { await sor.C("rl_asset_group", {
@ -401,11 +404,12 @@ async def rl_sync_assets_from_vendor(org_id, local_group_id):
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
if existing: if existing:
await sor.U("rl_asset", { await sor.U("rl_asset", {
"id": existing[0].id,
"status": item.get("Status", ""), "status": item.get("Status", ""),
"url": item.get("URL", ""), "url": item.get("URL", ""),
"name": item.get("Name", existing[0].name), "name": item.get("Name", existing[0].name),
"update_time": now, "update_time": now,
}, {"id": existing[0].id}) })
else: else:
aid = getID() aid = getID()
await sor.C("rl_asset", { await sor.C("rl_asset", {
@ -572,10 +576,10 @@ async def rl_sync_asset_status_user(org_id, asset_id, user_id):
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
async with db.sqlorContext(dbname) as sor: async with db.sqlorContext(dbname) as sor:
upd = {"status": status, "update_time": now, "vendor_response": json.dumps(result, ensure_ascii=False)} upd = {"id": asset_id, "status": status, "update_time": now, "vendor_response": json.dumps(result, ensure_ascii=False)}
if url: if url:
upd["url"] = url upd["url"] = url
await sor.U("rl_asset", upd, {"id": asset_id}) await sor.U("rl_asset", upd)
return {"success": True, "status": status, "url": url} return {"success": True, "status": status, "url": url}
@ -635,11 +639,12 @@ async def rl_handle_callback(byted_token, project_name="default"):
}) })
if existing: if existing:
await sor.U("rl_org_group", { await sor.U("rl_org_group", {
"id": existing[0].id,
"vendor_group_id": vendor_group_id, "vendor_group_id": vendor_group_id,
"local_group_id": local_group_id, "local_group_id": local_group_id,
"name": group_name, "name": group_name,
"update_time": now, "update_time": now,
}, {"id": existing[0].id}) })
else: else:
await sor.C("rl_org_group", { await sor.C("rl_org_group", {
"id": mapping_id, "id": mapping_id,
@ -655,10 +660,11 @@ async def rl_handle_callback(byted_token, project_name="default"):
# 4. Update rl_asset_group status # 4. Update rl_asset_group status
async with db.sqlorContext(dbname) as sor: async with db.sqlorContext(dbname) as sor:
await sor.U("rl_asset_group", { await sor.U("rl_asset_group", {
"id": local_group_id,
"vendor_group_id": vendor_group_id, "vendor_group_id": vendor_group_id,
"status": "active", "status": "active",
"update_time": now, "update_time": now,
}, {"id": local_group_id}) })
debug(f"callback processed: org={org_id}, group={local_group_id}, " debug(f"callback processed: org={org_id}, group={local_group_id}, "
f"vendor_group={vendor_group_id}") f"vendor_group={vendor_group_id}")

View File

@ -10,6 +10,6 @@ async with db.sqlorContext(dbname) as sor:
v = params_kw.get(f) v = params_kw.get(f)
if v is not None: if v is not None:
upd[f] = v upd[f] = v
await sor.U("rl_asset_group", upd, {"id": rid, "org_id": org_id}) await sor.U("rl_asset_group", {**upd, "id": rid})
return {"success": True, "message": "更新成功"} return {"success": True, "message": "更新成功"}

View File

@ -13,6 +13,6 @@ for k in ['status', 'vendor_group_id', 'local_group_id', 'vendor']:
upd[k] = params_kw.get(k) upd[k] = params_kw.get(k)
async with db.sqlorContext(dbname) as sor: async with db.sqlorContext(dbname) as sor:
await sor.U("rl_org_group", upd, {"id": id}) await sor.U("rl_org_group", {**upd, "id": id})
return {"success": True} return {"success": True}

View File

@ -15,7 +15,6 @@ for k in ['status', 'callback_url', 'vendor', 'vendor_title', 'upappid']:
# Update api_mapping if provided # Update api_mapping if provided
api_mapping = params_kw.get('api_mapping', None) api_mapping = params_kw.get('api_mapping', None)
if api_mapping is not None: if api_mapping is not None:
import json
try: try:
api_mapping_dict = json.loads(api_mapping) if api_mapping else {} api_mapping_dict = json.loads(api_mapping) if api_mapping else {}
upd['api_mapping'] = json.dumps(api_mapping_dict, ensure_ascii=False) upd['api_mapping'] = json.dumps(api_mapping_dict, ensure_ascii=False)
@ -25,6 +24,6 @@ if api_mapping is not None:
upd['update_time'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") upd['update_time'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
async with db.sqlorContext(dbname) as sor: async with db.sqlorContext(dbname) as sor:
await sor.U("rl_vendor_config", upd, {"id": id}) await sor.U("rl_vendor_config", {**upd, "id": id})
return {"success": True} return {"success": True}