From 56cfbf5c7972ee34e0a934686cea49e0fb397de3 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Fri, 26 Feb 2021 17:38:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E9=98=B4=E5=A4=A7=E5=B1=8F=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/elink/esua/epdc/dto/SysDeptDTO.java | 12 + .../elink/esua/epdc/entity/SysDeptEntity.java | 5 + .../esua/epdc/dto/admin/DeptCodeTree.java | 5 + .../result/ScreenCustomerAgencyDTO.java | 5 + .../screen/result/UploadProjectInfoDTO.java | 3 +- .../epdc-analysis-server/pom.xml | 8 +- .../mapper/screen/ScreenProjectDataDao.xml | 1 - .../mapper/screen/ScreenPublicDataDao.xml | 29 +- .../elink/esua/epdc/dao/ScreenRecordDao.java | 33 ++ .../esua/epdc/entity/ScreenRecordEntity.java | 50 +++ .../esua/epdc/feign/AnalysisFeignClient.java | 151 ++++++++ .../fallback/AnalysisFeignClientFallback.java | 80 ++++ .../screen/ScreenProjectDataDayPushTask.java | 19 + .../ScreenProjectDataMonthPushTask.java | 19 + .../ScreenProjectDataPushDayTaskImpl.java | 354 ++++++++++++++++++ .../ScreenProjectDataPushMonthTaskImpl.java | 88 +++++ .../main/resources/mapper/ScreenRecordDao.xml | 13 + 17 files changed, 855 insertions(+), 20 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/dao/ScreenRecordDao.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/entity/ScreenRecordEntity.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataDayPushTask.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataMonthPushTask.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushMonthTaskImpl.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/mapper/ScreenRecordDao.xml diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java index dabcc0b8..5e121360 100644 --- a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java @@ -54,6 +54,18 @@ public class SysDeptDTO extends TreeNode implements Serializable { @ApiModelProperty(value = "上级部门名称") private String parentName; + /** + * 父行政地区编码 + */ + private String parentAreaCode; + + public String getParentAreaCode() { + return parentAreaCode; + } + + public void setParentAreaCode(String parentAreaCode) { + this.parentAreaCode = parentAreaCode; + } /** * 部门类型键值 */ diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java index 4b83b09e..cc5a858c 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java @@ -84,4 +84,9 @@ public class SysDeptEntity extends BaseEntity { */ private String areaCode; + /** + * 父行政地区编码 + */ + private String parentAreaCode; + } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java index 363e62aa..9cec784c 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java @@ -18,6 +18,11 @@ public class DeptCodeTree implements Serializable { */ private String code; + /** + * 部门区域编码 + */ + private String parentCode; + /** * 名称 */ diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java index 96e37dbc..84cd3919 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java @@ -64,6 +64,11 @@ public class ScreenCustomerAgencyDTO implements Serializable { */ private String areaCode; + /** + * 父行政地区编码 + */ + private String parentAreaCode; + /** * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增) */ diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/UploadProjectInfoDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/UploadProjectInfoDTO.java index c49fe115..c3b0afbb 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/UploadProjectInfoDTO.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/UploadProjectInfoDTO.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.dto.screen.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @author songyunpeng @@ -96,7 +97,7 @@ public class UploadProjectInfoDTO implements Serializable { /** * 议题图片地址 */ - private String projectImgUrl; + private List projectImgUrl; /** * 结案日期 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml index df40ed07..e04d2c6a 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml @@ -136,10 +136,10 @@ 47.105.119.155:8848 1da17390-6495-4e16-9ec6-0b8ece18a4a0 - https://epmet-dev.elinkservice.cn/api - 0398b33f845c4768a102d2ab6ebdd00b5fec222e437540428f55d1df53e6be1e - d44a6daaea58be408bb74fe93714710f - f5ff0770f409981c73adda6ae35143ef + http://epmet-dev.elinkservice.cn:48080/api + d2c011b14217425eb48e27cf6481716ae845cff14cc0429198a8348c76893023 + c1fe1becebf94b8aef724728690816a0 + eac9d3b8b10c328350b59ac4b1d64db5 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml index 3b54135b..f505d310 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml @@ -19,7 +19,6 @@ - diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml index ded2186f..057fe635 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml @@ -15,6 +15,7 @@ '' AS partyMark, CASE sd.`type_key` WHEN 'community_party' THEN 'community' WHEN 'district_party' THEN 'district' WHEN 'street_party' THEN 'street' ELSE '' END AS `level`, sd.area_code AS areaCode, + sd.parent_area_code AS parentAreaCode, DATE_FORMAT(NOW(), '%Y%m%d') AS dataEndTime FROM `esua_epdc_admin`.`sys_dept` sd LEFT JOIN `esua_epdc_admin`.`sys_dept` sd1 ON sd1.`id`= sd.`pid` @@ -987,20 +988,20 @@ union all UNION ALL - select GRID_ID, + select COMMUNITY_ID as GRID_ID, 0 as issueSum, 0 as publishIssueSum, 0 as issueTotal, 0 as publishIssueTotal, - sum(TOPIC_PUBLISH_TIMES) as topicTotal, - sum(PARTY_PUBLISH_TIMES) as publishTopicTotal, + 0 as topicTotal, + 0 as publishTopicTotal, 0 as shiftProjectTotal, 0 as publishShiftProjectTotal, 0 as resolvedProjectTotal, 0 as publishResolvedProjectTotal from esua_epdc_analysis.epdc_dept_group_person_time ed - where GRID_ID is not null - group by ed.GRID_ID)total + where COMMUNITY_ID is not null + group by ed.COMMUNITY_ID)total group by total.GRID_ID)t on gr.id=t.GRID_ID where gr.del_flag=0 AND gr.`id` NOT IN( SELECT t.`dept_id` @@ -1085,7 +1086,7 @@ UNION ALL UNION ALL - select GRID_ID, + select COMMUNITY_ID as GRID_ID, 0 as issueSum, 0 as publishIssueSum, 0 as issueTotal, @@ -1097,8 +1098,8 @@ UNION ALL 0 as resolvedProjectTotal, 0 as publishResolvedProjectTotal from esua_epdc_analysis.epdc_dept_group_person_time ed - where GRID_ID is not null - group by ed.GRID_ID)total + where COMMUNITY_ID is not null + group by ed.COMMUNITY_ID)total group by total.GRID_ID)t on gr.id=t.GRID_ID where gr.del_flag=0 and co.del_flag=0 @@ -1185,7 +1186,7 @@ union all UNION ALL - select GRID_ID, + select COMMUNITY_ID as GRID_ID, 0 as issueSum, 0 as publishIssueSum, 0 as issueTotal, @@ -1197,8 +1198,8 @@ union all 0 as resolvedProjectTotal, 0 as publishResolvedProjectTotal from esua_epdc_analysis.epdc_dept_group_person_time ed - where GRID_ID is not null - group by ed.GRID_ID)total + where COMMUNITY_ID is not null + group by ed.COMMUNITY_ID)total group by total.GRID_ID)t on gr.id=t.GRID_ID where gr.del_flag=0 and co.del_flag=0 @@ -1287,7 +1288,7 @@ union all UNION ALL - select GRID_ID, + select COMMUNITY_ID as GRID_ID, 0 as issueSum, 0 as publishIssueSum, 0 as issueTotal, @@ -1299,8 +1300,8 @@ union all 0 as resolvedProjectTotal, 0 as publishResolvedProjectTotal from esua_epdc_analysis.epdc_dept_group_person_time ed - where GRID_ID is not null - group by ed.GRID_ID)total + where COMMUNITY_ID is not null + group by ed.COMMUNITY_ID)total group by total.GRID_ID)t on gr.id=t.GRID_ID where gr.del_flag=0 and co.del_flag=0 diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/dao/ScreenRecordDao.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/dao/ScreenRecordDao.java new file mode 100644 index 00000000..b039ebe3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/dao/ScreenRecordDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.ScreenRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 大屏增量同步记录表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2021-02-24 + */ +@Mapper +public interface ScreenRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/entity/ScreenRecordEntity.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/entity/ScreenRecordEntity.java new file mode 100644 index 00000000..b561f26b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/entity/ScreenRecordEntity.java @@ -0,0 +1,50 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 大屏增量同步记录表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2021-02-24 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_screen_record") +public class ScreenRecordEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 作业名称 + */ + private String jobName; + + /** + * 统计时间 + */ + private Date statisticsTime; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java index 98da7d62..790e4a99 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java @@ -3,9 +3,11 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO; import com.elink.esua.epdc.feign.fallback.AnalysisFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * 数据分析模块调用 @@ -143,5 +145,154 @@ public interface AnalysisFeignClient { */ @PostMapping("analysis/data/stats/screencoll/customerdept") Result customerDept(); + /** + * 001、基层党建-党员基本情况 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/cpcbasedata") + Result cpcbasedata(); + /** + * 002、党建引领-先锋模范数据 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/pioneerdata") + Result pioneerdata(); + /** + * 003、党建引领-党员联系群众数据 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/partylinkmassesdata") + Result partylinkmassesdata(); + /** + * 004、党建引领-先进排行榜单-先进支部排行 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/orgrankdata") + Result orgrankdata(); + /** + * 005、党建引领|基层治理-居民(党员)积分排行榜 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/partyuserrankdata") + Result partyuserrankdata(); + /** + * 006、基层治理-难点赌点项目上报 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/difficultydata") + Result difficultydata(); + /** + * 007、基层治理-公众参与 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/userjoin") + Result userjoin(); + /** + * 008、公众参与各类总数 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/publicpartitotaldata") + Result publicpartitotaldata(); + /** + * 009、基层治理-治理能力数据 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/governrankdata") + Result governrankdata(); + /** + * 010、中央区各类总数 + * + * @return void + * @author Liuchuang + * @since 2020/9/17 14:02 + */ + @PostMapping("analysis/data/stats/screencoll/usertotaldata") + Result usertotaldata(); + //*************************【事件/项目分析】*6********************** + /** + * @describe: 【事件/项目分析】网格内事件 + * @author wangtong + * @date 2021/2/24 14:08 + * @params [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @PostMapping("analysis/data/stats/project/project-grid-daily") + Result projectGridDaily(); + + /** + * @describe: 【事件/项目分析】组织内事件 + * @author wangtong + * @date 2021/2/24 14:09 + * @params [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @PostMapping("analysis/data/stats/project/project/project-org-daily") + Result projectOrgDaily(); + + /** + * @describe: 【事件/项目分析】网格内月度数量统计 + * @author wangtong + * @date 2021/2/24 14:09 + * @params [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @PostMapping("analysis/data/stats/project/quantity-grid-monthly") + Result quantityGridMonthly(); + + /** + * @describe: 【事件/项目分析】组织内月度数量统计 + * @author wangtong + * @date 2021/2/24 14:09 + * @params [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @PostMapping("analysis/data/stats/project/quantity-org-monthly") + Result quantityOrgMonthly(); + + /** + * @Description 项目信息上报 + * @Author songyunpeng + * @Date 2021/2/23 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("analysis/data/stats/project/uploadprojectinfo") + Result uploadProjectInfo(@RequestBody ScreenProjectFormDTO screenProjectFormDTO); + /** + * @Description 项目处理进展上报 + * @Author songyunpeng + * @Date 2021/2/23 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("analysis/data/stats/project/uploadprojectprocess") + Result uploadProjectProcess(@RequestBody ScreenProjectFormDTO screenProjectFormDTO); } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java index ac5715a3..50dd85b9 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO; import com.elink.esua.epdc.feign.AnalysisFeignClient; import org.springframework.stereotype.Component; @@ -74,4 +75,83 @@ public class AnalysisFeignClientFallback implements AnalysisFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "customerDept"); } + @Override + public Result cpcbasedata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "cpcbasedata"); + } + + @Override + public Result pioneerdata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "pioneerdata"); + } + + @Override + public Result partylinkmassesdata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "partylinkmassesdata"); + } + + @Override + public Result orgrankdata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "orgrankdata"); + } + + @Override + public Result partyuserrankdata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "partyuserrankdata"); + } + + @Override + public Result difficultydata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "difficultydata"); + } + + @Override + public Result userjoin() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "userjoin"); + } + + @Override + public Result publicpartitotaldata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "publicpartitotaldata"); + } + + @Override + public Result governrankdata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "governrankdata"); + } + + @Override + public Result usertotaldata() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "usertotaldata"); + } + + @Override + public Result projectGridDaily() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "projectGridDaily"); + } + + @Override + public Result projectOrgDaily() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "projectOrgDaily"); + } + + @Override + public Result quantityGridMonthly() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "quantityGridMonthly"); + } + + @Override + public Result quantityOrgMonthly() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "quantityOrgMonthly"); + } + + @Override + public Result uploadProjectInfo(ScreenProjectFormDTO screenProjectFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "uploadProjectInfo",screenProjectFormDTO); + } + + @Override + public Result uploadProjectProcess(ScreenProjectFormDTO screenProjectFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "uploadProjectProcess",screenProjectFormDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataDayPushTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataDayPushTask.java new file mode 100644 index 00000000..bdb9a7fa --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataDayPushTask.java @@ -0,0 +1,19 @@ +package com.elink.esua.epdc.task.screen; + +/** + * 大屏【事件/项目分析】信息统计上报 + * + * @Author: wangtong + * @Date: 2021/2/24 14:16 + */ +public interface ScreenProjectDataDayPushTask { + /** + * 大屏数据推送 + * + * @param param 入参 + * @return void + * @author wangtong + * @since 2021/2/24 14:16 + */ + void run(String param); +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataMonthPushTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataMonthPushTask.java new file mode 100644 index 00000000..076b8d34 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataMonthPushTask.java @@ -0,0 +1,19 @@ +package com.elink.esua.epdc.task.screen; + +/** + * 大屏【事件/项目分析】信息统计上报 + * + * @Author: wangtong + * @Date: 2021/2/24 14:16 + */ +public interface ScreenProjectDataMonthPushTask { + /** + * 大屏数据推送 + * + * @param param 入参 + * @return void + * @author wangtong + * @since 2021/2/24 14:16 + */ + void run(String param); +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java new file mode 100644 index 00000000..e4d3dcbf --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java @@ -0,0 +1,354 @@ +package com.elink.esua.epdc.task.screen; + +import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.dao.ScreenRecordDao; +import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO; +import com.elink.esua.epdc.entity.ScreenRecordEntity; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * @program: esua-epdc + * @description: 大屏【事件/项目分析】信息统计上报 + * @author: wangtong + * @create: 2021-02-24 13:48 + **/ +@Component("screenProjectDataPushDayTask") +public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthPushTask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private static final ExecutorService service = Executors.newFixedThreadPool(100); + + @Autowired + private AnalysisFeignClient analysisFeignClient; + + @Autowired + private ScreenRecordDao screenRecordDao; + + @Override + public void run(String param) { + for(int i = 0 ; i < 14 ; i++){ + createThread(i); + } + } + + public Integer createThread(Integer methodIndex){ + Future future = service.submit(new Callable() { + @Override + public Integer call() throws Exception { + Thread.sleep(200); + if (methodIndex == 0) { + projectGridDaily(); + } else if (methodIndex == 1){ + projectOrgDaily(); + }else if (methodIndex == 2){ + uploadProjectInfo(); + } else if (methodIndex == 3){ + uploadProjectProcess(); + }else if (methodIndex == 4){ + //001、基层党建-党员基本情况 + customerCpcbasedata(); + }else if (methodIndex == 5){ + //002、党建引领-先锋模范数据 + customerPioneerdata(); + }else if (methodIndex == 6){ + //003、党建引领-党员联系群众数据 + customerPartylinkmassesdata(); + }else if (methodIndex == 7){ + //004、党建引领-先进排行榜单-先进支部排行 + customerOrgrankdata(); + }else if (methodIndex == 8){ + //005、党建引领|基层治理-居民(党员)积分排行榜 + customerPartyuserrankdata(); + }else if (methodIndex == 9){ + //006、基层治理-难点赌点项目上报 + customerDifficultydata(); + }else if (methodIndex == 10){ + //007、基层治理-公众参与 + customerUserjoin(); + }else if (methodIndex == 11){ + // 008、公众参与各类总数 + customerPublicpartitotaldata(); + }else if (methodIndex == 12){ + //009、基层治理-治理能力数据 + customerGovernrankdata(); + }else if (methodIndex == 13){ + // 010、中央区各类总数 + customerUsertotaldata(); + } + return 0; + } + }); + Integer isSuccess = 0; + try { + isSuccess = future.get(); + }catch (Exception e){ + e.printStackTrace(); + } + return isSuccess; + } + /** + * @Description 项目信息上报 + * @Author songyunpeng + * @Date 2021/2/24 + * @Param [] + * @return void + **/ + private void uploadProjectInfo() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|项目信息上报>定时任务开始执行"); + //获取上次统计时间 + Map param = new HashMap<>(); + param.put("JOB_NAME","uploadProjectInfo"); + List screenRecordEntities = screenRecordDao.selectByMap(param); + ScreenRecordEntity screenRecordEntity = new ScreenRecordEntity(); + ScreenProjectFormDTO screenProjectFormDTO = new ScreenProjectFormDTO(); + if(screenRecordEntities==null || screenRecordEntities.size()==0){ + screenProjectFormDTO.setYearMonthDay("2020-01-01"); + }else { + screenRecordEntity = screenRecordEntities.get(0); + screenProjectFormDTO.setYearMonthDay(DateUtils.format(screenRecordEntity.getStatisticsTime(), DateUtils.DATE_PATTERN)); + } + //记录此次统计时间 并更新时间或者新增 + screenRecordEntity.setStatisticsTime(DateUtils.addDateDays(new Date(),-1)); + if(StringUtils.isNotBlank(screenRecordEntity.getId())){ + screenRecordDao.updateById(screenRecordEntity); + }else { + screenRecordEntity.setJobName("uploadProjectInfo"); + screenRecordDao.insert(screenRecordEntity); + } + analysisFeignClient.uploadProjectInfo(screenProjectFormDTO); + logger.info("<" + methodName + "|项目信息上报>定时任务执行结束"); + } + + /** + * @Description 项目处理流程信息上报 + * @Author songyunpeng + * @Date 2021/2/24 + * @Param [] + * @return void + **/ + private void uploadProjectProcess() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|项目处理流程信息上报>定时任务开始执行"); + //获取上次统计时间 + Map param = new HashMap<>(); + param.put("JOB_NAME","uploadProjectProcess"); + List screenRecordEntities = screenRecordDao.selectByMap(param); + ScreenRecordEntity screenRecordEntity = new ScreenRecordEntity(); + ScreenProjectFormDTO screenProjectFormDTO = new ScreenProjectFormDTO(); + if(screenRecordEntities==null || screenRecordEntities.size()==0){ + screenProjectFormDTO.setYearMonthDay("2020-01-01"); + }else { + screenRecordEntity = screenRecordEntities.get(0); + screenProjectFormDTO.setYearMonthDay(DateUtils.format(screenRecordEntity.getStatisticsTime(), DateUtils.DATE_PATTERN)); + } + //记录此次统计时间 并更新时间或者新增 + screenRecordEntity.setStatisticsTime(DateUtils.addDateDays(new Date(),-1)); + if(StringUtils.isNotBlank(screenRecordEntity.getId())){ + screenRecordDao.updateById(screenRecordEntity); + }else { + screenRecordEntity.setJobName("uploadProjectProcess"); + screenRecordDao.insert(screenRecordEntity); + } + analysisFeignClient.uploadProjectProcess(screenProjectFormDTO); + logger.info("<" + methodName + "|项目处理流程信息上报>定时任务执行结束"); + } + + /** + * @describe: 【事件/项目分析】网格内事件 + * @author wangtong + * @date 2021/2/24 13:57 + * @params [] + * @return void + */ + private void projectGridDaily() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|【事件/项目分析】网格内事件>定时任务开始执行"); + + analysisFeignClient.projectGridDaily(); + logger.info("<" + methodName + "|【事件/项目分析】网格内事件>定时任务执行结束"); + } + + /** + * @describe: 【事件/项目分析】组织内事件 + * @author wangtong + * @date 2021/2/24 13:57 + * @params [] + * @return void + */ + private void projectOrgDaily() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|事件/项目分析】组织内事件>定时任务开始执行"); + analysisFeignClient.projectOrgDaily(); + logger.info("<" + methodName + "|事件/项目分析】组织内事件>定时任务执行结束"); + } + /** + * 010、中央区各类总数 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerUsertotaldata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|中央区各类总数>定时任务开始执行"); + analysisFeignClient.usertotaldata(); + logger.info("<" + methodName + "|中央区各类总数>定时任务执行结束"); + } + + /** + * 009、基层治理-治理能力数据 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerGovernrankdata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|基层治理-治理能力数据>定时任务开始执行"); + analysisFeignClient.governrankdata(); + logger.info("<" + methodName + "|基层治理-治理能力数据>定时任务执行结束"); + } + + /** + * 008、公众参与各类总数 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerPublicpartitotaldata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|公众参与各类总数>定时任务开始执行"); + analysisFeignClient.publicpartitotaldata(); + logger.info("<" + methodName + "|公众参与各类总数>定时任务执行结束"); + } + + /** + * 007、基层治理-公众参与 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerUserjoin() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|基层治理-公众参与>定时任务开始执行"); + analysisFeignClient.userjoin(); + logger.info("<" + methodName + "|基层治理-公众参与>定时任务执行结束"); + } + + /** + * 006、基层治理-难点赌点项目上报 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerDifficultydata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|基层治理-难点赌点项目上报>定时任务开始执行"); + analysisFeignClient.difficultydata(); + logger.info("<" + methodName + "|基层治理-难点赌点项目上报>定时任务执行结束"); + } + + /** + * 005、党建引领|基层治理-居民(党员)积分排行榜 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerPartyuserrankdata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建引领|基层治理-居民(党员)积分排行榜>定时任务开始执行"); + analysisFeignClient.partyuserrankdata(); + logger.info("<" + methodName + "|党建引领|基层治理-居民(党员)积分排行榜>定时任务执行结束"); + } + + /** + * 004、党建引领-先进排行榜单-先进支部排行 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerOrgrankdata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建引领-先进排行榜单-先进支部排行>定时任务开始执行"); + analysisFeignClient.orgrankdata(); + logger.info("<" + methodName + "|党建引领-先进排行榜单-先进支部排行>定时任务执行结束"); + } + + /** + * 003、党建引领-党员联系群众数据 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerPartylinkmassesdata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建引领-党员联系群众数据>定时任务开始执行"); + analysisFeignClient.partylinkmassesdata(); + logger.info("<" + methodName + "|党建引领-党员联系群众数据>定时任务执行结束"); + } + + /** + * 002、党建引领-先锋模范数据 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerPioneerdata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|党建引领-先锋模范数据>定时任务开始执行"); + analysisFeignClient.pioneerdata(); + logger.info("<" + methodName + "|党建引领-先锋模范数据>定时任务执行结束"); + } + + /** + * 001、基层党建-党员基本情况 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void customerCpcbasedata() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|基层党建-党员基本情况>定时任务开始执行"); + analysisFeignClient.cpcbasedata(); + logger.info("<" + methodName + "|基层党建-党员基本情况>定时任务执行结束"); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushMonthTaskImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushMonthTaskImpl.java new file mode 100644 index 00000000..5895bafc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushMonthTaskImpl.java @@ -0,0 +1,88 @@ +package com.elink.esua.epdc.task.screen; + +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +/** + * @program: esua-epdc + * @description: 大屏【事件/项目分析】信息统计上报 + * @author: wangtong + * @create: 2021-02-24 13:48 + **/ +@Component("screenProjectDataPushMonthTask") +public class ScreenProjectDataPushMonthTaskImpl implements ScreenProjectDataMonthPushTask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + private static final ExecutorService service = Executors.newFixedThreadPool(100); + + @Autowired + private AnalysisFeignClient analysisFeignClient; + + @Override + public void run(String param) { + for(int i = 0 ; i < 2 ; i++){ + createThread(i); + } + } + + public Integer createThread(Integer methodIndex){ + Future future = service.submit(new Callable() { + @Override + public Integer call() throws Exception { + Thread.sleep(200); + if (methodIndex == 0) { + quantityGridMonthly(); + } else if (methodIndex == 1){ + quantityOrgMonthly(); + } + return 0; + } + }); + Integer isSuccess = 0; + try { + isSuccess = future.get(); + }catch (Exception e){ + e.printStackTrace(); + } + return isSuccess; + } + + /** + * @describe: 【事件/项目分析】网格内月度数量统计 + * @author wangtong + * @date 2021/2/24 13:57 + * @params [] + * @return void + */ + private void quantityGridMonthly() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|【事件/项目分析】网格内月度数量统计>定时任务开始执行"); + analysisFeignClient.quantityGridMonthly(); + logger.info("<" + methodName + "|【事件/项目分析】网格内月度数量统计>定时任务执行结束"); + } + + /** + * @describe: 【事件/项目分析】组织内月度数量统计 + * @author wangtong + * @date 2021/2/24 13:57 + * @params [] + * @return void + */ + private void quantityOrgMonthly() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|事件/项目分析】组织内月度数量统计>定时任务开始执行"); + analysisFeignClient.quantityOrgMonthly(); + logger.info("<" + methodName + "|事件/项目分析】组织内月度数量统计>定时任务执行结束"); + } +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/mapper/ScreenRecordDao.xml b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/mapper/ScreenRecordDao.xml new file mode 100644 index 00000000..5a4775d9 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/mapper/ScreenRecordDao.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file