Commit bf4f5d07 authored by suhuiguang's avatar suhuiguang

feat(综合搜索):增量更新

1.、数据同步增加删除逻辑
parent e25fb137
...@@ -6,4 +6,5 @@ import org.springframework.stereotype.Repository; ...@@ -6,4 +6,5 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface EsUserInfoDao extends PagingAndSortingRepository<EsUserInfo, String> { public interface EsUserInfoDao extends PagingAndSortingRepository<EsUserInfo, String> {
void deleteAllByUnitCode(String useCode);
} }
...@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; ...@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo; import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage; import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage;
import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler; import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.biz.refresh.StatisticsDataUpdateService; import com.yeejoin.amos.boot.module.jg.biz.refresh.StatisticsDataUpdateService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgDesignInfoServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgDesignInfoServiceImpl;
...@@ -52,6 +53,11 @@ public class EquipRefreshHandler implements IDataRefreshHandler { ...@@ -52,6 +53,11 @@ public class EquipRefreshHandler implements IDataRefreshHandler {
@Override @Override
public void doRefresh(TzsDataRefreshMessage message) { public void doRefresh(TzsDataRefreshMessage message) {
log.info("3库数据,设备开始刷库:唯一标识:{}", message.getDataId()); log.info("3库数据,设备开始刷库:唯一标识:{}", message.getDataId());
switch (DataRefreshEvent.Operation.valueOf(message.getOperation())){
case DELETE:
esEquipmentDao.deleteById(message.getDataId());
case INSERT:
case UPDATE:
String record = message.getDataId(); String record = message.getDataId();
ESEquipmentInfo esEquipmentInfo = new ESEquipmentInfo(); ESEquipmentInfo esEquipmentInfo = new ESEquipmentInfo();
Map<String, Object> map = categoryOtherInfoMapper.selectDataById(record); Map<String, Object> map = categoryOtherInfoMapper.selectDataById(record);
...@@ -82,6 +88,10 @@ public class EquipRefreshHandler implements IDataRefreshHandler { ...@@ -82,6 +88,10 @@ public class EquipRefreshHandler implements IDataRefreshHandler {
esEquipmentInfo.setMaintenances(lastMaintenanceRecordInfo.getSequenceNbr() != null ? Collections.singletonList(BeanUtil.copyProperties(lastMaintenanceRecordInfo, ESEquipmentInfo.Maintenance.class)) : new ArrayList<>()); esEquipmentInfo.setMaintenances(lastMaintenanceRecordInfo.getSequenceNbr() != null ? Collections.singletonList(BeanUtil.copyProperties(lastMaintenanceRecordInfo, ESEquipmentInfo.Maintenance.class)) : new ArrayList<>());
esEquipmentInfo.setTechParams(this.buildTechParamByEquList(record, categoryEs.getEQU_LIST_CODE())); esEquipmentInfo.setTechParams(this.buildTechParamByEquList(record, categoryEs.getEQU_LIST_CODE()));
esEquipmentDao.save(esEquipmentInfo); esEquipmentDao.save(esEquipmentInfo);
break;
default:
log.error("uno operation: {}",message.getOperation());
}
} }
private List<ESEquipmentInfo.TechParam> buildTechParamByEquList(String record, String equListCode) { private List<ESEquipmentInfo.TechParam> buildTechParamByEquList(String record, String equListCode) {
......
...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo; ...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo; import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage; import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage;
import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler; import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils; import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseUnitLicence; import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseUnitLicence;
...@@ -46,8 +47,15 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler { ...@@ -46,8 +47,15 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
@Override @Override
public void doRefresh(TzsDataRefreshMessage message) { public void doRefresh(TzsDataRefreshMessage message) {
log.info("3库数据,企业开始刷库:唯一标识:{}", message.getDataId()); log.info("3库数据,企业开始刷库:唯一标识:{}", message.getDataId());
// 企业信息更新
TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectById(message.getDataId()); TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectById(message.getDataId());
switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) {
case DELETE:
enterpriseInfoDao.deleteById(message.getDataId());
esUserInfoDao.deleteAllByUnitCode(enterpriseInfo.getUseCode());
break;
case INSERT:
case UPDATE:
// 企业信息更新
EsBaseEnterpriseInfo esBaseEnterpriseInfo = new EsBaseEnterpriseInfo(); EsBaseEnterpriseInfo esBaseEnterpriseInfo = new EsBaseEnterpriseInfo();
BeanUtil.copyProperties(enterpriseInfo, esBaseEnterpriseInfo); BeanUtil.copyProperties(enterpriseInfo, esBaseEnterpriseInfo);
esBaseEnterpriseInfo.setSequenceNbr(enterpriseInfo.getSequenceNbr() + ""); esBaseEnterpriseInfo.setSequenceNbr(enterpriseInfo.getSequenceNbr() + "");
...@@ -71,5 +79,10 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler { ...@@ -71,5 +79,10 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
if (userInfosEs.iterator().hasNext()) { if (userInfosEs.iterator().hasNext()) {
esUserInfoDao.saveAll(userInfosEs); esUserInfoDao.saveAll(userInfosEs);
} }
break;
default:
log.error("uno operation: {}", message.getOperation());
break;
}
} }
} }
...@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.common.api.dao.EsUserInfoDao; ...@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.common.api.dao.EsUserInfoDao;
import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo; import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage; import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage;
import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler; import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils; import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo; import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
...@@ -16,7 +17,6 @@ import com.yeejoin.amos.boot.module.tcm.biz.refresh.CommonRefreshService; ...@@ -16,7 +17,6 @@ import com.yeejoin.amos.boot.module.tcm.biz.refresh.CommonRefreshService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StopWatch;
@Component @Component
@Slf4j @Slf4j
...@@ -40,8 +40,12 @@ public class UserRefreshHandler implements IDataRefreshHandler { ...@@ -40,8 +40,12 @@ public class UserRefreshHandler implements IDataRefreshHandler {
@Override @Override
public void doRefresh(TzsDataRefreshMessage message) { public void doRefresh(TzsDataRefreshMessage message) {
log.info("3库数据,人员开始刷库:唯一标识:{}", message.getDataId()); log.info("3库数据,人员开始刷库:唯一标识:{}", message.getDataId());
StopWatch watch = new StopWatch(); switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) {
watch.start(); case DELETE:
esUserInfoDao.deleteById(message.getDataId());
break;
case INSERT:
case UPDATE:
TzsUserInfo userInfo = userInfoMapper.selectById(message.getDataId()); TzsUserInfo userInfo = userInfoMapper.selectById(message.getDataId());
TzBaseEnterpriseInfo unit = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>() TzBaseEnterpriseInfo unit = enterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>()
.select(BaseEntity::getSequenceNbr, .select(BaseEntity::getSequenceNbr,
...@@ -62,5 +66,10 @@ public class UserRefreshHandler implements IDataRefreshHandler { ...@@ -62,5 +66,10 @@ public class UserRefreshHandler implements IDataRefreshHandler {
esUserInfo.setSuperviseOrgCode(unit.getSuperviseOrgCode()); esUserInfo.setSuperviseOrgCode(unit.getSuperviseOrgCode());
esUserInfo.setLicenses(commonRefreshService.buildUserLicenses(userInfo.getSequenceNbr())); esUserInfo.setLicenses(commonRefreshService.buildUserLicenses(userInfo.getSequenceNbr()));
esUserInfoDao.save(esUserInfo); esUserInfoDao.save(esUserInfo);
break;
default:
log.error("uno operation: {}", message.getOperation());
break;
}
} }
} }
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