reallife_asset/wwwroot/api/rl_vendor_config_create.dspy

40 lines
1.2 KiB
Plaintext

org_id = params_kw.get('org_id', (await get_userorgid()) or '0')
id = params_kw.get('id', getID())
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
vendor = params_kw.get('vendor', '')
upappid = params_kw.get('upappid', '')
api_mapping = params_kw.get('api_mapping', '{}')
if not vendor:
return {"success": False, "message": "供应商标识不能为空"}
if not upappid:
return {"success": False, "message": "上位系统ID不能为空"}
# Validate api_mapping is valid JSON
try:
api_mapping_dict = json.loads(api_mapping) if api_mapping else {}
api_mapping = json.dumps(api_mapping_dict, ensure_ascii=False)
except json.JSONDecodeError:
return {"success": False, "message": "API映射必须是有效的JSON"}
data = {
"id": id,
"org_id": org_id,
"vendor": vendor,
"vendor_title": params_kw.get('vendor_title', ''),
"upappid": upappid,
"api_mapping": api_mapping,
"status": params_kw.get('status', 'active'),
"callback_url": params_kw.get('callback_url', ''),
"create_time": now,
"update_time": now
}
db = DBPools()
dbname = get_module_dbname('reallife_asset')
async with db.sqlorContext(dbname) as sor:
await sor.I("rl_vendor_config", data)
return {"success": True, "id": id}