fix(sync): 修复空字符串导致消息基本类型解析失败
This commit is contained in:
@@ -119,14 +119,29 @@ public class TypeConverterV2 implements TypeConverter {
|
|||||||
if (ObjectUtil.isNull(value)) {
|
if (ObjectUtil.isNull(value)) {
|
||||||
return value;
|
return value;
|
||||||
} else if (NULLABLE_BOOLEAN_SCHEMA.equals(schema) || BOOLEAN_SCHEMA.equals(schema)) {
|
} else if (NULLABLE_BOOLEAN_SCHEMA.equals(schema) || BOOLEAN_SCHEMA.equals(schema)) {
|
||||||
|
if (StrUtil.isBlankIfStr(value)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return value instanceof String ? Boolean.valueOf((String) value) : value;
|
return value instanceof String ? Boolean.valueOf((String) value) : value;
|
||||||
} else if (NULLABLE_INT_SCHEMA.equals(schema) || INT_SCHEMA.equals(schema)) {
|
} else if (NULLABLE_INT_SCHEMA.equals(schema) || INT_SCHEMA.equals(schema)) {
|
||||||
|
if (StrUtil.isBlankIfStr(value)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return value instanceof String ? Integer.valueOf((String) value) : value;
|
return value instanceof String ? Integer.valueOf((String) value) : value;
|
||||||
} else if (NULLABLE_LONG_SCHEMA.equals(schema) || LONG_SCHEMA.equals(schema)) {
|
} else if (NULLABLE_LONG_SCHEMA.equals(schema) || LONG_SCHEMA.equals(schema)) {
|
||||||
|
if (StrUtil.isBlankIfStr(value)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return value instanceof String ? Long.valueOf((String) value) : value;
|
return value instanceof String ? Long.valueOf((String) value) : value;
|
||||||
} else if (NULLABLE_FLOAT_SCHEMA.equals(schema) || FLOAT_SCHEMA.equals(schema)) {
|
} else if (NULLABLE_FLOAT_SCHEMA.equals(schema) || FLOAT_SCHEMA.equals(schema)) {
|
||||||
|
if (StrUtil.isBlankIfStr(value)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return value instanceof String ? Float.valueOf((String) value) : value;
|
return value instanceof String ? Float.valueOf((String) value) : value;
|
||||||
} else if (NULLABLE_DOUBLE_SCHEMA.equals(schema) || DOUBLE_SCHEMA.equals(schema)) {
|
} else if (NULLABLE_DOUBLE_SCHEMA.equals(schema) || DOUBLE_SCHEMA.equals(schema)) {
|
||||||
|
if (StrUtil.isBlankIfStr(value)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return value instanceof String ? Double.valueOf((String) value) : value;
|
return value instanceof String ? Double.valueOf((String) value) : value;
|
||||||
} else if (NULLABLE_STRING_SCHEMA.equals(schema) || STRING_SCHEMA.equals(schema)) {
|
} else if (NULLABLE_STRING_SCHEMA.equals(schema) || STRING_SCHEMA.equals(schema)) {
|
||||||
return StringData.fromString((String) value);
|
return StringData.fromString((String) value);
|
||||||
|
|||||||
Reference in New Issue
Block a user