From daf257506c84123013e06123b743da2b53a0d7a9 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 24 Jun 2021 09:33:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=20=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BaseReportController.java | 56 +++--- .../com/epmet/dao/stats/BaseReportDao.java | 44 +++++ .../com/epmet/service/BaseReportService.java | 99 ++++++++++ .../service/impl/BaseReportServiceImpl.java | 180 ++++++++++++++++++ .../resources/mapper/stats/BaseReportDao.xml | 136 +++++++++++++ 5 files changed, 487 insertions(+), 28 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java index 5547c0491a..9bb84ceba8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java @@ -23,8 +23,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridreguser") - public Result gridreguser(@RequestHeader("CustomerId") String customerId, @RequestBody GridRegUserFormDTO formDTO) { - + public Result gridRegUser(@RequestBody GridRegUserFormDTO formDTO) { + baseReportService.gridRegUser(formDTO); return new Result(); } @@ -34,8 +34,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencyreguser") - public Result agencyreguser(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyRegUserFormDTO formDTO) { - + public Result agencyRegUser(@RequestBody AgencyRegUserFormDTO formDTO) { + baseReportService.agencyRegUser(formDTO); return new Result(); } @@ -45,8 +45,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridgrouptotal") - public Result gridgrouptotal(@RequestHeader("CustomerId") String customerId, @RequestBody GridGroupTotalFormDTO formDTO) { - + public Result gridGroupTotal(@RequestBody GridGroupTotalFormDTO formDTO) { + baseReportService.gridGroupTotal(formDTO); return new Result(); } @@ -56,8 +56,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencygrouptotal") - public Result agencygrouptotal(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyGroupTotalFormDTO formDTO) { - + public Result agencyGroupTotal(@RequestBody AgencyGroupTotalFormDTO formDTO) { + baseReportService.agencyGroupTotal(formDTO); return new Result(); } @@ -67,8 +67,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridhottopic") - public Result gridhottopic(@RequestHeader("CustomerId") String customerId, @RequestBody GridHotTopicFormDTO formDTO) { - + public Result gridHotTopic(@RequestBody GridHotTopicFormDTO formDTO) { + baseReportService.gridHotTopic(formDTO); return new Result(); } @@ -78,8 +78,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencyhottopic") - public Result agencyhottopic(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyHotTopicFormDTO formDTO) { - + public Result agencyHotTopic(@RequestBody AgencyHotTopicFormDTO formDTO) { + baseReportService.agencyHotTopic(formDTO); return new Result(); } @@ -89,8 +89,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridtopicstatus") - public Result gridtopicstatus(@RequestHeader("CustomerId") String customerId, @RequestBody GridTopicStatusFormDTO formDTO) { - + public Result gridTopicStatus(@RequestBody GridTopicStatusFormDTO formDTO) { + baseReportService.gridTopicStatus(formDTO); return new Result(); } @@ -100,8 +100,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencytopicstatus") - public Result agencytopicstatus(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyTopicStatusFormDTO formDTO) { - + public Result agencyTopicStatus(@RequestBody AgencyTopicStatusFormDTO formDTO) { + baseReportService.agencyTopicStatus(formDTO); return new Result(); } @@ -111,8 +111,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridtopicissue") - public Result gridtopicissue(@RequestHeader("CustomerId") String customerId, @RequestBody GridTopicIssueFormDTO formDTO) { - + public Result gridTopicIssue(@RequestBody GridTopicIssueFormDTO formDTO) { + baseReportService.gridTopicIssue(formDTO); return new Result(); } @@ -122,8 +122,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencytopicissue") - public Result agencytopicissue(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyTopicIssueFormDTO formDTO) { - + public Result agencyTopicIssue(@RequestBody AgencyTopicIssueFormDTO formDTO) { + baseReportService.agencyTopicIssue(formDTO); return new Result(); } @@ -133,8 +133,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridissue") - public Result gridissue(@RequestHeader("CustomerId") String customerId, @RequestBody GridIssueFormDTO formDTO) { - + public Result gridIssue(@RequestBody GridIssueFormDTO formDTO) { + baseReportService.gridIssue(formDTO); return new Result(); } @@ -144,8 +144,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencyissue") - public Result agencyissue(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyIssueFormDTO formDTO) { - + public Result agencyIssue(@RequestBody AgencyIssueFormDTO formDTO) { + baseReportService.agencyIssue(formDTO); return new Result(); } @@ -155,8 +155,8 @@ public class BaseReportController { * @author sun */ @PostMapping("gridproject") - public Result gridproject(@RequestHeader("CustomerId") String customerId, @RequestBody GridProjectFormDTO formDTO) { - + public Result gridProject(@RequestBody GridProjectFormDTO formDTO) { + baseReportService.gridProject(formDTO); return new Result(); } @@ -166,8 +166,8 @@ public class BaseReportController { * @author sun */ @PostMapping("agencyproject") - public Result agencyproject(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyProjectFormDTO formDTO) { - + public Result agencyProject(@RequestBody AgencyProjectFormDTO formDTO) { + baseReportService.agencyProject(formDTO); return new Result(); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java new file mode 100644 index 0000000000..d379ba229a --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/BaseReportDao.java @@ -0,0 +1,44 @@ +package com.epmet.dao.stats; + +import com.epmet.dto.basereport.form.AgencyRegUserFormDTO; +import com.epmet.dto.basereport.form.GridRegUserFormDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author sun + * @Description 部分基础数据上报 + */ +@Mapper +public interface BaseReportDao { + + /** + * @Param formDTO + * @Description 根据dateId删除客户网格注册用户数据 + * @author sun + */ + int delGridRegUser(@Param("customerId") String customerId, @Param("dateId") String dateId); + + /** + * @Param formDTO + * @Description 批量新增客户网格注册用户数据 + * @author sun + */ + void insertBatchGridRegUser(@Param("list") List dataList); + + /** + * @Param formDTO + * @Description 根据dateId删除客户组织注册用户数据 + * @author sun + */ + int delAgencyRegUser(@Param("customerId") String customerId, @Param("dateId") String dateId); + + /** + * @Param formDTO + * @Description 批量新增客户组织注册用户数据 + * @author sun + */ + void insertBatchAgencyRegUser(@Param("list") List dataList); +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java index be5a76aacd..b1bf097f58 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java @@ -1,10 +1,109 @@ package com.epmet.service; +import com.epmet.dto.basereport.form.*; + /** * @Author sun * @Description 部分基础数据上报 */ public interface BaseReportService { + /** + * @Param formDTO + * @Description 网格注册用户数据 + * @author sun + */ + void gridRegUser(GridRegUserFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织机关注册用户数据 + * @author sun + */ + void agencyRegUser(AgencyRegUserFormDTO formDTO); + + /** + * @Param formDTO + * @Description 网格群组总数 + * @author sun + */ + void gridGroupTotal(GridGroupTotalFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织群组总数 + * @author sun + */ + void agencyGroupTotal(AgencyGroupTotalFormDTO formDTO); + + /** + * @Param formDTO + * @Description 网格热议话题数据 + * @author sun + */ + void gridHotTopic(GridHotTopicFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织热议话题数据 + * @author sun + */ + void agencyHotTopic(AgencyHotTopicFormDTO formDTO); + + /** + * @Param formDTO + * @Description 网格状态话题数据 + * @author sun + */ + void gridTopicStatus(GridTopicStatusFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织状态话题数据 + * @author sun + */ + void agencyTopicStatus(AgencyTopicStatusFormDTO formDTO); + + /** + * @Param formDTO + * @Description 网格话题转议题数据 + * @author sun + */ + void gridTopicIssue(GridTopicIssueFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织话题转议题数据 + * @author sun + */ + void agencyTopicIssue(AgencyTopicIssueFormDTO formDTO); + + /** + * @Param formDTO + * @Description 网格议题数据 + * @author sun + */ + void gridIssue(GridIssueFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织议题数据 + * @author sun + */ + void agencyIssue(AgencyIssueFormDTO formDTO); + + /** + * @Param formDTO + * @Description 网格项目数据 + * @author sun + */ + void gridProject(GridProjectFormDTO formDTO); + + /** + * @Param formDTO + * @Description 组织项目数据 + * @author sun + */ + void agencyProject(AgencyProjectFormDTO formDTO); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java index 2f0efdc5f6..5551d2749b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java @@ -1,7 +1,13 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.dao.stats.BaseReportDao; +import com.epmet.dto.basereport.form.*; import com.epmet.service.BaseReportService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; /** * @Author sun @@ -10,4 +16,178 @@ import org.springframework.stereotype.Service; @Service public class BaseReportServiceImpl implements BaseReportService { + @Autowired + private BaseReportDao baseReportDao; + + + /** + * @Param formDTO + * @Description 网格注册用户数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridRegUser(GridRegUserFormDTO formDTO) { + if (formDTO.getIsFirst()) { + int deleteNum; + do { + deleteNum = baseReportDao.delGridRegUser(formDTO.getDataList().get(0).getCustomerId(), formDTO.getDataList().get(0).getDateId()); + } while (deleteNum > NumConstant.ZERO); + } + if (!CollectionUtils.isEmpty(formDTO.getDataList())) { + baseReportDao.insertBatchGridRegUser(formDTO.getDataList()); + } + } + + /** + * @Param formDTO + * @Description 组织机关注册用户数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyRegUser(AgencyRegUserFormDTO formDTO) { + if (formDTO.getIsFirst()) { + int deleteNum; + do { + deleteNum = baseReportDao.delAgencyRegUser(formDTO.getDataList().get(0).getCustomerId(), formDTO.getDataList().get(0).getDateId()); + } while (deleteNum > NumConstant.ZERO); + } + if (!CollectionUtils.isEmpty(formDTO.getDataList())) { + baseReportDao.insertBatchAgencyRegUser(formDTO.getDataList()); + } + } + + /** + * @Param formDTO + * @Description 网格群组总数 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridGroupTotal(GridGroupTotalFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 组织群组总数 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyGroupTotal(AgencyGroupTotalFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 网格热议话题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridHotTopic(GridHotTopicFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 组织热议话题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyHotTopic(AgencyHotTopicFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 网格状态话题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridTopicStatus(GridTopicStatusFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 组织状态话题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyTopicStatus(AgencyTopicStatusFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 网格话题转议题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridTopicIssue(GridTopicIssueFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 组织话题转议题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyTopicIssue(AgencyTopicIssueFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 网格议题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridIssue(GridIssueFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 组织议题数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyIssue(AgencyIssueFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 网格项目数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void gridProject(GridProjectFormDTO formDTO) { + + } + + /** + * @Param formDTO + * @Description 组织项目数据 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void agencyProject(AgencyProjectFormDTO formDTO) { + + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml new file mode 100644 index 0000000000..8c3e4a4056 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/BaseReportDao.xml @@ -0,0 +1,136 @@ + + + + + + DELETE + FROM + fact_reg_user_grid_daily + WHERE + customer_id = #{customerId} + AND date_id = #{dateId} + LIMIT 1000 + + + + insert into fact_reg_user_grid_daily + ( + id, + customer_id, + agency_id, + grid_id, + date_id, + week_id, + year_id, + reg_total, + resi_total, + warm_hearted_total, + partymember_total, + reg_incr, + warm_incr, + partymember_incr, + resi_proportion, + partymember_proportion, + warm_hearted_proportion, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + ) values + + ( + (SELECT REPLACE(UUID(), '-', '') AS id), + #{item.customerId}, + #{item.agencyId}, + #{item.gridId}, + #{item.dateId}, + #{item.weekId}, + #{item.yearId}, + #{item.regTotal}, + #{item.resiTotal}, + #{item.warmHeartedTotal}, + #{item.partymemberTotal}, + #{item.regIncr}, + #{item.warmIncr}, + #{item.partymemberIncr}, + #{item.resiProportion}, + #{item.partymemberProportion}, + #{item.warmHeartedProportion}, + 0, + 0, + 'BASE_REPORT', + now(), + 'BASE_REPORT', + now() + ) + + + + + DELETE + FROM + fact_reg_user_agency_daily + WHERE + customer_id = #{customerId} + AND date_id = #{dateId} + LIMIT 1000 + + + + insert into fact_reg_user_agency_daily + ( + id, + customer_id, + agency_id, + date_id, + week_id, + year_id, + reg_total, + resi_total, + warm_hearted_total, + partymember_total, + reg_incr, + warm_incr, + partymember_incr, + resi_proportion, + partymember_proportion, + warm_hearted_proportion, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + ) values + + ( + (SELECT REPLACE(UUID(), '-', '') AS id), + #{item.customerId}, + #{item.agencyId}, + #{item.dateId}, + #{item.weekId}, + #{item.yearId}, + #{item.regTotal}, + #{item.resiTotal}, + #{item.warmHeartedTotal}, + #{item.partymemberTotal}, + #{item.regIncr}, + #{item.warmIncr}, + #{item.partymemberIncr}, + #{item.resiProportion}, + #{item.partymemberProportion}, + #{item.warmHeartedProportion}, + 0, + 0, + 'BASE_REPORT', + now(), + 'BASE_REPORT', + now() + ) + + + + +