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

优化站点同步事项

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