From 0dec46a3c46a72aa4f49fe1b0dd229f66a698e75 Mon Sep 17 00:00:00 2001 From: taixingyiji Date: Thu, 10 Apr 2025 16:48:20 +0800 Subject: [PATCH] feat: highgo add double and float converter,dameng support insert batch --- .../base/module/data/module/BaseMapperImpl.java | 12 +++++++++++- .../module/data/module/DataTypeConverter.java | 17 ++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/BaseMapperImpl.java b/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/BaseMapperImpl.java index 46ee43c..30b014e 100644 --- a/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/BaseMapperImpl.java +++ b/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/BaseMapperImpl.java @@ -747,12 +747,22 @@ public class BaseMapperImpl implements BaseMapper { pkName = "ID"; } int i; - if (dataTypeConfig.equals(DataUnit.ORACLE) || dataTypeConfig.equals(DataUnit.DAMENG)) { + if (dataTypeConfig.equals(DataUnit.ORACLE)) { for (Map map : list) { Object id = getSequence(tableName, pkName); map.put(pkName, id); } i = tableMapper.insertBatch(list, tableName); + }else if(dataTypeConfig.equals(DataUnit.DAMENG)){ + getSequence(tableName, pkName); + List> tempList = new ArrayList<>(); + for (Map map : list) { + map = formatMap(map,tableName); + map.put(pkName, tableName + "_SEQ.nextval"); + tempList.add(map); + } + list = tempList; + i = tableMapper.insertBatchSeq(list, tableName, pkName); } else if (dataTypeConfig.equals(DataUnit.HANGO)) { getSequence(tableName, pkName); List> tempList = new ArrayList<>(); diff --git a/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/DataTypeConverter.java b/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/DataTypeConverter.java index 9024048..07cf74e 100644 --- a/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/DataTypeConverter.java +++ b/hcframe-parent/hcframe-base/src/main/java/com/taixingyiji/base/module/data/module/DataTypeConverter.java @@ -2,7 +2,6 @@ package com.taixingyiji.base.module.data.module; import cn.hutool.core.date.DateUtil; -import java.sql.*; import java.util.*; /** @@ -32,6 +31,14 @@ public class DataTypeConverter { case "int": convertedData.put(column, Integer.parseInt(value.toString())); break; + case "double": + case "DOUBLE": + convertedData.put(column, Double.parseDouble(value.toString())); + break; + case "float": + case "FLOAT": + convertedData.put(column, Float.parseFloat(value.toString())); + break; case "bigint": case "BIGINT": convertedData.put(column, Long.parseLong(value.toString())); @@ -45,9 +52,13 @@ public class DataTypeConverter { convertedData.put(column, DateUtil.parse(value.toString())); break; default: - if(columnType.contains("int") || columnType.contains("INT")){ + if (columnType.contains("int") || columnType.contains("INT")) { convertedData.put(column, Integer.parseInt(value.toString())); - }else { + } else if (columnType.contains("double") || columnType.contains("DOUBLE")) { + convertedData.put(column, Double.parseDouble(value.toString())); + } else if (columnType.contains("float") || columnType.contains("FLOAT")) { + convertedData.put(column, Float.parseFloat(value.toString())); + } else { convertedData.put(column, value); } break;