Browse Source

批量操作

lyhzzz 1 năm trước cách đây
mục cha
commit
b028fe2828

+ 26 - 25
src/main/java/com/fdkankan/task/jobhandler/zfb/GenSceneNumService.java

@@ -17,10 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
 import java.util.logging.SimpleFormatter;
+import java.util.stream.Collectors;
 
 @Service
 public class GenSceneNumService {
@@ -44,20 +43,20 @@ public class GenSceneNumService {
         String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
 
         logger.info("旧指房未使用场景码数量是:{},阈值:{}",tbSceneNumList.size(),count);
+
         if(tbSceneNumList.size() <count){
+            List<TbSceneNum> dbCodes = tbSceneNumMapper.selectAll();
+            Set<String> collect = dbCodes.stream().map(TbSceneNum::getCode).collect(Collectors.toSet());
+            List<TbScene> dbCodes2 = tbSceneMapper.selectAll();
+            Set<String> collect2 = dbCodes2.stream().map(TbScene::getNum).collect(Collectors.toSet());
             HashSet<String> strings = GenerateZfbCode.generateOldZfbCode(count);
+
+            List<TbSceneNum> numList = new ArrayList<>();
             for (String code : strings) {
-                QueryWrapper queryWrapper2 = QueryWrapper.create()
-                        .where("code = '" +code+"'");
-                List<TbSceneNum> dbCodes = tbSceneNumMapper.selectListByQuery(queryWrapper2);
-                if(!dbCodes.isEmpty()){
+                if(collect.contains(code)){
                     continue;
                 }
-                QueryWrapper queryWrapper3 = QueryWrapper.create()
-                        .where("num = '" +code+"'");
-
-                List<TbScene> tbScenes = tbSceneMapper.selectListByQuery(queryWrapper3);
-                if(!tbScenes.isEmpty()){
+                if(collect2.contains(code)){
                     continue;
                 }
                 TbSceneNum tbSceneNum = new TbSceneNum();
@@ -65,9 +64,10 @@ public class GenSceneNumService {
                 tbSceneNum.setCreateTime(new Date());
                 tbSceneNum.setCode(code);
                 tbSceneNum.setFolderName(time);
-                tbSceneNumMapper.insert(tbSceneNum);
+                numList.add(tbSceneNum);
             }
-            logger.info("旧指房生成数量:{}",strings.size());
+            tbSceneNumMapper.insertBatch(numList);
+            logger.info("旧指房生成数量:{}",numList.size());
         }
     }
 
@@ -77,20 +77,20 @@ public class GenSceneNumService {
         List<TbScene3dNumNew> tbSceneNumList = tbScene3dNumNewMapper.selectListByQuery(queryWrapper);
         String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
         logger.info("新指房未使用场景码数量是:{},阈值:{}",tbSceneNumList.size(),count);
+
         if(tbSceneNumList.size() <count){
+            List<TbScene3dNumNew> dbCodes = tbScene3dNumNewMapper.selectAll();
+            Set<String> collect = dbCodes.stream().map(TbScene3dNumNew::getCode).collect(Collectors.toSet());
+            List<TbScenePro> dbCodes2 = tbSceneProMapper.selectAll();
+            Set<String> collect2 = dbCodes2.stream().map(TbScenePro::getNum).collect(Collectors.toSet());
+
             HashSet<String> strings = GenerateZfbCode.generateOldZfbCode(count);
+            List<TbScene3dNumNew> numNewList = new ArrayList<>();
             for (String code : strings) {
-                QueryWrapper queryWrapper2 = QueryWrapper.create()
-                        .where("code = '" +code+"'");
-                List<TbScene3dNumNew> dbCodes = tbScene3dNumNewMapper.selectListByQuery(queryWrapper2);
-                if(!dbCodes.isEmpty()){
+                if(collect.contains(code)){
                     continue;
                 }
-                QueryWrapper queryWrapper3 = QueryWrapper.create()
-                        .where("num = '" +code+"'");
-
-                List<TbScenePro> tbScenes = tbSceneProMapper.selectListByQuery(queryWrapper3);
-                if(!tbScenes.isEmpty()){
+                if(collect2.contains(code)){
                     continue;
                 }
                 TbScene3dNumNew tbSceneNum = new TbScene3dNumNew();
@@ -100,9 +100,10 @@ public class GenSceneNumService {
                 tbSceneNum.setRecStatus("A");
                 tbSceneNum.setUpdateTime(new Date());
                 tbSceneNum.setCreateTime(new Date());
-                tbScene3dNumNewMapper.insert(tbSceneNum);
+                numNewList.add(tbSceneNum);
             }
-            logger.info("新指房生成数量:{}",strings.size());
+            tbScene3dNumNewMapper.insertBatch(numNewList);
+            logger.info("新指房生成数量:{}",numNewList.size());
         }
     }
 }