adapter_id, adapter_code, adapter_name, adapter_type, host, port, poll_interval_ms, timezone_id, capabilities, source_config, (json_extract(capabilities, '$.control') = false) read_only, status, connection_status, last_error_code, last_error_message, last_attempt_at_utc, last_observed_at_utc, create_by, create_time, update_by, update_time, remark, del_flag insert into t_device_adapter(adapter_code, adapter_name, adapter_type, host, port, poll_interval_ms, timezone_id, capabilities, source_config, status, connection_status, create_by, create_time, update_by, update_time, remark, del_flag) values(#{adapterCode}, #{adapterName}, #{adapterType}, #{host}, #{port}, #{pollIntervalMs}, #{timezoneId}, #{capabilities}, cast(#{sourceConfig} as json), '0', 'OFFLINE', 'system', sysdate(), 'system', sysdate(), #{remark}, 0) on duplicate key update adapter_name=values(adapter_name), adapter_type=values(adapter_type), host=values(host), port=values(port), poll_interval_ms=values(poll_interval_ms), timezone_id=values(timezone_id), capabilities=values(capabilities), source_config=values(source_config), status='0', connection_status='OFFLINE', last_error_code=null, last_error_message=null, update_by='system', update_time=sysdate(), remark=values(remark), del_flag=0 insert into t_device_adapter(adapter_code, adapter_name, adapter_type, host, port, poll_interval_ms, timezone_id, capabilities, source_config, status, connection_status, create_by, create_time, remark, del_flag) values(#{adapterCode}, #{adapterName}, #{adapterType}, #{host}, #{port}, #{pollIntervalMs}, #{timezoneId}, #{capabilities}, cast(#{sourceConfig} as json), #{status}, 'OFFLINE', #{createBy}, sysdate(), #{remark}, 0) update t_device_adapter set adapter_name=#{adapterName}, adapter_type=#{adapterType}, host=#{host}, port=#{port}, poll_interval_ms=#{pollIntervalMs}, timezone_id=#{timezoneId}, capabilities=#{capabilities}, source_config=cast(#{sourceConfig} as json), remark=#{remark}, connection_status='OFFLINE', last_error_code=null, last_error_message=null, update_by=#{updateBy}, update_time=sysdate() where adapter_id=#{adapterId} and del_flag=0 update t_device_adapter set status=#{status}, connection_status='OFFLINE', last_error_code=null, last_error_message=null, update_by=#{updateBy}, update_time=sysdate() where adapter_id=#{adapterId} and del_flag=0 update t_device_adapter set connection_status='ONLINE', last_error_code=null, last_error_message=null, last_attempt_at_utc=#{observedAt}, last_observed_at_utc=#{observedAt}, update_time=sysdate() where adapter_id=#{adapterId} and del_flag=0 update t_device_adapter set connection_status='OFFLINE', last_error_code=#{errorCode}, last_error_message=left(#{errorMessage}, 500), last_attempt_at_utc=utc_timestamp(3), update_time=sysdate() where adapter_id=#{adapterId} and del_flag=0