查询接口
This commit is contained in:
@@ -71,6 +71,16 @@ public class ResetSearchCenterController extends BaseController<Map<String, Obje
|
|||||||
return resetSearchCenterService.syncResetALLSearchCenter(searchCenter);
|
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) {
|
private ResponseMessage verifySearchCenter(SearchCenter searchCenter) {
|
||||||
if(searchCenter.getExecType() == null || "".equals(searchCenter.getExecType())){
|
if(searchCenter.getExecType() == null || "".equals(searchCenter.getExecType())){
|
||||||
return Result.error("执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据");
|
return Result.error("执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据");
|
||||||
|
|||||||
@@ -297,6 +297,44 @@ public class ResetSearchCenterService {
|
|||||||
return Result.success(res);
|
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
|
@Async
|
||||||
public ResponseMessage resetStandSearchCenterToFields(List<String> esIdList,Map<String,Integer> dicMap) throws Exception {
|
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) {
|
private String getSearch(SearchCenter searchCenter) {
|
||||||
String search = "";
|
String search = "";
|
||||||
if(StringUtils.isNotBlank(searchCenter.getSearch())) {
|
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 {
|
public void lawsAttrInfoSearchDetails(SarLawsStandInfo row) throws Exception {
|
||||||
String fieldInfo = InitStandAttrUtil.queryFieldLaws;
|
String fieldInfo = InitStandAttrUtil.queryFieldLaws;
|
||||||
String collectId = personCollectEOService.queryCollectByUserAndId(row.getId());
|
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 {
|
public void bussAttrInfoShowSearchDetails(SarBussionessStand row) throws Exception {
|
||||||
if (row != null) {
|
if (row != null) {
|
||||||
bussAttrInfoSearchDetails(row);
|
bussAttrInfoSearchDetails(row);
|
||||||
|
|||||||
Reference in New Issue
Block a user