|
@@ -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());
|
|
|
}
|
|
|
}
|
|
|
}
|