From 3b443ad5c4b0dd02a1a772cdca7444e3c40d605b Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 16 Oct 2020 14:54:13 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=A2=AB=E5=90=B9=E5=93=A8=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E7=BB=9F=E8=AE=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluationindex/extract/FactOriginProjectLogDailyDao.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index 3ec448ae2c..7e73b709aa 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -23,7 +23,6 @@ AND da.`LEVEL` = #{level} WHERE fopld.IS_ACTIVE = 0 - AND fopld.ACTION_CODE = 'transfer' AND fopld.MONTH_ID = #{monthId} AND fopld.CUSTOMER_ID = #{customerId} GROUP BY From 990d1313032271245a82bfc7f1a7b883b147d0b7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 16 Oct 2020 15:05:03 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BC=98=E5=8C=96redis=20key=E5=8F=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/redis/RedisKeys.java | 2 +- .../com/epmet/controller/IndexCalculateController.java | 1 + .../src/main/java/com/epmet/model/CalculateFlagModel.java | 7 +++++++ .../extract/todata/impl/FactOriginExtractServiceImpl.java | 2 +- .../extract/toscreen/impl/ScreenExtractServiceImpl.java | 8 +++++++- 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index ea8f100f6c..12567a30d2 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -313,7 +313,7 @@ public class RedisKeys { * @return */ public static String getIndexCodeWeightKey(String customerId) { - return rootPrefix.concat("stats:indexcal:indexcode:weight").concat(customerId); + return rootPrefix.concat("stats:indexcal:indexcode:weight").concat(StrConstant.COLON).concat(customerId); } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java index 9abf3b0fde..420838dec5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java @@ -165,6 +165,7 @@ public class IndexCalculateController { CalculateFlagModel flag = new CalculateFlagModel(); flag.setStatus(CalculateStatus.CALCULATING); flag.setForm(formDTO); + flag.setStartTime(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN)); redisUtils.set(RedisKeys.getCustomerStatsCalFlag(formDTO.getCustomerId()), flag); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java index 95d114ae16..d64fa71dd3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/model/CalculateFlagModel.java @@ -17,4 +17,11 @@ public class CalculateFlagModel { */ private String status; + /** + * 开始时间 + * CalculateStatus.java + */ + private String startTime; + + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java index 72e39aecbf..f44eef01de 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java @@ -151,7 +151,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { log.error("抽取【话题数据】发生异常,参数:" + JSON.toJSONString(paramNew), e); } } - log.info("extractAll end param:{}", JSON.toJSONString(paramNew)); + log.debug("extractAll end param:{}", JSON.toJSONString(paramNew)); }); threadPool.submit(() -> { ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 6229433fa7..1ad6a429fc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -2,7 +2,9 @@ package com.epmet.service.evaluationindex.extract.toscreen.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.EnvEnum; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.dto.indexcal.CalculateCommonFormDTO; @@ -167,6 +169,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } + log.info("===== extractDaily method end ======"); } /** @@ -245,14 +248,17 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { //此方法保持在最后即可 计算指标分数 todo 优化 手动创建线程池 控制任务数量 ExecutorService pool = Executors.newSingleThreadExecutor(); pool.submit(() -> { + long start = System.currentTimeMillis(); CalculateCommonFormDTO formDTO1 = new CalculateCommonFormDTO(); try { formDTO1.setMonthId(monthId); formDTO1.setCustomerId(customerId); - indexCalculateService.indexCalculate(formDTO1); + Boolean aBoolean = indexCalculateService.indexCalculate(formDTO1); + HttpClientManager.getInstance().sendAlarmMsg(EnvEnum.getCurrentEnv().getName() + "客户Id:" + formDTO.getCustomerId() + ",calculateAll全部指标计算完成,是否成功:" + aBoolean + ",总耗时:" + (System.currentTimeMillis() - start) / 1000 + "秒"); } catch (Exception e) { log.error("extractMonthly 计算分数异常,参数:{}", JSON.toJSONString(formDTO1)); } }); + log.info("===== extractMonthly method end ======"); } } From d1a67d8b0054507466dd1f796b0f58776ca38de9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 16 Oct 2020 15:26:03 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=A2=AB=E5=90=B9=E5=93=A8=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E7=BB=9F=E8=AE=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectLogDailyDao.xml | 172 +++++------------- 1 file changed, 41 insertions(+), 131 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index 7e73b709aa..cc9200ceb1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -23,6 +23,7 @@ AND da.`LEVEL` = #{level} WHERE fopld.IS_ACTIVE = 0 + AND (fopld.ACTION_CODE = 'transfer' OR fopld.ACTION_CODE = 'created') AND fopld.MONTH_ID = #{monthId} AND fopld.CUSTOMER_ID = #{customerId} GROUP BY @@ -137,147 +138,56 @@ fopld.ORG_ID - - - - - - SELECT + DISTINCT + project.ID AS projectId, log.AGENCY_ID, - COUNT(DISTINCT log.PROJECT_ID) AS count + agency.LEVEL, + CASE agency.LEVEL WHEN 'community' THEN 1 WHEN 'street' THEN 2 WHEN 'district' THEN 3 + WHEN 'city' THEN 4 WHEN 'province' THEN 5 END AS score + FROM + fact_origin_project_main_daily project + LEFT JOIN fact_origin_project_log_daily log - LEFT JOIN fact_origin_project_main_daily project ON log.PROJECT_ID = project.ID AND project.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} - WHERE log.DEL_FLAG = '0' - AND project.PROJECT_STATUS LIKE 'close%' - AND log.CUSTOMER_ID = #{customerId} - AND log.IS_ACTIVE = '0' + ON log.PROJECT_ID = project.ID AND log.DEL_FLAG = '0' AND log.IS_ACTIVE = '1' + LEFT JOIN + dim_object_status dimStatus + ON project.PROJECT_STATUS = dimStatus.STATUS_CODE AND dimStatus.DEL_FLAG = '0' AND dimStatus.STATUS_TYPE = 'project' + LEFT JOIN + dim_object_action dimAction + ON log.ACTION_CODE = dimAction.ACTION_CODE AND dimAction.DEL_FLAG = '0' AND dimAction.ACTION_TYPE = 'project' + LEFT JOIN + dim_agency agency + ON log.AGENCY_ID = agency.ID AND agency.DEL_FLAG = '0' AND agency.CUSTOMER_ID = #{customerId} + WHERE + project.DEL_FLAG = '0' + AND + dimStatus.STATUS_CODE = 'closed' + AND + dimAction.ACTION_CODE != 'return' + AND + project.CUSTOMER_ID = #{customerId} + + + - - AND log.MONTH_ID = #{dimId} - - - - log.AGENCY_ID = #{agencyId} - - - GROUP BY log.AGENCY_ID - - - - - - - + + + + + ORDER BY project.ID,score DESC + - + - AND log.DATE_ID = #{dimId} + + + + + + + + + +