查询接口
This commit is contained in:
@@ -71,6 +71,16 @@ public class ResetSearchCenterController extends BaseController<Map<String, Obje
|
||||
return resetSearchCenterService.syncResetALLSearchCenter(searchCenter);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "|SearchCenter|手动重新创建 ALL标准数据索引(凌晨有自动程序会跑)")
|
||||
@PostMapping(value="/manualResetALLSearchCenter1")
|
||||
public ResponseMessage manualResetALLSearchCenter1(@RequestBody SearchCenter searchCenter) throws Exception{
|
||||
ResponseMessage x = verifySearchCenter(searchCenter);
|
||||
if (x != null){
|
||||
return x;
|
||||
}
|
||||
return resetSearchCenterService.syncResetALLSearchCenter1(searchCenter);
|
||||
}
|
||||
|
||||
private ResponseMessage verifySearchCenter(SearchCenter searchCenter) {
|
||||
if(searchCenter.getExecType() == null || "".equals(searchCenter.getExecType())){
|
||||
return Result.error("执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据");
|
||||
|
||||
@@ -297,6 +297,44 @@ public class ResetSearchCenterService {
|
||||
return Result.success(res);
|
||||
}
|
||||
|
||||
|
||||
@Async
|
||||
public ResponseMessage syncResetALLSearchCenter1(SearchCenter searchCenter) throws Exception{
|
||||
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
||||
SearchCenter standSearch = new SearchCenter();
|
||||
standSearch.setExecType(searchCenter.getExecType());
|
||||
SarStandardsInfoEOPage page = new SarStandardsInfoEOPage();
|
||||
page.setSyncParam("sync");
|
||||
ResponseMessage stand = resetStandSearchCenterId(page,standSearch);
|
||||
List<String> r = new ArrayList<>();
|
||||
if(stand.isOk() && StringUtils.isNotBlank(stand.getData().toString())){
|
||||
r.add(stand.getData().toString());
|
||||
}
|
||||
|
||||
SearchCenter lawsSearch = new SearchCenter();
|
||||
lawsSearch.setExecType(searchCenter.getExecType());
|
||||
SarLawsStandInfoPage lawsPage = new SarLawsStandInfoPage();
|
||||
lawsPage.setSyncParam("sync");
|
||||
ResponseMessage laws = resetLawsSearchCenterId(lawsPage,lawsSearch);
|
||||
if(laws.isOk() && StringUtils.isNotBlank(laws.getData().toString())){
|
||||
r.add(laws.getData().toString());
|
||||
}
|
||||
|
||||
SearchCenter bussSearch = new SearchCenter();
|
||||
bussSearch.setExecType(searchCenter.getExecType());
|
||||
SarBussionessStandEOPage bussPage = new SarBussionessStandEOPage();
|
||||
bussPage.setSyncParam("sync");
|
||||
ResponseMessage buss = resetBussStandSearchCenterId(bussPage,bussSearch);
|
||||
if(buss.isOk() && StringUtils.isNotBlank(buss.getData().toString())){
|
||||
r.add(buss.getData().toString());
|
||||
}
|
||||
|
||||
String res = String.join(", ", r);
|
||||
logger.info(res);
|
||||
|
||||
return Result.success(res);
|
||||
}
|
||||
|
||||
//重建国内外标准
|
||||
@Async
|
||||
public ResponseMessage resetStandSearchCenterToFields(List<String> esIdList,Map<String,Integer> dicMap) throws Exception {
|
||||
@@ -584,6 +622,139 @@ public class ResetSearchCenterService {
|
||||
|
||||
}
|
||||
|
||||
//重建国内外标准
|
||||
@Async
|
||||
public ResponseMessage resetStandSearchCenterId(SarStandardsInfoEOPage page,SearchCenter searchCenter) throws Exception{
|
||||
|
||||
int countUpdateSuccess = 0;
|
||||
int countAddSuccess = 0;
|
||||
|
||||
Boolean getStandIndex = elasticsearchService.isIndexExist("stand");
|
||||
|
||||
if(!getStandIndex){
|
||||
logger.info("ES 不存在索引:stand");
|
||||
return Result.error("ES 不存在索引:stand");
|
||||
}
|
||||
|
||||
String search = getSearch(searchCenter);
|
||||
|
||||
List<Map<String, Object>> searchListData = elasticsearchService.searchAll("stand",search);
|
||||
|
||||
List<String> esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList());
|
||||
|
||||
page.setValidFlag("0");
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
||||
String[] result = searchCenter.getIdList().toArray(new String[0]);
|
||||
page.setIdlist(result);
|
||||
}
|
||||
QueryWrapper qw = new QueryWrapper();
|
||||
qw.eq("VALID_FLAG","0");
|
||||
int count = iSarStandardsInfoService.count(qw);
|
||||
if(count > 0){
|
||||
page.setPageSize(count);
|
||||
page.setMenuId("nomenu");
|
||||
page.setStandType("ALL");
|
||||
List<SarStandardsInfo> rowsStand = iSarStandardsInfoService.getSarStandardsInfoPage(page);
|
||||
List<SarStandardsInfo> insList = new ArrayList<>();
|
||||
List<SarStandardsInfo> updList = new ArrayList<>();
|
||||
List<String> insIdList = new ArrayList<>();
|
||||
List<String> updIdList = new ArrayList<>();
|
||||
List<String> delList = new ArrayList<>();
|
||||
List<String> standIdList = rowsStand.stream().map(SarStandardsInfo::getId).collect(Collectors.toList());
|
||||
if(!esIdList.isEmpty()){
|
||||
|
||||
// 差集 (list1 - list2) 新增
|
||||
List<SarStandardsInfo> distinctByUniqueList = rowsStand.stream()
|
||||
.filter(item -> !new ArrayList<>(esIdList)
|
||||
.contains(item.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
||||
List<SarStandardsInfo> collect = distinctByUniqueList.stream()
|
||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||
insList.addAll(collect);
|
||||
for (SarStandardsInfo sarStandardsInfo : collect) {
|
||||
insIdList.add(sarStandardsInfo.getId());
|
||||
}
|
||||
}else{
|
||||
insList.addAll(distinctByUniqueList);
|
||||
for (SarStandardsInfo sarStandardsInfo : distinctByUniqueList) {
|
||||
insIdList.add(sarStandardsInfo.getId());
|
||||
}
|
||||
}
|
||||
|
||||
// 交集 更新
|
||||
List<SarStandardsInfo> intersection = rowsStand.stream()
|
||||
.filter(item -> new ArrayList<>(esIdList)
|
||||
.contains(item.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
||||
List<SarStandardsInfo> collect = intersection.stream()
|
||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||
updList.addAll(collect);
|
||||
for (SarStandardsInfo sarStandardsInfo : collect) {
|
||||
updIdList.add(sarStandardsInfo.getId());
|
||||
}
|
||||
}else{
|
||||
updList.addAll(intersection);
|
||||
for (SarStandardsInfo sarStandardsInfo : intersection) {
|
||||
updIdList.add(sarStandardsInfo.getId());
|
||||
}
|
||||
}
|
||||
|
||||
// 差集 (list2 - list1) 删除
|
||||
List<String> delDataList = esIdList.stream().filter(num -> !standIdList.contains(num))
|
||||
.collect(Collectors.toList());
|
||||
// 可以更新IDLIST 删除 ES
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){
|
||||
delList.addAll(searchCenter.getIdList());
|
||||
}else{
|
||||
delList.addAll(delDataList);
|
||||
}
|
||||
|
||||
}else {
|
||||
// 新增
|
||||
insList.addAll(rowsStand);
|
||||
for (SarStandardsInfo sarStandardsInfo : rowsStand) {
|
||||
insIdList.add(sarStandardsInfo.getId());
|
||||
}
|
||||
}
|
||||
|
||||
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||
for(SarStandardsInfo sarStandardsInfoEO : updList){
|
||||
countUpdateSuccess++;
|
||||
standFunc(sarStandardsInfoEO);
|
||||
// createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
||||
}
|
||||
}
|
||||
|
||||
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||
for(SarStandardsInfo sarStandardsInfoEO : insList){
|
||||
countAddSuccess++;
|
||||
standFunc(sarStandardsInfoEO);
|
||||
if (sarStandardsInfoEO.getAttrInfoMap() != null) {
|
||||
sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap()));
|
||||
}
|
||||
// createStandMQService.sendStandMQ(sarStandardsInfoEO,"add");
|
||||
}
|
||||
}
|
||||
String a = "";
|
||||
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()) && !"sync".equals(page.getSyncParam()))){
|
||||
// elasticsearchService.deleteBatchId(delList,"stand");
|
||||
// elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
||||
logger.info("重置国内外标准:删除-共"+delList.size()+"条数据");
|
||||
a = "国内外政策:应删除-共"+delList.size()+"条数据:"+ String.join(",",delList);
|
||||
}
|
||||
String b = "国内外政策:新增-"+ String.join(",",insIdList);
|
||||
String c = "国内外政策:修改-"+ String.join(",",updIdList);
|
||||
logger.info("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据");
|
||||
return Result.success(a+b+c);
|
||||
}else {
|
||||
logger.info("未查询到标准数据");
|
||||
return Result.error("未查询到标准数据");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private String getSearch(SearchCenter searchCenter) {
|
||||
String search = "";
|
||||
if(StringUtils.isNotBlank(searchCenter.getSearch())) {
|
||||
@@ -980,6 +1151,173 @@ public class ResetSearchCenterService {
|
||||
|
||||
}
|
||||
|
||||
@Async
|
||||
public ResponseMessage resetLawsSearchCenterId(SarLawsStandInfoPage sarLawsInfoEOPage,SearchCenter searchCenter) throws Exception{
|
||||
Boolean getLawsIndex = elasticsearchService.isIndexExist("laws");
|
||||
|
||||
if(!getLawsIndex){
|
||||
logger.info("ES 不存在索引:laws");
|
||||
return Result.error("ES 不存在索引:laws");
|
||||
}
|
||||
|
||||
String search = getSearch(searchCenter);
|
||||
|
||||
List<Map<String, Object>> searchListData = elasticsearchService.searchAll("laws",search);
|
||||
|
||||
List<String> esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList());
|
||||
|
||||
sarLawsInfoEOPage.setLawsType("FOREIGN");
|
||||
|
||||
// page idlist 赋值
|
||||
idListFunc(sarLawsInfoEOPage, searchCenter);
|
||||
|
||||
int countUpdateSuccess = 0;
|
||||
int countAddSuccess = 0;
|
||||
QueryWrapper qw2 = new QueryWrapper();
|
||||
qw2.eq("VALID_FLAG","0");
|
||||
int count2 = iSarLawsStandInfoService.count(qw2);
|
||||
if(count2 > 0){
|
||||
sarLawsInfoEOPage.setPageSize(count2);
|
||||
List<SarLawsStandInfo> rowsStand = iSarLawsStandInfoService.getSarStandardsInfoPage(sarLawsInfoEOPage);
|
||||
List<SarLawsStandInfo> insList = new ArrayList<>();
|
||||
List<SarLawsStandInfo> updList = new ArrayList<>();
|
||||
List<String> insIdList = new ArrayList<>();
|
||||
List<String> updIdList = new ArrayList<>();
|
||||
List<String> delList = new ArrayList<>();
|
||||
List<String> standIdList = rowsStand.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList());
|
||||
|
||||
if(!esIdList.isEmpty()){
|
||||
|
||||
// 差集 (list1 - list2) 新增
|
||||
List<SarLawsStandInfo> distinctByUniqueList = rowsStand.stream()
|
||||
.filter(item -> !new ArrayList<>(esIdList)
|
||||
.contains(item.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
||||
List<SarLawsStandInfo> collect = distinctByUniqueList.stream()
|
||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||
insList.addAll(collect);
|
||||
for (SarLawsStandInfo sarLawsStandInfo : insList) {
|
||||
insIdList.add(sarLawsStandInfo.getId());
|
||||
}
|
||||
}else{
|
||||
insList.addAll(distinctByUniqueList);
|
||||
for (SarLawsStandInfo sarLawsStandInfo : distinctByUniqueList) {
|
||||
insIdList.add(sarLawsStandInfo.getId());
|
||||
}
|
||||
}
|
||||
// 交集 更新
|
||||
List<SarLawsStandInfo> intersection = rowsStand.stream()
|
||||
.filter(item -> new ArrayList<>(esIdList)
|
||||
.contains(item.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
||||
List<SarLawsStandInfo> collect = intersection.stream()
|
||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||
updList.addAll(collect);
|
||||
for (SarLawsStandInfo sarLawsStandInfo : collect) {
|
||||
updIdList.add(sarLawsStandInfo.getId());
|
||||
}
|
||||
}else{
|
||||
updList.addAll(intersection);
|
||||
for (SarLawsStandInfo sarLawsStandInfo : intersection) {
|
||||
updIdList.add(sarLawsStandInfo.getId());
|
||||
}
|
||||
}
|
||||
|
||||
// 差集 (list2 - list1) 删除
|
||||
List<String> delDataList = esIdList.stream().filter(num -> !standIdList.contains(num))
|
||||
.collect(Collectors.toList());
|
||||
// 可以更新IDLIST 删除 ES
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){
|
||||
delList.addAll(searchCenter.getIdList());
|
||||
}else{
|
||||
delList.addAll(delDataList);
|
||||
}
|
||||
|
||||
}else {
|
||||
// 新增
|
||||
insList.addAll(rowsStand);
|
||||
for (SarLawsStandInfo sarLawsStandInfo : rowsStand) {
|
||||
insIdList.add(sarLawsStandInfo.getId());
|
||||
}
|
||||
}
|
||||
|
||||
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||
for(SarLawsStandInfo sarLawsInfoEO : updList){
|
||||
countUpdateSuccess++;
|
||||
lawsAttrInfoShowSearchDetails(sarLawsInfoEO);
|
||||
FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO();
|
||||
pageInfo.setStandId(sarLawsInfoEO.getId());
|
||||
pageInfo.setFileType("FBGBJBD");
|
||||
|
||||
/**
|
||||
* SarItemVO换为sarItemVOS
|
||||
* List<SarItemVO> sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
* .collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName));
|
||||
*/
|
||||
|
||||
List<SarLawsItems> sarItemVOS = sarLawsItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
if(!sarItemVOS.isEmpty()){
|
||||
Map<String,String> collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null)
|
||||
.collect(Collectors.toMap(SarLawsItems::getItemsNum, SarLawsItems::getTermsConditions));
|
||||
sarLawsInfoEO.setMapItems(collectMap);
|
||||
}
|
||||
if (sarLawsInfoEO.getAttrInfoMap() != null) {
|
||||
sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap()));
|
||||
}
|
||||
// createStandMQService.sendLawsMQ(sarLawsInfoEO,"update");
|
||||
}
|
||||
}
|
||||
|
||||
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||
for(SarLawsStandInfo sarLawsInfoEO : insList){
|
||||
countAddSuccess++;
|
||||
lawsAttrInfoShowSearchDetails(sarLawsInfoEO);
|
||||
FindSarItemsPageReqDTO pageInfo = new FindSarItemsPageReqDTO();
|
||||
pageInfo.setStandId(sarLawsInfoEO.getId());
|
||||
pageInfo.setFileType("FBGBJBD");
|
||||
|
||||
/**
|
||||
* SarItemVO换为sarItemVOS
|
||||
* List<SarItemVO> sarItemVOS = standItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
* .collect(Collectors.toMap(SarItemVO::getItemsNum, SarItemVO::getItemsName));
|
||||
*/
|
||||
|
||||
List<SarLawsItems> sarItemVOS = sarLawsItemsDao.querySarItemAndInterpretation(pageInfo);
|
||||
if(!sarItemVOS.isEmpty()){
|
||||
Map<String,String> collectMap = sarItemVOS.stream().filter((e) -> e.getItemsNum() != null && e.getItemsName() != null)
|
||||
.collect(Collectors.toMap(SarLawsItems::getItemsNum, SarLawsItems::getTermsConditions));
|
||||
sarLawsInfoEO.setMapItems(collectMap);
|
||||
}
|
||||
if (sarLawsInfoEO.getAttrInfoMap() != null) {
|
||||
sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap()));
|
||||
}
|
||||
if (sarLawsInfoEO.getAttrInfoMap() != null) {
|
||||
sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap()));
|
||||
}
|
||||
// createStandMQService.sendLawsMQ(sarLawsInfoEO,"add");
|
||||
}
|
||||
}
|
||||
String rett = "";
|
||||
String a = "";
|
||||
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()) && !"sync".equals(sarLawsInfoEOPage.getSyncParam()))){
|
||||
// elasticsearchService.deleteBatchId(delList,"laws");
|
||||
// elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
||||
logger.info("国内外政策:应删除-共"+delList.size()+"条数据:"+ String.join(",",delList));
|
||||
a = "国内外政策:应删除-共"+delList.size()+"条数据:"+ String.join(",",delList);
|
||||
}
|
||||
String b = "国内外政策:新增-"+ String.join(",",insIdList);
|
||||
String c = "国内外政策:修改-"+ String.join(",",updIdList);
|
||||
logger.info("重置国内外政策:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外政策共:"+rowsStand.size()+"条)数据");
|
||||
return Result.success(a+b+c);
|
||||
}else {
|
||||
logger.info("未查询到国内外政策数据");
|
||||
return Result.error("未查询到国内外政策数据");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void lawsAttrInfoSearchDetails(SarLawsStandInfo row) throws Exception {
|
||||
String fieldInfo = InitStandAttrUtil.queryFieldLaws;
|
||||
String collectId = personCollectEOService.queryCollectByUserAndId(row.getId());
|
||||
@@ -1359,6 +1697,144 @@ public class ResetSearchCenterService {
|
||||
|
||||
}
|
||||
|
||||
@Async
|
||||
public ResponseMessage resetBussStandSearchCenterId(SarBussionessStandEOPage sarBussionessStandEOPage,SearchCenter searchCenter) throws Exception{
|
||||
Boolean getbussstandIndex = elasticsearchService.isIndexExist("bussstand");
|
||||
|
||||
if(!getbussstandIndex){
|
||||
logger.info("ES 不存在索引:bussstand");
|
||||
return Result.error("ES 不存在索引:bussstand");
|
||||
}
|
||||
|
||||
String search = getSearch(searchCenter);
|
||||
|
||||
List<Map<String, Object>> searchListData = elasticsearchService.searchAll("bussstand",search);
|
||||
|
||||
List<String> esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList());
|
||||
|
||||
sarBussionessStandEOPage.setValidFlag("0");
|
||||
sarBussionessStandEOPage.setOrderBy("SAR_BUSSIONESS_STAND.issue_time is null,SAR_BUSSIONESS_STAND.issue_time desc,SAR_BUSSIONESS_STAND.id");
|
||||
sarBussionessStandEOPage.setMenuRoleList(null);
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
||||
String[] result = searchCenter.getIdList().toArray(new String[0]);
|
||||
sarBussionessStandEOPage.setIdlist(result);
|
||||
}
|
||||
|
||||
int countUpdateSuccess = 0;
|
||||
int countAddSuccess = 0;
|
||||
sarBussionessStandEOPage.setMenuId("0");
|
||||
|
||||
QueryWrapper qw3 = new QueryWrapper();
|
||||
qw3.eq("VALID_FLAG","0");
|
||||
int count3 = iSarBussionessStandService.count(qw3);
|
||||
|
||||
if(count3 > 0){
|
||||
sarBussionessStandEOPage.setPageSize(count3);
|
||||
|
||||
List<SarBussionessStand> rowsStand = iSarBussionessStandService.getSarBussionStandPage(sarBussionessStandEOPage);
|
||||
List<SarBussionessStand> insList = new ArrayList<>();
|
||||
List<SarBussionessStand> updList = new ArrayList<>();
|
||||
List<String> insIdList = new ArrayList<>();
|
||||
List<String> updIdList = new ArrayList<>();
|
||||
List<String> delList = new ArrayList<>();
|
||||
List<String> standIdList = rowsStand.stream().map(SarBussionessStand::getId).collect(Collectors.toList());
|
||||
|
||||
if(!esIdList.isEmpty()){
|
||||
|
||||
// 差集 (list1 - list2) 新增
|
||||
List<SarBussionessStand> distinctByUniqueList = rowsStand.stream()
|
||||
.filter(item -> !new ArrayList<>(esIdList)
|
||||
.contains(item.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
||||
List<SarBussionessStand> collect = distinctByUniqueList.stream()
|
||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||
insList.addAll(collect);
|
||||
for (SarBussionessStand sarBussionessStand : collect) {
|
||||
insIdList.add(sarBussionessStand.getId());
|
||||
}
|
||||
}else{
|
||||
insList.addAll(distinctByUniqueList);
|
||||
for (SarBussionessStand sarBussionessStand : distinctByUniqueList) {
|
||||
insIdList.add(sarBussionessStand.getId());
|
||||
}
|
||||
}
|
||||
|
||||
// 交集 更新
|
||||
List<SarBussionessStand> intersection = rowsStand.stream()
|
||||
.filter(item -> new ArrayList<>(esIdList)
|
||||
.contains(item.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
||||
List<SarBussionessStand> collect = intersection.stream()
|
||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||
updList.addAll(collect);
|
||||
for (SarBussionessStand sarBussionessStand : collect) {
|
||||
updIdList.add(sarBussionessStand.getId());
|
||||
}
|
||||
}else{
|
||||
updList.addAll(intersection);
|
||||
for (SarBussionessStand sarBussionessStand : intersection) {
|
||||
updIdList.add(sarBussionessStand.getId());
|
||||
}
|
||||
}
|
||||
|
||||
// 差集 (list2 - list1) 删除
|
||||
List<String> delDataList = esIdList.stream().filter(num -> !standIdList.contains(num))
|
||||
.collect(Collectors.toList());
|
||||
// 可以更新IDLIST 删除 ES
|
||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){
|
||||
delList.addAll(searchCenter.getIdList());
|
||||
}else{
|
||||
delList.addAll(delDataList);
|
||||
}
|
||||
}else {
|
||||
// 新增
|
||||
insList.addAll(rowsStand);
|
||||
for (SarBussionessStand sarBussionessStand : rowsStand) {
|
||||
insIdList.add(sarBussionessStand.getId());
|
||||
}
|
||||
}
|
||||
|
||||
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||
for(SarBussionessStand sarBussionessStandEO : updList){
|
||||
countUpdateSuccess++;
|
||||
bussAttrInfoShowSearchDetails(sarBussionessStandEO);
|
||||
if (sarBussionessStandEO.getAttrInfoMap() != null) {
|
||||
sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap()));
|
||||
}
|
||||
// createStandMQService.sendBussStandMQ(sarBussionessStandEO,"update");
|
||||
}
|
||||
}
|
||||
|
||||
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||
for(SarBussionessStand sarBussionessStandEO : insList){
|
||||
countAddSuccess++;
|
||||
bussAttrInfoShowSearchDetails(sarBussionessStandEO);
|
||||
if (sarBussionessStandEO.getAttrInfoMap() != null) {
|
||||
sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap()));
|
||||
}
|
||||
// createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add");
|
||||
}
|
||||
}
|
||||
String a = "";
|
||||
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()) && !"sync".equals(sarBussionessStandEOPage.getSyncParam()))){
|
||||
// elasticsearchService.deleteBatchId(delList,"bussstand");
|
||||
// elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
||||
logger.info("重置企标:删除-共"+delList.size()+"条数据");
|
||||
a = "国内外政策:应删除-共"+delList.size()+"条数据:"+ String.join(",",delList);
|
||||
}
|
||||
String b = "国内外政策:新增-"+ String.join(",",insIdList);
|
||||
String c = "国内外政策:修改-"+ String.join(",",updIdList);
|
||||
logger.info("重置企标:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(企标共:"+rowsStand.size()+"条)数据");
|
||||
return Result.success(a+b+c);
|
||||
}else {
|
||||
logger.info("未查询到企标数据");
|
||||
return Result.error("未查询到企标数据");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void bussAttrInfoShowSearchDetails(SarBussionessStand row) throws Exception {
|
||||
if (row != null) {
|
||||
bussAttrInfoSearchDetails(row);
|
||||
|
||||
Reference in New Issue
Block a user