30 lines
1.0 KiB
Plaintext
30 lines
1.0 KiB
Plaintext
id = params_kw.get('id', '')
|
|
if not id: return {"success": False, "message": "id required"}
|
|
|
|
db = DBPools()
|
|
dbname = get_module_dbname('reallife_asset')
|
|
async with db.sqlorContext(dbname) as sor:
|
|
recs = await sor.R("rl_vendor_config", {"id": id})
|
|
if not recs: return {"success": False, "message": "Not found"}
|
|
|
|
upd = {}
|
|
for k in ['status', 'callback_url', 'vendor', 'vendor_title', 'upappid']:
|
|
if params_kw.get(k) is not None:
|
|
upd[k] = params_kw.get(k)
|
|
|
|
# Update api_mapping if provided
|
|
api_mapping = params_kw.get('api_mapping', None)
|
|
if api_mapping is not None:
|
|
try:
|
|
api_mapping_dict = json.loads(api_mapping) if api_mapping else {}
|
|
upd['api_mapping'] = json.dumps(api_mapping_dict, ensure_ascii=False)
|
|
except json.JSONDecodeError:
|
|
return {"success": False, "message": "API映射必须是有效的JSON"}
|
|
|
|
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})
|
|
|
|
return {"success": True}
|