From 3380a798c2014ba9d458d281fb1a6d72d2539139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B2=E6=A0=91=E9=80=9A?= <1976590620@qq.com> Date: Tue, 24 Mar 2020 17:02:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=90=A5=E5=AF=BC=E5=87=BA=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/user/form/ExportOperationFormDTO.java | 24 ++ .../result/ExportOperationDataResultDTO.java | 76 +++++ .../epdc/excel/ExportOperationDataExcel.java | 52 ++++ .../controller/UserAnalysisController.java | 24 +- .../modules/user/dao/UserAnalysisDao.java | 75 +++++ .../user/service/UserAnalysisService.java | 17 +- .../service/impl/UserAnalysisServiceImpl.java | 46 +++ .../resources/mapper/user/UserAnalysisDao.xml | 270 ++++++++++++++++++ 8 files changed, 574 insertions(+), 10 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java new file mode 100644 index 000000000..b4fb1ec0f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/ExportOperationFormDTO.java @@ -0,0 +1,24 @@ +package com.elink.esua.epdc.dto.user.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +public class ExportOperationFormDTO implements Serializable { + + private String operationStartTime; + + private String operationEndTime; + + /** + * 所有部门列表 + */ + private List allDeptIdsShow; + + private List allStreetIds; + + private String endTime; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java new file mode 100644 index 000000000..cf87a8027 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/ExportOperationDataResultDTO.java @@ -0,0 +1,76 @@ +package com.elink.esua.epdc.dto.user.result; + + +import lombok.Data; + +import java.io.Serializable; + + +/** + * @author: qushutong + * @Date: 2020/3/23 14:47 + * @Description: 运营导出数据 + */ +@Data +public class ExportOperationDataResultDTO implements Serializable { + + private static final long serialVersionUID = -798787916350968587L; + + /** + * 居民数 + */ + private int registerCount = 0; + + /** + * 未认证用户数 + */ + private int unAuthorizedCount = 0; + + + /** + * 党员数 + */ + private int partyCount = 0; + + /** + * 新闻发布数 + */ + private int newsCount = 0; + + + /** + * 议题数 + */ + private int eventCount = 0; + + /** + * 项目数 + */ + private int itemCount = 0; + + /** + * 项目解决数 + */ + private int itemCloseCount = 0; + + /** + * 社群数 + */ + private int communityCount = 0; + + /** + * 社群成员数 + */ + private int communityMemberCount = 0; + + /** + * 社群话题数 + */ + private int communityTopicCount = 0; + + /** + * 街道 + */ + private String streetName; + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java new file mode 100644 index 000000000..e61be0af4 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/excel/ExportOperationDataExcel.java @@ -0,0 +1,52 @@ +package com.elink.esua.epdc.excel; + + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.io.Serializable; + + +/** + * @author: qushutong + * @Date: 2020/3/23 14:47 + * @Description: 运营导出数据 + */ +@Data +public class ExportOperationDataExcel implements Serializable { + + private static final long serialVersionUID = 4935348597474149310L; + + @Excel(name = "街道") + private String streetName; + + @Excel(name = "居民数") + private int registerCount = 0; + + @Excel(name = "已认证党员数") + private int partyCount = 0; + + @Excel(name = "新闻发布数") + private int newsCount = 0; + + + @Excel(name = "议题数") + private int eventCount = 0; + + @Excel(name = "项目数") + private int itemCount = 0; + + @Excel(name = "项目结案数") + private int itemCloseCount = 0; + + @Excel(name = "社群数") + private int communityCount = 0; + + @Excel(name = "社群成员数") + private int communityMemberCount = 0; + + @Excel(name = "社群话题数") + private int communityTopicCount = 0; + + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java index e25f2dc88..b8ef9ddb5 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO; import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO; import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO; import com.elink.esua.epdc.dto.user.result.*; @@ -12,23 +13,20 @@ import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO; import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO; +import com.elink.esua.epdc.excel.ExportOperationDataExcel; import com.elink.esua.epdc.excel.GridOpiningExcel; import com.elink.esua.epdc.modules.user.service.OldMemberRankService; import com.elink.esua.epdc.modules.user.service.YoungMemberRankService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.elink.esua.epdc.excel.PartyAnalysExcel; import com.elink.esua.epdc.excel.RegisterExcel; import com.elink.esua.epdc.modules.user.service.UserAnalysisService; +import java.util.HashMap; import java.util.List; import java.util.Map; -import org.springframework.web.bind.annotation.RequestParam; - import javax.servlet.http.HttpServletResponse; /** @@ -201,4 +199,18 @@ public class UserAnalysisController { List list = userAnalysisService.listPageGridOpeningsForExport(params); ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class); } + + /*** + * 运营数据导出 + * @param + * @param response + * @return void + * @author qushutong + * @date 2020/3/23 16:36 + */ + @PostMapping("export/exportOperationData") + public void exportOperationData(@RequestBody ExportOperationFormDTO exportOperationFormDTO, HttpServletResponse response) throws Exception{ + List list = userAnalysisService.listExportOperationCount(exportOperationFormDTO); + ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, ExportOperationDataExcel.class); + } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java index 5c2c50477..6220046cb 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.modules.user.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.elink.esua.epdc.dto.user.UserAnalysisDTO; +import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO; import com.elink.esua.epdc.dto.user.form.UserCountDTO; import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO; import com.elink.esua.epdc.dto.user.result.*; @@ -157,4 +158,78 @@ public interface UserAnalysisDao extends BaseMapper { * @date 2020/3/5 14:10 */ List selectListUnAuthorizedCountByGridId(Map params); + + /*** + * 运营数据导出用户相关 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportUserCount(ExportOperationFormDTO exportOperationFormDTO); + + /*** + * 运营数据导出未认证用户 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportunAuthorizedCount(ExportOperationFormDTO exportOperationFormDTO); + + + /*** + * 运营数据导出议题 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportEventCount(ExportOperationFormDTO exportOperationFormDTO); + + /*** + * 运营数据导出项目相关 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportItemCount(ExportOperationFormDTO exportOperationFormDTO); + + /*** + * 运营数据导出新闻 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportNewsCount(ExportOperationFormDTO exportOperationFormDTO); + + /*** + * 运营数据导出社群数 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportGroupCount(ExportOperationFormDTO exportOperationFormDTO); + + /*** + * 运营数据导出社群成员数 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportCommunityMemberCount(ExportOperationFormDTO exportOperationFormDTO); + + /*** + * 运营数据导出社群话题数 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List selectExportTopicCount(ExportOperationFormDTO exportOperationFormDTO); + } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java index 8a460c049..f2759b2e8 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java @@ -2,12 +2,10 @@ package com.elink.esua.epdc.modules.user.service; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO; import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO; import com.elink.esua.epdc.dto.user.form.UserCountDTO; -import com.elink.esua.epdc.dto.user.result.GridDataTotalResultDTO; -import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; -import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; -import com.elink.esua.epdc.dto.user.result.UserSortRankResultDTO; +import com.elink.esua.epdc.dto.user.result.*; import java.util.List; import java.util.Map; @@ -88,4 +86,15 @@ public interface UserAnalysisService { * @date 2020/2/13 14:22 */ GridDataTotalResultDTO selectGridDataTotal(Map params); + + + + /*** + * 运营数据导出用户相关 + * @param exportOperationFormDTO + * @return java.util.List + * @author qushutong + * @date 2020/3/23 15:16 + */ + List listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java index 02108205f..6ee7b0f6c 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java @@ -13,6 +13,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.datasources.annotation.DataSource; import com.elink.esua.epdc.dto.user.UserAnalysisDTO; +import com.elink.esua.epdc.dto.user.form.ExportOperationFormDTO; import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO; import com.elink.esua.epdc.dto.user.form.UserCountDTO; import com.elink.esua.epdc.dto.user.result.*; @@ -23,6 +24,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -269,6 +271,7 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl listExportOperationCount(ExportOperationFormDTO exportOperationFormDTO) { + List allStreetIds = new ArrayList<>(); + for(Long[] item : exportOperationFormDTO.getAllDeptIdsShow()){ + allStreetIds.add(item[0]); + } + exportOperationFormDTO.setAllStreetIds(allStreetIds); + //用户相关 + List exportOperationDataResultDTOS = baseDao.selectExportUserCount(exportOperationFormDTO); + // 未认证用户 + List unAuthorizedResultDTOS = baseDao.selectExportunAuthorizedCount(exportOperationFormDTO); + + List newsResultDTOS = baseDao.selectExportNewsCount(exportOperationFormDTO); + // 议题 + List eventDataResultDTOS = baseDao.selectExportEventCount(exportOperationFormDTO); + // 项目 + List itemDataResultDTOS = baseDao.selectExportItemCount(exportOperationFormDTO); + // 社群 + List groupDataResultDTOS = baseDao.selectExportGroupCount(exportOperationFormDTO); + // 社群成员 + List communityMemberDataResultDTOS = baseDao.selectExportCommunityMemberCount(exportOperationFormDTO); + // 话题 + List topicDataResultDTOS = baseDao.selectExportTopicCount(exportOperationFormDTO); + //居民数 + for(int i= 0;i + + + + + + + + + + + + + + + + + + + + + + + #{item} + +