|
@@ -5,49 +5,33 @@ import com.alibaba.fastjson2.JSON;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.alibaba.fastjson2.TypeReference;
|
|
|
import com.ruoyi.common.annotation.Anonymous;
|
|
|
-import com.ruoyi.common.annotation.Log;
|
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
|
import com.ruoyi.common.constant.Constants;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
-import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
-import com.ruoyi.common.enums.BusinessType;
|
|
|
-import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
|
|
import com.ruoyi.common.utils.file.FileUtils;
|
|
|
-import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
import com.ruoyi.framework.config.ServerConfig;
|
|
|
import com.ruoyi.system.entity.CommonEntity;
|
|
|
-import com.ruoyi.system.entity.TableInfo;
|
|
|
import com.ruoyi.system.entity.TableSql;
|
|
|
import com.ruoyi.system.service.ICommonService;
|
|
|
import com.ruoyi.system.service.IDataSourceService;
|
|
|
import com.ruoyi.system.service.ITableSqlService;
|
|
|
-import io.lettuce.core.ScriptOutputType;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
-import io.swagger.models.auth.In;
|
|
|
-import org.apache.poi.ss.formula.functions.T;
|
|
|
-import org.apache.poi.ss.usermodel.Cell;
|
|
|
-import org.apache.poi.ss.usermodel.Sheet;
|
|
|
-import org.apache.poi.ss.usermodel.Workbook;
|
|
|
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.MediaType;
|
|
|
-import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.File;
|
|
|
-import java.io.FileInputStream;
|
|
|
-import java.io.FileReader;
|
|
|
-import java.util.*;
|
|
|
-
|
|
|
-import org.apache.poi.ss.usermodel.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import static com.ruoyi.common.core.domain.AjaxResult.success;
|
|
|
|
|
@@ -215,7 +199,6 @@ public class CommonFileController {
|
|
|
if (listMap.size() <= 1) {
|
|
|
return AjaxResult.warn("请检查表格中的数据!");
|
|
|
}
|
|
|
-
|
|
|
// 得到当前导出入数据的格式k/v
|
|
|
TableSql tableSql = iTableSqlService.selectTableSqlByTSqlKey(sqlKey);
|
|
|
// 存储 字段描述:字段列名
|
|
@@ -252,13 +235,21 @@ public class CommonFileController {
|
|
|
// 新增 // 删除当前map中的k/v
|
|
|
item.put(listMap.get(0).get(mKey), item.remove(mKey));
|
|
|
});
|
|
|
+ // 如果value为空就清空
|
|
|
+ item.entrySet().removeIf(entry -> entry.getValue() == null);
|
|
|
});
|
|
|
listMap.remove(0);
|
|
|
CommonEntity commonEntity = new CommonEntity();
|
|
|
commonEntity.setBasicMap(JSONObject.parseObject("{ \"tableName\":\"" + tableName + "\"}", new TypeReference<Map<String, Object>>() {
|
|
|
}));
|
|
|
- commonEntity.setAddListMap(listMap);
|
|
|
- return success(commonService.batchInsert(commonEntity));
|
|
|
+ int state = 0; // 返回状态值
|
|
|
+ int batchSize = 1000; // 设置批量新增每次执行添加sql上线为1000条
|
|
|
+ for (int i = 0; i < listMap.size(); i += batchSize) {
|
|
|
+ int end = Math.min(listMap.size(), i + batchSize);
|
|
|
+ commonEntity.setAddListMap(listMap.subList(i, end));
|
|
|
+ state = commonService.batchInsert(commonEntity);
|
|
|
+ }
|
|
|
+ return success(state);
|
|
|
} catch (Exception e) {
|
|
|
return AjaxResult.error(e.getMessage());
|
|
|
}
|