From a0d4189cb8519544872f48606d13dee7e4f31b81 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 30 May 2026 01:21:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=89=80=E6=9C=89sor.?= =?UTF-8?q?U()=E8=B0=83=E7=94=A8,=20=E5=90=88=E5=B9=B6id=E5=88=B0=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=AD=97=E5=85=B8(sor.U=E5=8F=AA=E6=8E=A5=E5=8F=972?= =?UTF-8?q?=E4=B8=AA=E5=8F=82=E6=95=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reallife_asset/init.py | 22 ++++++++++++++-------- wwwroot/api/rl_asset_group_update.dspy | 2 +- wwwroot/api/rl_org_group_update.dspy | 2 +- wwwroot/api/rl_vendor_config_update.dspy | 3 +-- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/reallife_asset/init.py b/reallife_asset/init.py index cc55f03..274c574 100644 --- a/reallife_asset/init.py +++ b/reallife_asset/init.py @@ -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") async with db.sqlorContext(dbname) as sor: await sor.U("rl_asset_group", { + "id": local_group_id, "vendor_group_id": vendor_group_id, "status": "active", "name": f"已认证-{vendor_group_id}", "title": f"已认证-{vendor_group_id}", "update_time": now, - }, {"id": local_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") async with db.sqlorContext(dbname) as sor: upd = { + "id": asset_id, "status": status, "update_time": now, "vendor_response": json.dumps(result, ensure_ascii=False), } if 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} @@ -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") if existing: await sor.U("rl_asset_group", { + "id": existing[0].id, "name": item.get("Name", ""), "title": item.get("Title", item.get("Name", "")), "description": item.get("Description", ""), "update_time": now, - }, {"id": existing[0].id}) + }) else: gid = getID() 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") if existing: await sor.U("rl_asset", { + "id": existing[0].id, "status": item.get("Status", ""), "url": item.get("URL", ""), "name": item.get("Name", existing[0].name), "update_time": now, - }, {"id": existing[0].id}) + }) else: aid = getID() 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") 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: 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} @@ -635,11 +639,12 @@ async def rl_handle_callback(byted_token, project_name="default"): }) if existing: await sor.U("rl_org_group", { + "id": existing[0].id, "vendor_group_id": vendor_group_id, "local_group_id": local_group_id, "name": group_name, "update_time": now, - }, {"id": existing[0].id}) + }) else: await sor.C("rl_org_group", { "id": mapping_id, @@ -655,10 +660,11 @@ async def rl_handle_callback(byted_token, project_name="default"): # 4. Update rl_asset_group status async with db.sqlorContext(dbname) as sor: await sor.U("rl_asset_group", { + "id": local_group_id, "vendor_group_id": vendor_group_id, "status": "active", "update_time": now, - }, {"id": local_group_id}) + }) debug(f"callback processed: org={org_id}, group={local_group_id}, " f"vendor_group={vendor_group_id}") diff --git a/wwwroot/api/rl_asset_group_update.dspy b/wwwroot/api/rl_asset_group_update.dspy index bbd5bd3..211eb5a 100644 --- a/wwwroot/api/rl_asset_group_update.dspy +++ b/wwwroot/api/rl_asset_group_update.dspy @@ -10,6 +10,6 @@ async with db.sqlorContext(dbname) as sor: v = params_kw.get(f) if v is not None: 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": "更新成功"} diff --git a/wwwroot/api/rl_org_group_update.dspy b/wwwroot/api/rl_org_group_update.dspy index 8c93b97..9ae279c 100644 --- a/wwwroot/api/rl_org_group_update.dspy +++ b/wwwroot/api/rl_org_group_update.dspy @@ -13,6 +13,6 @@ for k in ['status', 'vendor_group_id', 'local_group_id', 'vendor']: upd[k] = params_kw.get(k) 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} diff --git a/wwwroot/api/rl_vendor_config_update.dspy b/wwwroot/api/rl_vendor_config_update.dspy index d236c4a..0b0d977 100644 --- a/wwwroot/api/rl_vendor_config_update.dspy +++ b/wwwroot/api/rl_vendor_config_update.dspy @@ -15,7 +15,6 @@ for k in ['status', 'callback_url', 'vendor', 'vendor_title', 'upappid']: # Update api_mapping if provided api_mapping = params_kw.get('api_mapping', None) if api_mapping is not None: - import json try: api_mapping_dict = json.loads(api_mapping) if api_mapping else {} 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") 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}