适配TinyInt

This commit is contained in:
liangdaliang
2025-03-07 15:02:59 +08:00
parent 9540e8924e
commit ebc090c437
2 changed files with 15 additions and 17 deletions

View File

@@ -11,21 +11,18 @@ import java.io.IOException;
* @Description * @Description
* @date 2025-03-07 13:32 * @date 2025-03-07 13:32
*/ */
public class TinyIntTypeAdapter extends TypeAdapter<Number> { public class TinyIntTypeAdapter extends TypeAdapter<Byte> {
@Override @Override
public void write(JsonWriter out, Number value) throws IOException { public void write(JsonWriter out, Byte value) throws IOException {
if (value == null) { if (value == null) {
out.nullValue(); out.nullValue();
} else { } else {
out.value(value.intValue()); // 强制转换为整数 out.value(value.intValue());
} }
} }
@Override @Override
public Number read(JsonReader in) throws IOException { public Byte read(JsonReader in) throws IOException {
if (in.peek() == null) { throw new UnsupportedOperationException("Unreadable");
return null;
}
return in.nextInt(); // 读取为整数
} }
} }

View File

@@ -1,12 +1,14 @@
package com.test.test.service.impl; package com.test.test.service.impl;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fatboyindustrial.gsonjavatime.LocalDateTimeConverter;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import com.test.common.utils.DateUtils; import com.test.common.utils.DateUtils;
import com.test.common.utils.JMeterUtil; import com.test.common.utils.JMeterUtil;
import com.test.common.utils.MySQLExecutor; import com.test.common.utils.MySQLExecutor;
import com.test.common.utils.StringUtils; import com.test.common.utils.StringUtils;
import com.test.common.utils.sql.TinyIntTypeAdapter;
import com.test.test.domain.TestCase; import com.test.test.domain.TestCase;
import com.test.test.domain.TestCaseResult; import com.test.test.domain.TestCaseResult;
import com.test.test.domain.TestCaseStep; import com.test.test.domain.TestCaseStep;
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -258,14 +261,12 @@ public class TestCaseServiceImpl implements ITestCaseService
SqlResult sqlResult = new SqlResult(); SqlResult sqlResult = new SqlResult();
sqlResult.setColumnNameList(columnNameList); sqlResult.setColumnNameList(columnNameList);
sqlResult.setResultMapList(resultMapList); sqlResult.setResultMapList(resultMapList);
// Gson gson = new GsonBuilder() Gson gson = new GsonBuilder()
// .registerTypeAdapter(Integer.class, new TinyIntTypeAdapter()) .registerTypeAdapter(Integer.class, new TinyIntTypeAdapter())
// .registerTypeAdapter(int.class, new TinyIntTypeAdapter()) .registerTypeAdapter(int.class, new TinyIntTypeAdapter())
// .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeConverter()) .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeConverter())
// .create(); .create();
// testCaseResult.setSqlResult(gson.toJson(sqlResult)); testCaseResult.setSqlResult(gson.toJson(sqlResult));
ObjectMapper objectMapper = new ObjectMapper();
testCaseResult.setSqlResult(objectMapper.writeValueAsString(sqlResult));
// 处理参数提取 // 处理参数提取
Map<String, String> assignmentResultMap = new HashMap<>(); Map<String, String> assignmentResultMap = new HashMap<>();
String assignmentResult = this.dealDataSourceTestCaseStepAssignment(resultMapList, assignmentResultMap, assignment); String assignmentResult = this.dealDataSourceTestCaseStepAssignment(resultMapList, assignmentResultMap, assignment);