From c20293f3bb4776eebe5d2ab214cdff27210d3d36 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 8 Jul 2021 14:20:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=8B=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=A4=9A=E7=BA=BF=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/FactGridGovernDailyServiceImpl.java | 4 +- .../impl/ScreenExtractServiceImpl.java | 84 +++++++++++-------- ...srootsGovernDataAbsorptionServiceImpl.java | 4 +- 3 files changed, 52 insertions(+), 40 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java index 2a9b0e4120..68523f199c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridGovernDailyServiceImpl.java @@ -278,7 +278,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl daysBetween = DateUtils.getDaysBetween(extractOriginFormDTO.getStartDate(), extractOriginFormDTO.getEndDate()); daysBetween.forEach(dateId -> { - extractDaily(customerId, dateId); + boolean isLastDay = false; + if (dateId.equals(daysBetween.get(daysBetween.size() - 1))) { + isLastDay = true; + } + extractDaily(customerId, dateId, isLastDay); }); } else if (StringUtils.isNotBlank(extractOriginFormDTO.getDateId())) { - extractDaily(customerId, extractOriginFormDTO.getDateId()); + extractDaily(customerId, extractOriginFormDTO.getDateId(), true); } else { String dateId = LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", ""); - extractDaily(customerId, dateId); + extractDaily(customerId, dateId, true); } }); } @@ -151,13 +155,14 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { /** * @param customerId * @param dateId + * @param isLast 是否是最后一天 * @Description 按天计算 * @author zxc * @date 2020/9/24 10:16 上午 */ - public void extractDaily(String customerId, String dateId) { + public void extractDaily(String customerId, String dateId, boolean isLast) { //等待3个线程执行完毕后再 继续执行下一个客户的 避免死锁 - final CountDownLatch latch = new CountDownLatch(NumConstant.THREE); + final CountDownLatch latch = new CountDownLatch(NumConstant.FOUR); threadPool.submit(() -> { //党员基本情况screen_cpc_base_data try { @@ -166,23 +171,26 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.error("党员基本情况抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); } //先锋模范screen_pioneer_data - try { - pioneerDataExtractService.extractGridPioneerData(customerId, dateId); - } catch (Exception e) { - log.error("先锋模范【网格】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); - } - try { - pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); - } catch (Exception e) { - log.error("先锋模范【社区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); - } - try { - pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); - } catch (Exception e) { - log.error("先锋模范【extractExceptCommunityPioneerData】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); + if (isLast) { + try { + pioneerDataExtractService.extractGridPioneerData(customerId, dateId); + } catch (Exception e) { + log.error("先锋模范【网格】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); + } + try { + pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); + } catch (Exception e) { + log.error("先锋模范【社区】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); + } + try { + pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); + } catch (Exception e) { + log.error("先锋模范【extractExceptCommunityPioneerData】抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); + } } + latch.countDown(); - log.info("extractDaily 1 thread run end ========= dateId:{},customerId:{}",dateId,customerId); + log.info("extractDaily 1 thread run end ========= dateId:{},customerId:{}", dateId, customerId); }); threadPool.submit(() -> { //公众参与排行(注册人数、参与人数、话题数、议题数、项目数)screen_public_party_total_data @@ -191,22 +199,23 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } catch (Exception e) { log.error("公众参与排行抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); } + if (isLast) { + //基层治理- 难点赌点 screen_difficulty_data | screen_difficulty_img_data + try { + ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); + param2.setCustomerId(customerId); + param2.setDateId(null); + log.info("【难点赌点数据上报开始------】 当前客户Id{}", param2.getCustomerId()); + //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); - //基层治理- 难点赌点 screen_difficulty_data | screen_difficulty_img_data - try { - ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); - param2.setCustomerId(customerId); - param2.setDateId(null); - log.info("【难点赌点数据上报开始------】 当前客户Id{}", param2.getCustomerId()); - //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); - - screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); - log.info("【难点赌点数据上报结束------】 当前客户Id{}", param2.getCustomerId()); - } catch (Exception e) { - log.error("基层治理-难点赌点抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); + screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); + log.info("【难点赌点数据上报结束------】 当前客户Id{}", param2.getCustomerId()); + } catch (Exception e) { + log.error("基层治理-难点赌点抽取到大屏失败,customerId为:" + customerId + "dateId为:" + dateId, e); + } } latch.countDown(); - log.info("extractDaily 2 thread run end ========= dateId:{},customerId:{}",dateId,customerId); + log.info("extractDaily 2 thread run end ========= dateId:{},customerId:{}", dateId, customerId); }); threadPool.submit(() -> { ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); @@ -245,7 +254,10 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } catch (Exception e) { log.error("按天统计:组织内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e); } - + latch.countDown(); + log.info("extractDaily 3 thread run end ========= dateId:{},customerId:{}", dateId, customerId); + }); + threadPool.submit(() -> { //治理能力排行screen_govern_rank_data try { governRankDataExtractService.extractGridDataDaily(customerId, dateId); @@ -290,14 +302,14 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } extractPartData(customerId, dateId); latch.countDown(); - log.info("extractDaily 3 thread run end ========= dateId:{},customerId:{}",dateId,customerId); + log.info("extractDaily 4 thread run end ========= dateId:{},customerId:{}", dateId, customerId); }); try { latch.await(); } catch (InterruptedException e) { log.error("extractDaily run exception", e); } - log.info("===== extractDaily method end ======"); + log.info("===== extractDaily method end customerId:{}======",customerId); } @Override diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index d40fbd8b6a..200dd05675 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -387,8 +387,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr name.deleteCharAt(name.length() - NumConstant.ONE); diffEntity.setEventCategoryCode(code.toString()); diffEntity.setEventCategoryName(name.toString()); - log.info("code:{}",code.toString()); - log.info("name:{}",name.toString()); + log.debug("code:{}",code.toString()); + log.debug("name:{}",name.toString()); }); }