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_app_user", {"id": id}) if not recs: return {"success": False, "message": "Not found"} # Prepare update data upd = {} for k in ['status', 'remark', 'callback_url', 'vendor']: if params_kw.get(k): upd[k] = params_kw.get(k) # Handle keys encryption ak = params_kw.get('ak', None) sk = params_kw.get('sk', None) if ak is not None: env = ServerEnv() upd['ak'] = env.password_encode(ak) if sk is not None: env = ServerEnv() upd['sk'] = env.password_encode(sk) upd['update_time'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") async with db.sqlorContext(dbname) as sor: await sor.U("rl_app_user", upd, {"id": id}) return {"success": True}