|
@@ -8,14 +8,13 @@ import com.persagy.apm.alarmservice.group.management.model.GroupManagement;
|
|
|
import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeInfoVO;
|
|
|
import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeVO;
|
|
|
import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
|
|
|
-import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
|
|
|
import com.persagy.apm.common.response.PageList;
|
|
|
import com.persagy.apm.model.dto.GroupManagementDTO;
|
|
|
import com.persagy.apm.model.vo.GroupManagementVo;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.checkerframework.checker.units.qual.A;
|
|
|
import org.elasticsearch.action.get.GetRequest;
|
|
|
import org.elasticsearch.action.get.GetResponse;
|
|
|
import org.elasticsearch.action.search.SearchRequest;
|
|
@@ -24,6 +23,9 @@ import org.elasticsearch.client.RequestOptions;
|
|
|
import org.elasticsearch.client.RestHighLevelClient;
|
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilders;
|
|
|
+import org.elasticsearch.index.query.TermQueryBuilder;
|
|
|
+import org.elasticsearch.index.reindex.BulkByScrollResponse;
|
|
|
+import org.elasticsearch.index.reindex.DeleteByQueryRequest;
|
|
|
import org.elasticsearch.rest.RestStatus;
|
|
|
import org.elasticsearch.search.SearchHit;
|
|
|
import org.elasticsearch.search.SearchHits;
|
|
@@ -53,6 +55,7 @@ import static org.apache.commons.lang3.math.NumberUtils.INTEGER_ZERO;
|
|
|
* @version 1.0
|
|
|
* @date 2021/9/8 14:18
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
|
|
@@ -65,6 +68,10 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
|
|
|
queryBuilder.must(QueryBuilders.matchQuery("class_code",managementDTO.getClassCode()));
|
|
|
queryBuilder.must(QueryBuilders.matchPhraseQuery("infos",managementDTO.getCondition()));
|
|
|
+ //新增根据项目id查询设备
|
|
|
+ if(StringUtils.isNotEmpty(managementDTO.getProjectId())){
|
|
|
+ queryBuilder.must(QueryBuilders.termsQuery("project_id",managementDTO.getProjectId()));
|
|
|
+ }
|
|
|
//模糊查询使用
|
|
|
if(StringUtils.isNotEmpty(managementDTO.getLocalName())) {
|
|
|
queryBuilder.must(QueryBuilders.matchQuery("local_name", managementDTO.getLocalName())
|
|
@@ -160,6 +167,9 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
List<GroupTreeInfoVO> groupTreeInfoVOList = Lists.newArrayList();
|
|
|
List<GroupManagement> groupManagementList = findEquipsByIds(ids);
|
|
|
for(GroupManagement management:groupManagementList) {
|
|
|
+ if(StringUtils.isEmpty(management.getInfos())){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
String infos = management.getInfos().replace(DELIM_START,"")
|
|
|
.replace(DELIM_END,"").replace("\"","")
|
|
|
.replace(BACKSLASH,"").replace(" ","")
|
|
@@ -192,6 +202,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
if(StringUtils.isNotEmpty(infoVO.getId())){
|
|
|
return infoVO;
|
|
|
}
|
|
|
+ //排除掉配置的时候存在不小心放入空格的情况
|
|
|
if(infoMap.containsKey(groupTreeVO.getCondition().replace(" ",""))){
|
|
|
BeanUtils.copyProperties(groupTreeVO,infoVO);
|
|
|
infoVO.setEquipId(equipId);
|
|
@@ -223,4 +234,19 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
throw new RuntimeException("json文件有误",ioe);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void batchDelete() {
|
|
|
+ DeleteByQueryRequest request = new DeleteByQueryRequest(INDEX_NAME);
|
|
|
+ //逻辑删除的数据直接从index中删除掉
|
|
|
+ request.setQuery(new TermQueryBuilder("valid", INTEGER_ZERO));
|
|
|
+ //每次最多删除一万条数据,如果不加这个则处理所有的文档
|
|
|
+ request.setMaxDocs(10000);
|
|
|
+ try {
|
|
|
+ BulkByScrollResponse resp = client.deleteByQuery(request, RequestOptions.DEFAULT);
|
|
|
+ log.info("删除返回的数据为---{}",resp.toString());
|
|
|
+ }catch (IOException e){
|
|
|
+ throw new RuntimeException("删除elasticSearch失败",e);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|