From 1bd155ffc1b5a42850c1243f43f838fdf9cefe46 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 27 Sep 2020 14:45:59 +0800 Subject: [PATCH] =?UTF-8?q?screen=5Fpublic=5Fparti=5Ftotal=5Fdata=E5=85=AC?= =?UTF-8?q?=E4=BC=97=E5=8F=82=E4=B8=8E=E5=90=84=E7=B1=BB=E6=80=BB=E6=95=B0?= =?UTF-8?q?v0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginIssueLogDailyDao.java | 12 ++++ .../screen/ScreenPublicPartiTotalDataDao.java | 9 +++ .../screen/ScreenUserTotalDataDao.java | 9 +++ .../ScreenPublicPartiTotalDataEntity.java | 2 +- .../FactOriginIssueLogDailyService.java | 10 +++ .../FactOriginIssueLogDailyServiceImpl.java | 37 +++++++++- .../PublicPartiTotalDataExtractService.java | 19 ++++++ ...ublicPartiTotalDataExtractServiceImpl.java | 68 +++++++++++++++++++ .../ScreenPublicPartiTotalDataService.java | 11 +++ .../screen/ScreenUserTotalDataService.java | 9 +++ ...ScreenPublicPartiTotalDataServiceImpl.java | 31 +++++++++ .../impl/ScreenUserTotalDataServiceImpl.java | 13 +++- .../extract/FactOriginIssueLogDailyDao.xml | 19 ++++++ .../screen/ScreenPublicPartiTotalDataDao.xml | 47 ++++++++++++- .../screen/ScreenUserTotalDataDao.xml | 8 +++ 15 files changed, 300 insertions(+), 4 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/PublicPartiTotalDataExtractService.java create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartiTotalDataExtractServiceImpl.java diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java index 9ac027b1fa..9b89222731 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueLogDailyDao.java @@ -89,4 +89,16 @@ public interface FactOriginIssueLogDailyDao extends BaseDao list, @Param("customerId")String customerId); + + /** + * @return void + * @param list + * @author yinzuomei + * @description 批量插入entity + * @Date 2020/9/27 14:00 + **/ + void insertBatchEntity(@Param("list") List list); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenUserTotalDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenUserTotalDataDao.java index 2456d0d93a..d877d0042d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenUserTotalDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenUserTotalDataDao.java @@ -57,4 +57,13 @@ public interface ScreenUserTotalDataDao extends BaseDao list, @Param("customerId")String customerId); void insertBatch(@Param("list") List list); + + /** + * @return java.util.List + * @param customerId + * @author yinzuomei + * @description 根据条件查询screen_user_total_data表 + * @Date 2020/9/27 11:22 + **/ + List selectList(@Param("customerId") String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenPublicPartiTotalDataEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenPublicPartiTotalDataEntity.java index 3f38146cc6..b0c78254e2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenPublicPartiTotalDataEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenPublicPartiTotalDataEntity.java @@ -86,7 +86,7 @@ public class ScreenPublicPartiTotalDataEntity extends BaseEpmetEntity { private Integer regUserTotal; /** - * 参与人数 + * 参与人数参与人数: 议题的表决行为的用户数去重的累计值 */ private Integer joinUserTotal; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java index 671888fb14..a6376e27dc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginIssueLogDailyService.java @@ -40,4 +40,14 @@ public interface FactOriginIssueLogDailyService extends BaseService implements FactOriginIssueLogDailyService { - + @Autowired + private DimAgencyService dimAgencyService; /** * @param customerId @@ -51,4 +59,31 @@ public class FactOriginIssueLogDailyServiceImpl extends BaseServiceImpl userTotalDataEntityList = screenUserTotalDataService.selectList(customerId); + if (CollectionUtils.isEmpty(userTotalDataEntityList)) { + log.warn("screen_user_total_data dosen't have any record "); + return; + } + List list = new ArrayList<>(); + for (ScreenUserTotalDataEntity totalData : userTotalDataEntityList) { + ScreenPublicPartiTotalDataEntity entity = new ScreenPublicPartiTotalDataEntity(); + entity.setCustomerId(customerId); + entity.setOrgType(totalData.getOrgType()); + entity.setOrgId(totalData.getOrgId()); + entity.setParentId(totalData.getParentId()); + entity.setOrgName(totalData.getOrgName()); + entity.setDataEndTime(dateId); + entity.setTopicTotal(totalData.getTopicTotal()); + entity.setIssueTotal(totalData.getIssueTotal()); + entity.setProjectTotal(totalData.getProjectTotal()); + entity.setRegUserTotal(totalData.getUserTotal()); + //参与人数参与人数: 议题的表决行为的用户数去重的累计值 + int joinUserTotal=factOriginIssueLogDailyService.queryJoinUserTotal(customerId,totalData.getOrgType(),totalData.getOrgId()); + entity.setJoinUserTotal(joinUserTotal); + list.add(entity); + } + //先删除,后插入 + screenPublicPartiTotalDataService.delAndInsertBatch(customerId, list); + } +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPublicPartiTotalDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPublicPartiTotalDataService.java index 4e804628cc..0e03f4d555 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPublicPartiTotalDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPublicPartiTotalDataService.java @@ -21,6 +21,8 @@ package com.epmet.service.evaluationindex.screen; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.entity.evaluationindex.screen.ScreenPublicPartiTotalDataEntity; +import java.util.List; + /** * 公众参与-各类(话题|议题|项目|注册人数|参与人数)总数 * @@ -28,4 +30,13 @@ import com.epmet.entity.evaluationindex.screen.ScreenPublicPartiTotalDataEntity; * @since v1.0.0 2020-09-22 */ public interface ScreenPublicPartiTotalDataService extends BaseService { + /** + * @return void + * @param customerId + * @param list screen_public_parti_total_data 记录 + * @author yinzuomei + * @description 先删除,后插入 + * @Date 2020/9/27 13:51 + **/ + void delAndInsertBatch(String customerId, List list); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenUserTotalDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenUserTotalDataService.java index 3f38a3a683..313de8c061 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenUserTotalDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenUserTotalDataService.java @@ -40,4 +40,13 @@ public interface ScreenUserTotalDataService extends BaseService list,String customerId); + + /** + * @return java.util.List + * @param customerId + * @author yinzuomei + * @description 根据条件查询screen_user_total_data表 + * @Date 2020/9/27 11:18 + **/ + List selectList(String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPublicPartiTotalDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPublicPartiTotalDataServiceImpl.java index f0b888967e..fdc231a5d2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPublicPartiTotalDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenPublicPartiTotalDataServiceImpl.java @@ -19,10 +19,17 @@ package com.epmet.service.evaluationindex.screen.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.constant.IndexCalConstant; import com.epmet.dao.evaluationindex.screen.ScreenPublicPartiTotalDataDao; import com.epmet.entity.evaluationindex.screen.ScreenPublicPartiTotalDataEntity; import com.epmet.service.evaluationindex.screen.ScreenPublicPartiTotalDataService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * 公众参与-各类(话题|议题|项目|注册人数|参与人数)总数 @@ -34,4 +41,28 @@ import org.springframework.stereotype.Service; public class ScreenPublicPartiTotalDataServiceImpl extends BaseServiceImpl implements ScreenPublicPartiTotalDataService { + /** + * @param customerId + * @param entityList screen_public_parti_total_data 记录 + * @return void + * @author yinzuomei + * @description 先删除,后插入 + * @Date 2020/9/27 13:51 + **/ + @Transactional(rollbackFor = Exception.class) + @Override + public void delAndInsertBatch(String customerId, List entityList) { + if(CollectionUtils.isEmpty(entityList)){ + return; + } + int deleteNum=0; + do{ + //沿用原来项目采集的删除方法,一次删除1000 + deleteNum=baseDao.deletePublicPartiTotalData(customerId); + }while (deleteNum!= NumConstant.ZERO); + List> partionList= ListUtils.partition(entityList, IndexCalConstant.INSERT_SIZE); + partionList.forEach(list->{ + baseDao.insertBatchEntity(list); + }); + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenUserTotalDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenUserTotalDataServiceImpl.java index a1b21beced..b21e39c716 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenUserTotalDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenUserTotalDataServiceImpl.java @@ -23,7 +23,6 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.dao.evaluationindex.screen.ScreenUserTotalDataDao; import com.epmet.entity.evaluationindex.screen.ScreenUserTotalDataEntity; import com.epmet.service.evaluationindex.screen.ScreenUserTotalDataService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -56,4 +55,16 @@ public class ScreenUserTotalDataServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @description 根据条件查询screen_user_total_data表 + * @Date 2020/9/27 11:18 + **/ + @Override + public List selectList(String customerId) { + return baseDao.selectList(customerId); + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml index 734f088d09..85c927d5c3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueLogDailyDao.xml @@ -119,4 +119,23 @@ and M.IS_PARTY=#{isParty} + + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPublicPartiTotalDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPublicPartiTotalDataDao.xml index 0c2bfa9c51..1b33f8b0ea 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPublicPartiTotalDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPublicPartiTotalDataDao.xml @@ -77,5 +77,50 @@ - + + + insert into screen_public_parti_total_data + ( + ID, + CUSTOMER_ID, + ORG_TYPE, + ORG_ID, + PARENT_ID, + ORG_NAME, + DATA_END_TIME, + TOPIC_TOTAL, + ISSUE_TOTAL, + PROJECT_TOTAL, + REG_USER_TOTAL, + JOIN_USER_TOTAL, + DEL_FLAG, + REVISION, + CREATED_BY, + CREATED_TIME, + UPDATED_BY, + UPDATED_TIME + ) values + + ( + (SELECT REPLACE(UUID(), '-', '') AS id), + #{item.customerId}, + #{item.orgType}, + #{item.orgId}, + #{item.parentId}, + #{item.orgName}, + #{item.dataEndTime}, + #{item.topicTotal}, + #{item.issueTotal}, + #{item.projectTotal}, + #{item.regUserTotal}, + #{item.joinUserTotal}, + 0, + 0, + 'APP_USER', + now(), + 'APP_USER', + now() + ) + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenUserTotalDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenUserTotalDataDao.xml index e8c0e8c660..c3b3ef7de7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenUserTotalDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenUserTotalDataDao.xml @@ -105,4 +105,12 @@ + +