feat: There is no way the, 优化ES
This commit is contained in:
@@ -15,8 +15,8 @@ import java.util.List;
|
|||||||
@Data
|
@Data
|
||||||
public class SearchCenter {
|
public class SearchCenter {
|
||||||
|
|
||||||
@ApiModelProperty(value = "分页查询总数 可不填 自动带入总数")
|
// @ApiModelProperty(value = "分页查询总数 可不填 自动带入总数")
|
||||||
private Integer countStand;
|
// private Integer countStand;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@ApiModelProperty(value = "执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据(删除只能用DEL 减少自动错删)")
|
@ApiModelProperty(value = "执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据(删除只能用DEL 减少自动错删)")
|
||||||
|
|||||||
+227
-226
@@ -70,11 +70,7 @@ public class ResetSearchCenterService {
|
|||||||
public ResponseMessage resetALLSearchCenter(SearchCenter searchCenter) throws Exception{
|
public ResponseMessage resetALLSearchCenter(SearchCenter searchCenter) throws Exception{
|
||||||
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
||||||
SearchCenter standSearch = new SearchCenter();
|
SearchCenter standSearch = new SearchCenter();
|
||||||
QueryWrapper qw = new QueryWrapper();
|
|
||||||
qw.eq("VALID_FLAG","0");
|
|
||||||
int count = iSarStandardsInfoService.count(qw);
|
|
||||||
standSearch.setExecType(searchCenter.getExecType());
|
standSearch.setExecType(searchCenter.getExecType());
|
||||||
standSearch.setCountStand(count);
|
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
||||||
standSearch.setIdList(searchCenter.getIdList());
|
standSearch.setIdList(searchCenter.getIdList());
|
||||||
}
|
}
|
||||||
@@ -86,11 +82,7 @@ public class ResetSearchCenterService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SearchCenter lawsSearch = new SearchCenter();
|
SearchCenter lawsSearch = new SearchCenter();
|
||||||
QueryWrapper qw2 = new QueryWrapper();
|
|
||||||
qw2.eq("VALID_FLAG","0");
|
|
||||||
int count2 = iSarLawsStandInfoService.count(qw2);
|
|
||||||
lawsSearch.setExecType(searchCenter.getExecType());
|
lawsSearch.setExecType(searchCenter.getExecType());
|
||||||
lawsSearch.setCountStand(count2);
|
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
||||||
lawsSearch.setIdList(searchCenter.getIdList());
|
lawsSearch.setIdList(searchCenter.getIdList());
|
||||||
}
|
}
|
||||||
@@ -101,11 +93,7 @@ public class ResetSearchCenterService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SearchCenter bussSearch = new SearchCenter();
|
SearchCenter bussSearch = new SearchCenter();
|
||||||
QueryWrapper qw3 = new QueryWrapper();
|
|
||||||
qw3.eq("VALID_FLAG","0");
|
|
||||||
int count3 = iSarBussionessStandService.count(qw3);
|
|
||||||
bussSearch.setExecType(searchCenter.getExecType());
|
bussSearch.setExecType(searchCenter.getExecType());
|
||||||
bussSearch.setCountStand(count3);
|
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
||||||
bussSearch.setIdList(searchCenter.getIdList());
|
bussSearch.setIdList(searchCenter.getIdList());
|
||||||
}
|
}
|
||||||
@@ -125,11 +113,7 @@ public class ResetSearchCenterService {
|
|||||||
public ResponseMessage syncResetALLSearchCenter(SearchCenter searchCenter) throws Exception{
|
public ResponseMessage syncResetALLSearchCenter(SearchCenter searchCenter) throws Exception{
|
||||||
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
||||||
SearchCenter standSearch = new SearchCenter();
|
SearchCenter standSearch = new SearchCenter();
|
||||||
QueryWrapper qw = new QueryWrapper();
|
|
||||||
qw.eq("VALID_FLAG","0");
|
|
||||||
int count = iSarStandardsInfoService.count(qw);
|
|
||||||
standSearch.setExecType(searchCenter.getExecType());
|
standSearch.setExecType(searchCenter.getExecType());
|
||||||
standSearch.setCountStand(count);
|
|
||||||
SarStandardsInfoEOPage page = new SarStandardsInfoEOPage();
|
SarStandardsInfoEOPage page = new SarStandardsInfoEOPage();
|
||||||
page.setSyncParam("sync");
|
page.setSyncParam("sync");
|
||||||
ResponseMessage stand = resetStandSearchCenter(page,standSearch);
|
ResponseMessage stand = resetStandSearchCenter(page,standSearch);
|
||||||
@@ -139,11 +123,7 @@ public class ResetSearchCenterService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SearchCenter lawsSearch = new SearchCenter();
|
SearchCenter lawsSearch = new SearchCenter();
|
||||||
QueryWrapper qw2 = new QueryWrapper();
|
|
||||||
qw2.eq("VALID_FLAG","0");
|
|
||||||
int count2 = iSarLawsStandInfoService.count(qw2);
|
|
||||||
lawsSearch.setExecType(searchCenter.getExecType());
|
lawsSearch.setExecType(searchCenter.getExecType());
|
||||||
lawsSearch.setCountStand(count2);
|
|
||||||
SarLawsStandInfoPage lawsPage = new SarLawsStandInfoPage();
|
SarLawsStandInfoPage lawsPage = new SarLawsStandInfoPage();
|
||||||
page.setSyncParam("sync");
|
page.setSyncParam("sync");
|
||||||
ResponseMessage laws = resetLawsSearchCenter(lawsPage,lawsSearch);
|
ResponseMessage laws = resetLawsSearchCenter(lawsPage,lawsSearch);
|
||||||
@@ -152,11 +132,7 @@ public class ResetSearchCenterService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SearchCenter bussSearch = new SearchCenter();
|
SearchCenter bussSearch = new SearchCenter();
|
||||||
QueryWrapper qw3 = new QueryWrapper();
|
|
||||||
qw3.eq("VALID_FLAG","0");
|
|
||||||
int count3 = iSarBussionessStandService.count(qw3);
|
|
||||||
bussSearch.setExecType(searchCenter.getExecType());
|
bussSearch.setExecType(searchCenter.getExecType());
|
||||||
bussSearch.setCountStand(count3);
|
|
||||||
SarBussionessStandEOPage bussPage = new SarBussionessStandEOPage();
|
SarBussionessStandEOPage bussPage = new SarBussionessStandEOPage();
|
||||||
page.setSyncParam("sync");
|
page.setSyncParam("sync");
|
||||||
ResponseMessage buss = resetBussStandSearchCenter(bussPage,bussSearch);
|
ResponseMessage buss = resetBussStandSearchCenter(bussPage,bussSearch);
|
||||||
@@ -193,85 +169,92 @@ public class ResetSearchCenterService {
|
|||||||
String[] result = searchCenter.getIdList().toArray(new String[0]);
|
String[] result = searchCenter.getIdList().toArray(new String[0]);
|
||||||
page.setIdlist(result);
|
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> delList = new ArrayList<>();
|
||||||
|
List<String> standIdList = rowsStand.stream().map(SarStandardsInfo::getId).collect(Collectors.toList());
|
||||||
|
if(!esIdList.isEmpty()){
|
||||||
|
|
||||||
page.setPageSize(searchCenter.getCountStand());
|
// 差集 (list1 - list2) 新增
|
||||||
page.setMenuId("nomenu");
|
List<SarStandardsInfo> distinctByUniqueList = rowsStand.stream()
|
||||||
page.setStandType("ALL");
|
.filter(item -> !new ArrayList<>(esIdList)
|
||||||
List<SarStandardsInfo> rowsStand = iSarStandardsInfoService.getSarStandardsInfoPage(page);
|
.contains(item.getId()))
|
||||||
List<SarStandardsInfo> insList = new ArrayList<>();
|
.collect(Collectors.toList());
|
||||||
List<SarStandardsInfo> updList = new ArrayList<>();
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
||||||
List<String> delList = new ArrayList<>();
|
List<SarStandardsInfo> collect = distinctByUniqueList.stream()
|
||||||
List<String> standIdList = rowsStand.stream().map(SarStandardsInfo::getId).collect(Collectors.toList());
|
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||||
if(!esIdList.isEmpty()){
|
insList.addAll(collect);
|
||||||
|
}else{
|
||||||
|
insList.addAll(distinctByUniqueList);
|
||||||
|
}
|
||||||
|
|
||||||
// 差集 (list1 - list2) 新增
|
// 交集 更新
|
||||||
List<SarStandardsInfo> distinctByUniqueList = rowsStand.stream()
|
List<SarStandardsInfo> intersection = rowsStand.stream()
|
||||||
.filter(item -> !new ArrayList<>(esIdList)
|
.filter(item -> new ArrayList<>(esIdList)
|
||||||
.contains(item.getId()))
|
.contains(item.getId()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
||||||
List<SarStandardsInfo> collect = distinctByUniqueList.stream()
|
List<SarStandardsInfo> collect = intersection.stream()
|
||||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||||
insList.addAll(collect);
|
updList.addAll(collect);
|
||||||
}else{
|
}else{
|
||||||
insList.addAll(distinctByUniqueList);
|
updList.addAll(intersection);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 差集 (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 交集 更新
|
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
List<SarStandardsInfo> intersection = rowsStand.stream()
|
for(SarStandardsInfo sarStandardsInfoEO : updList){
|
||||||
.filter(item -> new ArrayList<>(esIdList)
|
countUpdateSuccess++;
|
||||||
.contains(item.getId()))
|
if (sarStandardsInfoEO.getAttrInfoMap() != null) {
|
||||||
.collect(Collectors.toList());
|
sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap()));
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
}
|
||||||
List<SarStandardsInfo> collect = intersection.stream()
|
createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
||||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
}
|
||||||
updList.addAll(collect);
|
|
||||||
}else{
|
|
||||||
updList.addAll(intersection);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 差集 (list2 - list1) 删除
|
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
List<String> delDataList = esIdList.stream().filter(num -> !standIdList.contains(num))
|
for(SarStandardsInfo sarStandardsInfoEO : insList){
|
||||||
.collect(Collectors.toList());
|
countAddSuccess++;
|
||||||
// 可以更新IDLIST 删除 ES
|
if (sarStandardsInfoEO.getAttrInfoMap() != null) {
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){
|
sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap()));
|
||||||
delList.addAll(searchCenter.getIdList());
|
}
|
||||||
}else{
|
createStandMQService.sendStandMQ(sarStandardsInfoEO,"add");
|
||||||
delList.addAll(delDataList);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
|
elasticsearchService.deleteBatchId(delList,"stand");
|
||||||
|
elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
||||||
|
logger.info("重置国内外标准:删除-共"+delList.size()+"条数据");
|
||||||
|
}
|
||||||
|
logger.info("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据");
|
||||||
|
return Result.success("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据");
|
||||||
}else {
|
}else {
|
||||||
// 新增
|
return Result.error("未查询到标准数据");
|
||||||
insList.addAll(rowsStand);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
for(SarStandardsInfo sarStandardsInfoEO : updList){
|
|
||||||
countUpdateSuccess++;
|
|
||||||
if (sarStandardsInfoEO.getAttrInfoMap() != null) {
|
|
||||||
sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap()));
|
|
||||||
}
|
|
||||||
createStandMQService.sendStandMQ(sarStandardsInfoEO,"update");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
for(SarStandardsInfo sarStandardsInfoEO : insList){
|
|
||||||
countAddSuccess++;
|
|
||||||
if (sarStandardsInfoEO.getAttrInfoMap() != null) {
|
|
||||||
sarStandardsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarStandardsInfoEO.getAttrInfoMap()));
|
|
||||||
}
|
|
||||||
createStandMQService.sendStandMQ(sarStandardsInfoEO,"add");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
elasticsearchService.deleteBatchId(delList,"stand");
|
|
||||||
elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
|
||||||
logger.info("重置国内外标准:删除-共"+delList.size()+"条数据");
|
|
||||||
}
|
|
||||||
logger.info("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据");
|
|
||||||
return Result.success("重置国内外标准:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外标准共:"+0+"条)删除-共"+delList.size()+"条数据");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
@@ -294,83 +277,91 @@ public class ResetSearchCenterService {
|
|||||||
|
|
||||||
int countUpdateSuccess = 0;
|
int countUpdateSuccess = 0;
|
||||||
int countAddSuccess = 0;
|
int countAddSuccess = 0;
|
||||||
sarLawsInfoEOPage.setPageSize(searchCenter.getCountStand());
|
QueryWrapper qw2 = new QueryWrapper();
|
||||||
List<SarLawsStandInfo> rowsStand = iSarLawsStandInfoService.getSarStandardsInfoPage(sarLawsInfoEOPage);
|
qw2.eq("VALID_FLAG","0");
|
||||||
List<SarLawsStandInfo> insList = new ArrayList<>();
|
int count2 = iSarLawsStandInfoService.count(qw2);
|
||||||
List<SarLawsStandInfo> updList = new ArrayList<>();
|
if(count2 > 0){
|
||||||
List<String> delList = new ArrayList<>();
|
sarLawsInfoEOPage.setPageSize(count2);
|
||||||
List<String> standIdList = rowsStand.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList());
|
List<SarLawsStandInfo> rowsStand = iSarLawsStandInfoService.getSarStandardsInfoPage(sarLawsInfoEOPage);
|
||||||
|
List<SarLawsStandInfo> insList = new ArrayList<>();
|
||||||
|
List<SarLawsStandInfo> updList = new ArrayList<>();
|
||||||
|
List<String> delList = new ArrayList<>();
|
||||||
|
List<String> standIdList = rowsStand.stream().map(SarLawsStandInfo::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
if(!esIdList.isEmpty()){
|
if(!esIdList.isEmpty()){
|
||||||
|
|
||||||
// 差集 (list1 - list2) 新增
|
// 差集 (list1 - list2) 新增
|
||||||
List<SarLawsStandInfo> distinctByUniqueList = rowsStand.stream()
|
List<SarLawsStandInfo> distinctByUniqueList = rowsStand.stream()
|
||||||
.filter(item -> !new ArrayList<>(esIdList)
|
.filter(item -> !new ArrayList<>(esIdList)
|
||||||
.contains(item.getId()))
|
.contains(item.getId()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
||||||
List<SarLawsStandInfo> collect = distinctByUniqueList.stream()
|
List<SarLawsStandInfo> collect = distinctByUniqueList.stream()
|
||||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||||
insList.addAll(collect);
|
insList.addAll(collect);
|
||||||
}else{
|
}else{
|
||||||
insList.addAll(distinctByUniqueList);
|
insList.addAll(distinctByUniqueList);
|
||||||
}
|
}
|
||||||
// 交集 更新
|
// 交集 更新
|
||||||
List<SarLawsStandInfo> intersection = rowsStand.stream()
|
List<SarLawsStandInfo> intersection = rowsStand.stream()
|
||||||
.filter(item -> new ArrayList<>(esIdList)
|
.filter(item -> new ArrayList<>(esIdList)
|
||||||
.contains(item.getId()))
|
.contains(item.getId()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
||||||
List<SarLawsStandInfo> collect = intersection.stream()
|
List<SarLawsStandInfo> collect = intersection.stream()
|
||||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
||||||
updList.addAll(collect);
|
updList.addAll(collect);
|
||||||
}else{
|
}else{
|
||||||
updList.addAll(intersection);
|
updList.addAll(intersection);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 差集 (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 差集 (list2 - list1) 删除
|
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
List<String> delDataList = esIdList.stream().filter(num -> !standIdList.contains(num))
|
for(SarLawsStandInfo sarLawsInfoEO : updList){
|
||||||
.collect(Collectors.toList());
|
countUpdateSuccess++;
|
||||||
// 可以更新IDLIST 删除 ES
|
if (sarLawsInfoEO.getAttrInfoMap() != null) {
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){
|
sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap()));
|
||||||
delList.addAll(searchCenter.getIdList());
|
}
|
||||||
}else{
|
createStandMQService.sendLawsMQ(sarLawsInfoEO,"update");
|
||||||
delList.addAll(delDataList);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
|
for(SarLawsStandInfo sarLawsInfoEO : insList){
|
||||||
|
countAddSuccess++;
|
||||||
|
if (sarLawsInfoEO.getAttrInfoMap() != null) {
|
||||||
|
sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap()));
|
||||||
|
}
|
||||||
|
createStandMQService.sendLawsMQ(sarLawsInfoEO,"add");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
|
elasticsearchService.deleteBatchId(delList,"laws");
|
||||||
|
elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
||||||
|
logger.info("重置国内外政策:删除-共"+delList.size()+"条数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("重置国内外政策:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外政策共:"+rowsStand.size()+"条)数据");
|
||||||
|
return Result.success("");
|
||||||
}else {
|
}else {
|
||||||
// 新增
|
return Result.error("未查询到国内外政策数据");
|
||||||
insList.addAll(rowsStand);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
for(SarLawsStandInfo sarLawsInfoEO : updList){
|
|
||||||
countUpdateSuccess++;
|
|
||||||
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++;
|
|
||||||
if (sarLawsInfoEO.getAttrInfoMap() != null) {
|
|
||||||
sarLawsInfoEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarLawsInfoEO.getAttrInfoMap()));
|
|
||||||
}
|
|
||||||
createStandMQService.sendLawsMQ(sarLawsInfoEO,"add");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
elasticsearchService.deleteBatchId(delList,"laws");
|
|
||||||
elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
|
||||||
logger.info("重置国内外政策:删除-共"+delList.size()+"条数据");
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.info("重置国内外政策:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(国内外政策共:"+rowsStand.size()+"条)数据");
|
|
||||||
return Result.success("");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void idListFunc(SarLawsStandInfoPage sarLawsInfoEOPage, SearchCenter searchCenter) {
|
private void idListFunc(SarLawsStandInfoPage sarLawsInfoEOPage, SearchCenter searchCenter) {
|
||||||
@@ -404,83 +395,93 @@ public class ResetSearchCenterService {
|
|||||||
int countUpdateSuccess = 0;
|
int countUpdateSuccess = 0;
|
||||||
int countAddSuccess = 0;
|
int countAddSuccess = 0;
|
||||||
sarBussionessStandEOPage.setMenuId("0");
|
sarBussionessStandEOPage.setMenuId("0");
|
||||||
sarBussionessStandEOPage.setPageSize(searchCenter.getCountStand());
|
|
||||||
|
|
||||||
List<SarBussionessStand> rowsStand = iSarBussionessStandService.getSarBussionStandPage(sarBussionessStandEOPage);
|
QueryWrapper qw3 = new QueryWrapper();
|
||||||
List<SarBussionessStand> insList = new ArrayList<>();
|
qw3.eq("VALID_FLAG","0");
|
||||||
List<SarBussionessStand> updList = new ArrayList<>();
|
int count3 = iSarBussionessStandService.count(qw3);
|
||||||
List<String> delList = new ArrayList<>();
|
|
||||||
List<String> standIdList = rowsStand.stream().map(SarBussionessStand::getId).collect(Collectors.toList());
|
|
||||||
|
|
||||||
if(!esIdList.isEmpty()){
|
if(count3 > 0){
|
||||||
|
sarBussionessStandEOPage.setPageSize(count3);
|
||||||
|
|
||||||
// 差集 (list1 - list2) 新增
|
List<SarBussionessStand> rowsStand = iSarBussionessStandService.getSarBussionStandPage(sarBussionessStandEOPage);
|
||||||
List<SarBussionessStand> distinctByUniqueList = rowsStand.stream()
|
List<SarBussionessStand> insList = new ArrayList<>();
|
||||||
.filter(item -> !new ArrayList<>(esIdList)
|
List<SarBussionessStand> updList = new ArrayList<>();
|
||||||
.contains(item.getId()))
|
List<String> delList = new ArrayList<>();
|
||||||
.collect(Collectors.toList());
|
List<String> standIdList = rowsStand.stream().map(SarBussionessStand::getId).collect(Collectors.toList());
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !distinctByUniqueList.isEmpty()){
|
|
||||||
List<SarBussionessStand> collect = distinctByUniqueList.stream()
|
if(!esIdList.isEmpty()){
|
||||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
|
||||||
insList.addAll(collect);
|
// 差集 (list1 - list2) 新增
|
||||||
}else{
|
List<SarBussionessStand> distinctByUniqueList = rowsStand.stream()
|
||||||
insList.addAll(distinctByUniqueList);
|
.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);
|
||||||
|
}else{
|
||||||
|
insList.addAll(distinctByUniqueList);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 交集 更新
|
||||||
|
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);
|
||||||
|
}else{
|
||||||
|
updList.addAll(intersection);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 差集 (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);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 交集 更新
|
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
List<SarBussionessStand> intersection = rowsStand.stream()
|
for(SarBussionessStand sarBussionessStandEO : updList){
|
||||||
.filter(item -> new ArrayList<>(esIdList)
|
countUpdateSuccess++;
|
||||||
.contains(item.getId()))
|
if (sarBussionessStandEO.getAttrInfoMap() != null) {
|
||||||
.collect(Collectors.toList());
|
sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap()));
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){
|
}
|
||||||
List<SarBussionessStand> collect = intersection.stream()
|
createStandMQService.sendBussStandMQ(sarBussionessStandEO,"update");
|
||||||
.filter(item -> searchCenter.getIdList().contains(item.getId())).collect(Collectors.toList());
|
}
|
||||||
updList.addAll(collect);
|
|
||||||
}else{
|
|
||||||
updList.addAll(intersection);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 差集 (list2 - list1) 删除
|
if(!insList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "ADD".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
List<String> delDataList = esIdList.stream().filter(num -> !standIdList.contains(num))
|
for(SarBussionessStand sarBussionessStandEO : insList){
|
||||||
.collect(Collectors.toList());
|
countAddSuccess++;
|
||||||
// 可以更新IDLIST 删除 ES
|
if (sarBussionessStandEO.getAttrInfoMap() != null) {
|
||||||
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && "DEL".equals(searchCenter.getExecType().toUpperCase())){
|
sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap()));
|
||||||
delList.addAll(searchCenter.getIdList());
|
}
|
||||||
}else{
|
createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add");
|
||||||
delList.addAll(delDataList);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){
|
||||||
|
elasticsearchService.deleteBatchId(delList,"bussstand");
|
||||||
|
elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
||||||
|
logger.info("重置企标:删除-共"+delList.size()+"条数据");
|
||||||
|
}
|
||||||
|
logger.info("重置企标:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(企标共:"+rowsStand.size()+"条)数据");
|
||||||
|
return Result.success("");
|
||||||
}else {
|
}else {
|
||||||
// 新增
|
return Result.error("未查询到企标数据");
|
||||||
insList.addAll(rowsStand);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
for(SarBussionessStand sarBussionessStandEO : updList){
|
|
||||||
countUpdateSuccess++;
|
|
||||||
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++;
|
|
||||||
if (sarBussionessStandEO.getAttrInfoMap() != null) {
|
|
||||||
sarBussionessStandEO.setSarStandAttrEOStr(JSONObject.toJSONString(sarBussionessStandEO.getAttrInfoMap()));
|
|
||||||
}
|
|
||||||
createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!delList.isEmpty() && ("DEL".equals(searchCenter.getExecType().toUpperCase()))){
|
|
||||||
elasticsearchService.deleteBatchId(delList,"bussstand");
|
|
||||||
elasticsearchService.deleteBatchId(delList,"fulltextserch");
|
|
||||||
logger.info("重置企标:删除-共"+delList.size()+"条数据");
|
|
||||||
}
|
|
||||||
logger.info("重置企标:新增-"+ countAddSuccess + "条 更新-"+countUpdateSuccess+"条(企标共:"+rowsStand.size()+"条)数据");
|
|
||||||
return Result.success("");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user