diff --git a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java index bd376be..3ff2d77 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/social/SocialDirectoryService.java @@ -125,20 +125,20 @@ public class SocialDirectoryService extends BaseService { if (type == 1301) { flag = line_array[78]; socialDirectory.setProducer(line_array[53]); - socialDirectory.setKeyword(line_array[1] + "," + line_array[3] + "," + line_array[61]); + socialDirectory.setKeyword(line_array[1] + "," + line_array[3] + "," + line_array[61]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[80], dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[81], dateTimeFormatter)); } if (type == 1302) { flag = line_array[13]; - socialDirectory.setKeyword(line_array[19]); + socialDirectory.setKeyword(line_array[19]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[15], dateTimeFormatter)); socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[16], dateTimeFormatter)); } if (type == 1306) { flag = line_array[67]; socialDirectory.setProducer(line_array[59]); - socialDirectory.setKeyword(line_array[4]); + socialDirectory.setKeyword(line_array[4]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode()); } if (type == 1309) { flag = line_array[5]; @@ -186,22 +186,7 @@ public class SocialDirectoryService extends BaseService { return next_version_name; } - private void saveToMongoDb(SocialDirectory socialDirectory) { - SocialDirectoryMongodb socialDirectoryMongodb = new SocialDirectoryMongodb(); - BeanUtils.copyProperties(socialDirectory, socialDirectoryMongodb); - Query query = new Query(Criteria.where("code").is(socialDirectoryMongodb.getCode())); - if (mongoTemplate.exists(query, SocialDirectoryMongodb.class, "social_directory")) { - Update update = new Update(); - update.set("name", socialDirectoryMongodb.getName()); - update.set("keyword", socialDirectoryMongodb.getKeyword()); - update.set("type", socialDirectoryMongodb.getType()); - update.set("producer", socialDirectoryMongodb.getProducer()); - mongoTemplate.updateFirst(query, update, SocialDirectoryMongodb.class, "social_directory"); - } else { - mongoTemplate.insert(socialDirectoryMongodb, "social_directory"); - } - } private void saveListToMongoDb(List list) { @@ -230,6 +215,13 @@ public class SocialDirectoryService extends BaseService { Index index = new Index().on("code", Sort.Direction.ASC).named("code_uni").unique(); mongoTemplate.indexOps("social_directory").ensureIndex(index); } + + //判断索引是否存在 + if (indexInfos.stream().noneMatch(index -> index.getName().equals("type_idx"))) { + DebugUtil.out("创建了type索引"); + Index index = new Index().on("type", Sort.Direction.ASC).named("type_idx"); + mongoTemplate.indexOps("social_directory").ensureIndex(index); + } } /* @@ -504,10 +496,7 @@ public class SocialDirectoryService extends BaseService { if (!keyword.trim().isEmpty()) { query.addCriteria(new Criteria().orOperator( - Criteria.where("code").regex(keyword, "i"), - Criteria.where("name").regex(keyword, "i"), - Criteria.where("keyword").regex(keyword, "i"), - Criteria.where("producer").regex(keyword, "i") + Criteria.where("keyword").regex(keyword, "i") )); } long count = mongoTemplate.count(query, SocialDirectoryMongodb.class, "social_directory");