Commit 4864904c authored by 郭武斌's avatar 郭武斌

*)提交es相关api

parent daf92bd9
...@@ -58,6 +58,33 @@ public class ESAlertCalledService { ...@@ -58,6 +58,33 @@ public class ESAlertCalledService {
} }
/** /**
* 重建索引
*/
public Boolean initEs() throws Exception {
esAlertCalledRepository.deleteAll();
/**
* 同步历史48小时以内的警情处置记录
*/
QueryWrapper<AlertCalled> wrapper = new QueryWrapper<>();
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 480*60*60*1000;
Date date=new Date(currentTime);
wrapper.ge("call_time", date);
List<AlertCalled> alertCalleds = alertCalledService.list(wrapper);
if (!ValidationUtil.isEmpty(alertCalleds))
{
for (AlertCalled alertCalled : alertCalleds)
{
saveAlertCalledToES(alertCalled);
}
}
return true;
}
/**
* *
* <pre> * <pre>
* 批量保存 * 批量保存
...@@ -65,23 +92,77 @@ public class ESAlertCalledService { ...@@ -65,23 +92,77 @@ public class ESAlertCalledService {
* *
* @param list 警情信息列表 * @param list 警情信息列表
*/ */
public void saveAll(List<ESAlertCalled> list) { public void saveAll(List<AlertCalled> alertCalleds) throws Exception{
esAlertCalledRepository.saveAll(list);
if (!ValidationUtil.isEmpty(alertCalleds))
{
for (AlertCalled alertCalled : alertCalleds)
{
this.saveAlertCalledToES(alertCalled);
}
}
} }
/**
*
* <pre>
* 根据警情记录批量保存
* </pre>
*
* @param alertCalleds 警情信息列表
*/
public ESAlertCalled saveAlertCalledToES(AlertCalled alertCalled) throws Exception
{
ESAlertCalled esAlertCalled = new ESAlertCalled();
esAlertCalled.setSequenceNbr(alertCalled.getSequenceNbr());
esAlertCalled.setAlertType(alertCalled.getAlertType());
esAlertCalled.setAlertTypeCode(alertCalled.getAlertTypeCode());
esAlertCalled.setCallTime(alertCalled.getCallTime());
esAlertCalled.setCallTimeLong(alertCalled.getCallTime().getTime());
esAlertCalled.setContactUser(alertCalled.getContactUser());
esAlertCalled.setContactPhone(alertCalled.getContactPhone());
esAlertCalled.setAddress(alertCalled.getAddress());
esAlertCalled.setAlertStage(alertCalled.getAlertStage());
esAlertCalled.setAlertStatus(alertCalled.getAlertStatus());
if (alertCalled.getAlertStatus())
{
esAlertCalled.setAlertStatusStr(AlertStatusEnum.CLOSED.getCode());
}else
{
esAlertCalled.setAlertStatusStr(AlertStatusEnum.UNCLOSED.getCode());
}
esAlertCalled.setResponseLevelCode(alertCalled.getResponseLevelCode());
esAlertCalled.setUnitInvolved(alertCalled.getUnitInvolved());
esAlertCalled.setCoordinateX(alertCalled.getCoordinateX());
esAlertCalled.setCoordinateY(alertCalled.getCoordinateY());
esAlertCalledRepository.save(esAlertCalled);
return esAlertCalled;
}
/** /**
* 查询所有,根据接警时间降序排列 *
* <pre>
* 从ES库批量删除
* </pre>
* *
* @param current 页码 * @param ids
* @param size 页面大小 * @return
* @return Page对象 * @throws Exception
*/ */
// public Page<ESAlertCalled> findAll(int current, int size) { public Boolean deleteById(List<Long> ids) throws Exception{
// // 分页+排序 if (!ValidationUtil.isEmpty(ids)) {
// Sort.Order order=new Sort.Order(Sort.Direction.DESC, "callTime"); for (Long sequenceNbr : ids) {
// return esAlertCalledRepository.findAll(PageRequest.of(current, size, Sort.by(order))); if (esAlertCalledRepository.existsById(sequenceNbr)) {
// } esAlertCalledRepository.deleteById(sequenceNbr);
}
}
}
return true;
}
/** /**
* 根据id查询ES存储对象 * 根据id查询ES存储对象
* *
...@@ -194,217 +275,5 @@ public class ESAlertCalledService { ...@@ -194,217 +275,5 @@ public class ESAlertCalledService {
return result; return result;
} }
//
// /**
// * 为搜索结果添加人名翻译/汇总信息
// *
// * @param key 查询关键字
// * @param current 页码
// * @param size 每页数量
// * @return Page对象
// */
// public com.baomidou.mybatisplus.extension.plugins.pagination.Page queryAndDetail(String key, int current, int size) {
// List<Map<String, Object>> resList = new ArrayList<>();
// Page<ESAlertCalled> entityPage = queryByKeys(key, current, size);
// List<ESAlertCalled> docEntityList = entityPage.getContent();
// Set<String> userSet = new HashSet<>();
// for (ESAlertCalled ESAlertCalled : docEntityList) {
// KnowledgeDocContentModel contentModel = JSON.parseObject(ESAlertCalled.getDocJson(), KnowledgeDocContentModel.class);
// List<KnowledgeDynamicsValueModel> listByInstance = dynamicsValueService.queryByInstanceId(contentModel.getSequenceNbr());
// Map<String, Object> fieldMap = Bean.listToMap(listByInstance, "fieldName", "fieldValue", KnowledgeDynamicsValueModel.class);
// Map<String, Object> map = Bean.BeantoMap(ESAlertCalled);
// // 收藏数/引用数
// map.put("referenceNum", docLibraryService.getReferenceCount(contentModel.getSequenceNbr()));
// map.put("collectionNum", docLibraryService.getCollectionCount(contentModel.getSequenceNbr()));
// map.put("userId", contentModel.getUserId());
// userSet.add(contentModel.getUserId());
// map.putAll(fieldMap);
// resList.add(map);
// }
// Map<String, String> userMap = RemoteData.getUserMap(userSet);
// for (Map<String, Object> map : resList) {
// map.put("userName", userMap.get(map.get("userId")));
// map.remove("htmlContent");
// map.remove("docJson");
// }
// com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page();
// page.setTotal(entityPage.getTotalElements());
// page.setSize(size);
// page.setRecords(resList);
// return page;
// }
// /**
// * 将文档基本信息转为关键字符串
// *
// * @param baseInfo 基本信息
// * @param enumCnEnMap 枚举字典数据
// * @return
// */
// private String baseInfo2Str(Map<String, Object> baseInfo, Map<String, Map<String, String>> enumCnEnMap) {
// StringBuilder infoStr = new StringBuilder();
// for (String field : baseInfo.keySet()) {
// if (DocContentService.DOC_TITLE.equals(field)) {
// continue;
// }
// if (enumCnEnMap.containsKey(field)) {
// String enumCn = enumCnEnMap.get(field).get(baseInfo.get(field));
// if (!ValidationUtil.isEmpty(enumCn)) {
// infoStr.append(enumCn).append(" ");
// }
// } else {
// Object value = baseInfo.get(field);
// if (!ValidationUtil.isEmpty(value)) {
// infoStr.append(value.toString()).append(" ");
// }
// }
// }
// return infoStr.toString().trim();
// }
// /**
// * 根据标签实例列表创建ES标签列表
// */
// private List<ESTagEntity> buildESTagsByInstanceList(List<KnowledgeTagInstanceModel> instanceList) {
// List<ESTagEntity> tags = new ArrayList<>();
// if (!ValidationUtil.isEmpty(instanceList)) {
// for (KnowledgeTagInstanceModel instanceModel : instanceList) {
// ESTagEntity tag = new ESTagEntity()
// .setSequenceNbr(instanceModel.getSequenceNbr())
// .setTagSeq(instanceModel.getTagSeq())
// .setTagName(instanceModel.getTagName())
// .setTagInfo(getTagInfoStr(instanceModel))
// .setTagJson(JSON.toJSONString(instanceModel));
// tags.add(tag);
// }
// }
// return tags;
// }
//
// /**
// * 获取标签信息:标签名&值
// *
// * @param instanceModel 标签实例
// * @return 信息文本
// */
// private String getTagInfoStr(KnowledgeTagInstanceModel instanceModel) {
// StringBuilder infoStr = new StringBuilder();
// infoStr.append(instanceModel.getTagName()).append(" ");
// if (TagService.TAG_TYPE_TEXT.equals(instanceModel.getTagType())
// || ValidationUtil.isEmpty(instanceModel.getTagValues())) {
// return infoStr.toString().trim();
// }
// for (KnowledgeTagValueModel valueModel : instanceModel.getTagValues()) {
// String fieldName = valueModel.getFieldName();
// String tagValue = valueModel.getTagValue();
// switch (fieldName) {
// case TagValueService.VALUE_TAG_FIELD_DATE_H:
// infoStr.append(tagValue).append(" ");
// try {
// Date date = DateUtil.formatStringToDate(tagValue, null);
// infoStr.append(DateUtil.formatDate(date, DateUtil.YMD)).append(" ");
// infoStr.append(DateUtil.formatDate(date, DateUtil.YMDHM)).append(" ");
// infoStr.append(DateUtil.formatDate(date, DateUtil.ymd)).append(" ");
// infoStr.append(DateUtil.formatDate(date, DateUtil.Y_M_D)).append(" ");
// infoStr.append(DateUtil.formatDate(date, COMMON_FORMAT)).append(" ");
// } catch (Exception e) {
// e.printStackTrace();
// }
// break;
// default:
// infoStr.append(tagValue).append(" ");
// }
// }
// return infoStr.toString().trim();
// }
/**
*
* <pre>
* 从ES库批量删除
* </pre>
*
* @param ids
* @return
* @throws Exception
*/
public Boolean deleteById(List<Long> ids) throws Exception{
if (!ValidationUtil.isEmpty(ids)) {
for (Long sequenceNbr : ids) {
if (esAlertCalledRepository.existsById(sequenceNbr)) {
esAlertCalledRepository.deleteById(sequenceNbr);
}
}
}
return true;
}
/**
* 重建索引
*/
public Boolean initEs() throws Exception {
esAlertCalledRepository.deleteAll();
/**
* 同步历史48小时以内的警情处置记录
*/
QueryWrapper<AlertCalled> wrapper = new QueryWrapper<>();
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 480*60*60*1000;
Date date=new Date(currentTime);
wrapper.ge("call_time", date);
List<AlertCalled> alertCalleds = alertCalledService.list(wrapper);
if (!ValidationUtil.isEmpty(alertCalleds))
{
for (AlertCalled alertCalled : alertCalleds)
{
saveAlertCalledToES(alertCalled);
}
}
return true;
}
/**
*
* <pre>
* 根据警情记录批量保存
* </pre>
*
* @param alertCalleds 警情信息列表
*/
public ESAlertCalled saveAlertCalledToES(AlertCalled alertCalled) throws Exception
{
ESAlertCalled esAlertCalled = new ESAlertCalled();
esAlertCalled.setSequenceNbr(alertCalled.getSequenceNbr());
esAlertCalled.setAlertType(alertCalled.getAlertType());
esAlertCalled.setAlertTypeCode(alertCalled.getAlertTypeCode());
esAlertCalled.setCallTime(alertCalled.getCallTime());
esAlertCalled.setCallTimeLong(alertCalled.getCallTime().getTime());
esAlertCalled.setContactUser(alertCalled.getContactUser());
esAlertCalled.setContactPhone(alertCalled.getContactPhone());
esAlertCalled.setAddress(alertCalled.getAddress());
esAlertCalled.setAlertStage(alertCalled.getAlertStage());
esAlertCalled.setAlertStatus(alertCalled.getAlertStatus());
if (alertCalled.getAlertStatus())
{
esAlertCalled.setAlertStatusStr(AlertStatusEnum.CLOSED.getCode());
}else
{
esAlertCalled.setAlertStatusStr(AlertStatusEnum.UNCLOSED.getCode());
}
esAlertCalled.setResponseLevelCode(alertCalled.getResponseLevelCode());
esAlertCalled.setUnitInvolved(alertCalled.getUnitInvolved());
esAlertCalled.setCoordinateX(alertCalled.getCoordinateX());
esAlertCalled.setCoordinateY(alertCalled.getCoordinateY());
esAlertCalledRepository.save(esAlertCalled);
return esAlertCalled;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment