diff --git a/test-common/src/main/java/com/test/common/utils/sql/TinyIntTypeAdapter.java b/test-common/src/main/java/com/test/common/utils/sql/TinyIntTypeAdapter.java new file mode 100644 index 0000000..1fdaa81 --- /dev/null +++ b/test-common/src/main/java/com/test/common/utils/sql/TinyIntTypeAdapter.java @@ -0,0 +1,31 @@ +package com.test.common.utils.sql; + +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +import java.io.IOException; + +/** + * @author liangdaliang + * @Description: + * @date 2025-03-07 13:32 + */ +public class TinyIntTypeAdapter extends TypeAdapter { + @Override + public void write(JsonWriter out, Number value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + out.value(value.intValue()); // 强制转换为整数 + } + } + + @Override + public Number read(JsonReader in) throws IOException { + if (in.peek() == null) { + return null; + } + return in.nextInt(); // 读取为整数 + } +} diff --git a/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java b/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java index baed232..92d7178 100644 --- a/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java +++ b/test-test/src/main/java/com/test/test/service/impl/TestCaseServiceImpl.java @@ -8,6 +8,7 @@ import com.test.common.utils.DateUtils; import com.test.common.utils.JMeterUtil; import com.test.common.utils.MySQLExecutor; import com.test.common.utils.StringUtils; +import com.test.common.utils.sql.TinyIntTypeAdapter; import com.test.test.domain.TestCase; import com.test.test.domain.TestCaseResult; import com.test.test.domain.TestCaseStep; @@ -261,6 +262,8 @@ public class TestCaseServiceImpl implements ITestCaseService sqlResult.setColumnNameList(columnNameList); sqlResult.setResultMapList(resultMapList); Gson gson = new GsonBuilder() + .registerTypeAdapter(Integer.class, new TinyIntTypeAdapter()) + .registerTypeAdapter(int.class, new TinyIntTypeAdapter()) .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeConverter()) .create(); testCaseResult.setSqlResult(gson.toJson(sqlResult));