Commit 76021cf5 authored by 赵啸非's avatar 赵啸非

优化站点同步事项

parent 3232c2c6
......@@ -31,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StopWatch;
import java.util.Date;
import java.util.List;
......@@ -74,7 +75,18 @@ public class SyncMatterTaskImpl implements ITaskExcuteService {
log.info("开始同步事项!");
List<SiteEntity> siteEntities = siteService.find(new SiteEntity());
for (SiteEntity siteEntity : siteEntities) {
StopWatch stopWatch = new StopWatch("stopwatch syncmatter");
log.info("开始同步事项==》{}",siteEntity.getSiteName());
stopWatch.start("开始同步事项方法");
matterExtService.doMatterBySiteId(siteEntity,null);
stopWatch.stop();
log.info("同步事项完成,耗时:{}ms", stopWatch.getLastTaskTimeMillis());
log.info("开始添加站点事项==》{}",siteEntity.getSiteName());
stopWatch.start("开始添加站点事项");
siteMatterService.doSyncSiteMatter(siteEntity, null);
stopWatch.stop();
log.info("开始添加站点事项,耗时:{}ms", stopWatch.getLastTaskTimeMillis());
// syncMatter(siteEntity);
}
// syncDevice();
......
......@@ -118,7 +118,11 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
matterService.update(matterEntity, null);
}
}
//查询站点事项相关
// Rest<String> syncSiteMatterRest = siteMatterService.doSyncSiteMatter(siteEntity, context);
/* //查询站点事项相关
List<SiteEntity> siteEntities = siteService.find(new SiteQuery().areaCode(siteEntity.getAreaCode()));
if (!ObjectUtils.isEmpty(siteEntities)) {
log.info("同步站点事项到站点.....");
......@@ -134,7 +138,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
}
}
log.info("同步站点事项到站点完成.....");
}
}*/
return Rest.ok();
}
......
......@@ -12,6 +12,7 @@ import com.mortals.xhx.module.site.model.*;
import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.module.site.service.SiteThemeMatterService;
import com.mortals.xhx.module.site.service.SiteThemeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
......@@ -33,6 +34,7 @@ import java.util.stream.Collectors;
* @date 2022-01-12
*/
@Service("siteMatterService")
@Slf4j
public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao, SiteMatterEntity, Long> implements SiteMatterService {
@Autowired
......@@ -127,17 +129,25 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
SiteEntity site = siteService.selectOne(new SiteQuery().areaCode(siteEntity.getAreaCode()));
if (!ObjectUtils.isEmpty(site)) {
log.info("同步站点事项到站点.....");
SiteMatterQuery siteMatterQuery = new SiteMatterQuery();
siteMatterQuery.setSiteId(site.getId());
siteMatterQuery.setSource(SourceEnum.政务网.getValue());
List<SiteMatterEntity> localList = this.getDao().getList(siteMatterQuery);
log.info("本地站点事项数量.....{}",localList.size());
//找到差集 然后添加
Set<Long> existMatterIdSet = localList.parallelStream().map(i -> i.getMatterId()).collect(Collectors.toSet());
// matterList.parallelStream().
Set<Long> existSiteMatterIdSet = localList.parallelStream().map(i -> i.getMatterId()).collect(Collectors.toSet());
List<MatterEntity> subList = matterList.parallelStream().filter(f -> !existSiteMatterIdSet.contains(f.getId())).collect(Collectors.toList());
if(!ObjectUtils.isEmpty(subList)){
//需要新增的站点事项
log.info("需要新增的站点事项数量.....{}",subList.size());
List<SiteMatterEntity> siteMatterList = subList
.parallelStream()
.map(item ->matterService.switchMatterToSiteMatter(item, site, null).getData())
.filter(f -> f != null)
.collect(Collectors.toList());
this.save(siteMatterList);
}
/*
//判断是否已经有站点事项,如果有则不添加
Boolean bool = checkSiteMatter(site);
......@@ -148,23 +158,11 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
}).filter(f -> f != null).collect(Collectors.toList());
this.save(siteMatterList);
}
*/
log.info("同步站点事项到站点完成.....");
}
return Rest.ok();
}
private Boolean checkSiteMatter(SiteEntity site) {
SiteMatterQuery siteMatterQuery = new SiteMatterQuery();
siteMatterQuery.setSiteId(site.getId());
siteMatterQuery.setSource(SourceEnum.政务网.getValue());
int count = this.count(siteMatterQuery, null);
if (count > 0) {
return true;
}
return false;
}
}
\ No newline at end of file
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