Browse Source

平阴大屏接口修改

feature/syp_points
songyunpeng 5 years ago
parent
commit
56cfbf5c79
  1. 12
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java
  2. 5
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/SysDeptEntity.java
  3. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java
  4. 5
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCustomerAgencyDTO.java
  5. 3
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/UploadProjectInfoDTO.java
  6. 8
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml
  7. 1
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml
  8. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenPublicDataDao.xml
  9. 33
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/dao/ScreenRecordDao.java
  10. 50
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/entity/ScreenRecordEntity.java
  11. 151
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java
  12. 80
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java
  13. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataDayPushTask.java
  14. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataMonthPushTask.java
  15. 354
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java
  16. 88
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushMonthTaskImpl.java
  17. 13
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/mapper/ScreenRecordDao.xml

12
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;
}
/**
* 部门类型键值
*/

5
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;
}

5
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;
/**
* 名称
*/

5
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新增)
*/

3
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<String> projectImgUrl;
/**
* 结案日期

8
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml

@ -136,10 +136,10 @@
<nacos.server-addr>47.105.119.155:8848</nacos.server-addr>
<nacos.ip></nacos.ip>
<nacos.namespace>1da17390-6495-4e16-9ec6-0b8ece18a4a0</nacos.namespace>
<epmet.url>https://epmet-dev.elinkservice.cn/api</epmet.url>
<epmet.secret>0398b33f845c4768a102d2ab6ebdd00b5fec222e437540428f55d1df53e6be1e</epmet.secret>
<epmet.appId>d44a6daaea58be408bb74fe93714710f</epmet.appId>
<epmet.customerId>f5ff0770f409981c73adda6ae35143ef</epmet.customerId>
<epmet.url>http://epmet-dev.elinkservice.cn:48080/api</epmet.url>
<epmet.secret>d2c011b14217425eb48e27cf6481716ae845cff14cc0429198a8348c76893023</epmet.secret>
<epmet.appId>c1fe1becebf94b8aef724728690816a0</epmet.appId>
<epmet.customerId>eac9d3b8b10c328350b59ac4b1d64db5</epmet.customerId>
</properties>
</profile>

1
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml

@ -19,7 +19,6 @@
<result property="longitude" column="longitude"/>
<result property="projectStatusCode" column="projectStatusCode"/>
<result property="allCategoryName" column="allCategoryName"/>
<result property="projectImgUrl" column="projectImgUrl"/>
<result property="closeCaseTime" column="closeCaseTime"/>
<collection property="projectImgUrl" ofType="java.lang.String">
<result property="projectImgUrl" column="projectImgUrl"/>

29
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

33
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<ScreenRecordEntity> {
}

50
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

151
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);
}

80
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);
}
}

19
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);
}

19
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);
}

354
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<Integer> future = service.submit(new Callable<Integer>() {
@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<String,Object> param = new HashMap<>();
param.put("JOB_NAME","uploadProjectInfo");
List<ScreenRecordEntity> 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<String,Object> param = new HashMap<>();
param.put("JOB_NAME","uploadProjectProcess");
List<ScreenRecordEntity> 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 + "|基层党建-党员基本情况>定时任务执行结束");
}
}

88
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<Integer> future = service.submit(new Callable<Integer>() {
@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 + "|事件/项目分析】组织内月度数量统计>定时任务执行结束");
}
}

13
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/mapper/ScreenRecordDao.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.dao.ScreenRecordDao">
<resultMap type="com.elink.esua.epdc.entity.ScreenRecordEntity" id="screenRecordMap">
<result property="id" column="ID"/>
<result property="jobName" column="JOB_NAME"/>
<result property="statisticsTime" column="STATISTICAL_TIME"/>
</resultMap>
</mapper>
Loading…
Cancel
Save