From fb8f99587701d0f82c0c106a0af88a49f92e03fc Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期一, 27 十二月 2021 09:39:09 +0800 Subject: [PATCH] 活动相关大屏提交 --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/PageBaseDTO.java | 3 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenResidentActStatisticsInfo.java | 36 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActCommitteeDao.java | 9 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenVolunteerActStatisticsInfo.java | 36 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/BigScreenStatisticsService.java | 28 ++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml | 79 +++++++ springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BigScreenStatisticsApi.java | 106 ++++++++-- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/ResidentAutonomyStatisticsVO.java | 18 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java | 32 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java | 155 +++++++++++++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoDOMapper.xml | 5 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BigScreenStatisticsApi.java | 39 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActCommitteeMapper.xml | 6 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java | 37 +++ 14 files changed, 565 insertions(+), 24 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/PageBaseDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/PageBaseDTO.java index 91ad744..c6b2f22 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/PageBaseDTO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/PageBaseDTO.java @@ -24,6 +24,9 @@ @ApiModelProperty(value = "查询参数id", example = "10") private Long paramId; + @ApiModelProperty(value = "字符串类型查询参数", example = "10") + private String param2; + @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenResidentActStatisticsInfo.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenResidentActStatisticsInfo.java new file mode 100644 index 0000000..fe0a78b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenResidentActStatisticsInfo.java @@ -0,0 +1,36 @@ +package com.panzhihua.common.model.vos.community.bigscreen; + +import java.util.List; + +import com.panzhihua.common.model.vos.community.StatisticsCommVO; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: BigScreenResidentActStatisticsInfo + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 居民活动大屏统计数据 + * @author: hans + * @date: 2021/12/24 15:06 + */ +@Data +@ApiModel("居民活动大屏统计数据") +public class BigScreenResidentActStatisticsInfo { + + @ApiModelProperty("居民活动发布次数") + private Integer publishNum = 0; + + @ApiModelProperty("居民活动参与人数") + private Integer joinNum = 0; + + @ApiModelProperty(value = "居民活动饼图数据") + private List<StatisticsCommVO> actCircleData; + + @ApiModelProperty(value = "居民活动新增折线数据") + private List<StatisticsCommVO> actAddPolylineData; + + @ApiModelProperty(value = "居民活动累计折线数据") + private List<StatisticsCommVO> actTotalPolylineData; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenVolunteerActStatisticsInfo.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenVolunteerActStatisticsInfo.java new file mode 100644 index 0000000..e73ac08 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/BigScreenVolunteerActStatisticsInfo.java @@ -0,0 +1,36 @@ +package com.panzhihua.common.model.vos.community.bigscreen; + +import java.util.List; + +import com.panzhihua.common.model.vos.community.StatisticsCommVO; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: BigScreenVolunteerActStatisticsInfo + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 志愿者活动大屏统计数据 + * @author: hans + * @date: 2021/12/24 16:25 + */ +@Data +@ApiModel("志愿者活动大屏统计数据") +public class BigScreenVolunteerActStatisticsInfo { + + @ApiModelProperty("志愿者活动发布次数") + private Integer publishNum = 0; + + @ApiModelProperty("志愿者活动参与人数") + private Integer joinNum = 0; + + @ApiModelProperty(value = "志愿者活动饼图数据") + private List<StatisticsCommVO> actCircleData; + + @ApiModelProperty(value = "志愿者活动新增折线数据") + private List<StatisticsCommVO> actAddPolylineData; + + @ApiModelProperty(value = "志愿者活动累计折线数据") + private List<StatisticsCommVO> actTotalPolylineData; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/ResidentAutonomyStatisticsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/ResidentAutonomyStatisticsVO.java index c2a0a7e..ee19ddc 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/ResidentAutonomyStatisticsVO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/bigscreen/ResidentAutonomyStatisticsVO.java @@ -52,6 +52,12 @@ @ApiModelProperty(value = "业主委员会小区覆盖率") private BigDecimal areaCoverPercent; + @ApiModelProperty(value = "业主委员会党员占比大于50%数量") + private Integer committeeMostlyTotal = 0; + + @ApiModelProperty(value = "业主委员会党员占比") + private List<StatisticsCommVO> committeePartyPercent; + @ApiModelProperty(value = "议事投票本月总数") private Integer discussCurrentMonCount; @@ -126,4 +132,16 @@ @ApiModelProperty(value = "爱心义仓捐赠物品图片") private List<String> warehouseImages; + + @ApiModelProperty(value = "居民活动本月总数") + private Integer residentActCurrentMonCount; + + @ApiModelProperty(value = "居民活动总数") + private Integer residentActTotalCount; + + @ApiModelProperty(value = "居民活动分类柱状统计") + private List<StatisticsCommVO> residentActHistogram; + + @ApiModelProperty(value = "居民自治组织数") + private Integer residentAutonomyOrgCount = 0; } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java index a4c6062..ccdcd7a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java @@ -7680,4 +7680,36 @@ */ @PostMapping("/screen/index/questionnaireList") R indexQuestionnaireList(@RequestBody PageBaseDTO pageBaseDTO); + + /** + * 首页二级页面-居民活动 + * @param communityId + * @return + */ + @GetMapping("/screen/index/residentAct") + R indexResidentAct(@RequestParam("communityId") Long communityId); + + /** + * 首页二级页面-居民活动展示列表 + * @param pageBaseDTO + * @return + */ + @PostMapping("/screen/index/residentActList") + R indexResidentActList(@RequestBody PageBaseDTO pageBaseDTO); + + /** + * 首页二级页面-志愿者活动 + * @param communityId + * @return + */ + @GetMapping("/screen/index/volunteerAct") + R indexVolunteerAct(@RequestParam("communityId") Long communityId); + + /** + * 首页二级页面-志愿者活动展示列表 + * @param pageBaseDTO + * @return + */ + @PostMapping("/screen/index/volunteerActList") + R indexVolunteerActList(@RequestBody PageBaseDTO pageBaseDTO); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BigScreenStatisticsApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BigScreenStatisticsApi.java index d9cbb91..af503e3 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BigScreenStatisticsApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BigScreenStatisticsApi.java @@ -1,46 +1,68 @@ package com.panzhihua.community_backstage.api; import javax.annotation.Resource; -import javax.validation.Valid; -import cn.hutool.http.HttpUtil; +import com.panzhihua.common.model.vos.community.ComActActivityVO; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenResidentActStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerActStatisticsInfo; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.constants.HttpConstant; -import com.panzhihua.common.model.dtos.PageBaseDTO; -import com.panzhihua.common.model.dtos.community.convenient.PagePopularMerchantDTO; -import com.panzhihua.common.model.dtos.property.CommonPage; -import com.panzhihua.common.model.vos.community.ComActDynVO; -import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyOrg; -import com.panzhihua.common.model.vos.community.bigscreen.WestScreenStatics; -import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO; -import com.panzhihua.common.service.partybuilding.PartyBuildingService; -import com.panzhihua.common.model.vos.community.ComActDynVO; -import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; -import com.panzhihua.common.model.vos.community.ComActMicroWishVO; -import com.panzhihua.common.model.vos.community.ComActQuestnaireVO; -import com.panzhihua.common.model.vos.community.bigscreen.*; -import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; -import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO; -import com.panzhihua.common.utlis.HttpClientUtil; -import com.panzhihua.common.utlis.HttpUtils; -import io.swagger.annotations.ApiImplicitParam; -import org.springframework.web.bind.annotation.*; - import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.PageBaseDTO; import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDTO; import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO; import com.panzhihua.common.model.dtos.community.bigscreen.event.ScreenDrawEventListDTO; import com.panzhihua.common.model.dtos.community.bigscreen.event.ScreenEventListDTO; +import com.panzhihua.common.model.dtos.community.convenient.PagePopularMerchantDTO; +import com.panzhihua.common.model.dtos.property.CommonPage; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComActDynVO; +import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; +import com.panzhihua.common.model.vos.community.ComActMicroWishVO; +import com.panzhihua.common.model.vos.community.ComActQuestnaireVO; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenCommunityStatisticsVO; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenDynStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenEasyPhotoStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenMerchantStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenMicroWishStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenNeighborStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenQuestionnaireStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenServiceData; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenServiceUser; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyOrg; +import com.panzhihua.common.model.vos.community.bigscreen.GridsGovernanceStatisticsVO; +import com.panzhihua.common.model.vos.community.bigscreen.IndexInfo; +import com.panzhihua.common.model.vos.community.bigscreen.ResidentAutonomyStatisticsVO; +import com.panzhihua.common.model.vos.community.bigscreen.WestScreenStatics; +import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; import com.panzhihua.common.model.vos.community.screen.civil.CivilStatisticsVO; -import com.panzhihua.common.model.vos.community.screen.event.*; +import com.panzhihua.common.model.vos.community.screen.event.EventComprehensiveGovernanceStatisticsVO; +import com.panzhihua.common.model.vos.community.screen.event.EventGridMemberVO; +import com.panzhihua.common.model.vos.community.screen.event.EventGridStatisticsVO; +import com.panzhihua.common.model.vos.community.screen.event.EventListVO; +import com.panzhihua.common.model.vos.community.screen.event.EventNewStatisticsVO; +import com.panzhihua.common.model.vos.community.screen.event.EventPopulationStatisticsVO; +import com.panzhihua.common.model.vos.community.screen.event.EventPopulationStreetVO; +import com.panzhihua.common.model.vos.community.screen.event.EventStatisticsVO; import com.panzhihua.common.model.vos.community.screen.index.IndexStatisticsVO; +import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO; +import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO; import com.panzhihua.common.model.vos.screen.ScreenDrawEventPopulationTotalVO; import com.panzhihua.common.model.vos.screen.ScreenDrawEventVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.grid.GridService; +import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.utlis.HttpClientUtil; +import com.panzhihua.common.utlis.HttpUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -449,4 +471,42 @@ pagePopularMerchantDTO.setCommunityId(communityId); return communityService.getScreenPopularMerchants(pagePopularMerchantDTO); } + + /** + * 首页二级页面-居民活动 + */ + @ApiOperation(value = "首页二级页面-居民活动", response = BigScreenResidentActStatisticsInfo.class) + @GetMapping("/index/residentAct") + public R indexResidentAct() { + return communityService.indexResidentAct(this.getCommunityId()); + } + + /** + * 首页二级页面-居民活动展示列表 + */ + @ApiOperation(value = "首页二级页面-居民活动展示列表", response = ComActActivityVO.class) + @PostMapping("/index/residentActList") + public R indexResidentActList(@RequestBody PageBaseDTO pageBaseDTO) { + pageBaseDTO.setCommunityId(this.getCommunityId()); + return communityService.indexResidentActList(pageBaseDTO); + } + + /** + * 首页二级页面-志愿者活动 + */ + @ApiOperation(value = "首页二级页面-志愿者活动", response = BigScreenVolunteerActStatisticsInfo.class) + @GetMapping("/index/volunteerAct") + public R indexVolunteerAct() { + return communityService.indexVolunteerAct(this.getCommunityId()); + } + + /** + * 首页二级页面-志愿者活动展示列表 + */ + @ApiOperation(value = "首页二级页面-志愿者活动展示列表", response = ComActActivityVO.class) + @PostMapping("/index/volunteerActList") + public R indexVolunteerActList(@RequestBody PageBaseDTO pageBaseDTO) { + pageBaseDTO.setCommunityId(this.getCommunityId()); + return communityService.indexVolunteerActList(pageBaseDTO); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BigScreenStatisticsApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BigScreenStatisticsApi.java index 0fd0d86..8ae1dae 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BigScreenStatisticsApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BigScreenStatisticsApi.java @@ -296,4 +296,43 @@ return bigScreenStatisticsService.getScreenPopularMerchants(pagePopularMerchantDTO); } + /** + * 首页二级页面-居民活动 + * @param communityId + * @return + */ + @GetMapping("/index/residentAct") + public R indexResidentAct(@RequestParam("communityId") Long communityId) { + return bigScreenStatisticsService.indexResidentAct(communityId); + } + + /** + * 首页二级页面-居民活动展示列表 + * @param pageBaseDTO + * @return + */ + @PostMapping("/index/residentActList") + public R indexResidentActList(@RequestBody PageBaseDTO pageBaseDTO) { + return bigScreenStatisticsService.indexResidentActList(pageBaseDTO); + } + + /** + * 首页二级页面-志愿者活动 + * @param communityId + * @return + */ + @GetMapping("/index/volunteerAct") + public R indexVolunteerAct(@RequestParam("communityId") Long communityId) { + return bigScreenStatisticsService.indexVolunteerAct(communityId); + } + + /** + * 首页二级页面-志愿者活动展示列表 + * @param pageBaseDTO + * @return + */ + @PostMapping("/index/volunteerActList") + public R indexVolunteerActList(@RequestBody PageBaseDTO pageBaseDTO) { + return bigScreenStatisticsService.indexVolunteerActList(pageBaseDTO); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java index 82d3d98..a32b06c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java @@ -4,8 +4,10 @@ import java.util.List; import java.util.Map; +import com.panzhihua.common.model.dtos.PageBaseDTO; import com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO; import com.panzhihua.common.model.vos.community.ComActActivityTypeVO; +import com.panzhihua.common.model.vos.community.StatisticsCommVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -231,4 +233,39 @@ * @return */ int addActivityType(@Param("comActActivityTypeVO") ComActActivityTypeVO comActActivityTypeVO); + + /** + * 居民活动分类统计数据 + * @param communityId + * @param isResidentAct + * @return + */ + List<StatisticsCommVO> selectResidentActHistogramData(@Param("communityId") Long communityId, @Param("isResidentAct") boolean isResidentAct); + + /** + * 居民活动分类人口参与统计 + * @param communityId + * @param isResidentAct + * @return + */ + List<StatisticsCommVO> getIndexResidentActBaseData(@Param("communityId") Long communityId, @Param("isResidentAct") boolean isResidentAct); + + /** + * 获取活动新增折线数据 + * @param communityId + * @param isResidentAct + * @return + */ + List<StatisticsCommVO> getActAddPolylineData(@Param("communityId") Long communityId, @Param("isResidentAct") boolean isResidentAct); + + /** + * 获取活动累计折线数据 + * @param communityId + * @param isResidentAct + * @param date + * @return + */ + StatisticsCommVO getActTotalPolylineData(@Param("communityId") Long communityId, @Param("isResidentAct") boolean isResidentAct, @Param("date") String date); + + IPage<ComActActivityVO> indexActList(@Param("page") Page page, @Param("pageBaseDTO") PageBaseDTO pageBaseDTO, @Param("isResidentAct") boolean isResidentAct); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActCommitteeDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActCommitteeDao.java index 767eea4..7df2347 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActCommitteeDao.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActCommitteeDao.java @@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.property.CommonPage; import com.panzhihua.common.model.vos.community.ComActCommiteeVO; +import com.panzhihua.common.model.vos.community.StatisticsCommVO; import org.apache.ibatis.annotations.Mapper; import com.panzhihua.service_community.entity.ComActCommittee; import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * (ComActCommittee)表数据库访问层 @@ -25,4 +28,10 @@ */ IPage<ComActCommiteeVO> pageList(Page page, @Param("commonPage")CommonPage commonPage); + /** + * 业主委员会党员占比 + * @param communityId + * @return + */ + List<StatisticsCommVO> selectCommitteePartyPercent(@Param("communityId") Long communityId); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/BigScreenStatisticsService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/BigScreenStatisticsService.java index 639bf1f..4aa023c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/BigScreenStatisticsService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/BigScreenStatisticsService.java @@ -123,4 +123,32 @@ * @return */ R indexQuestionnaireList(PageBaseDTO pageBaseDTO); + + /** + * 首页二级页面-居民活动 + * @param communityId + * @return + */ + R indexResidentAct(Long communityId); + + /** + * 首页二级页面-居民活动展示列表 + * @param pageBaseDTO + * @return + */ + R indexResidentActList(PageBaseDTO pageBaseDTO); + + /** + * 首页二级页面-志愿者活动 + * @param communityId + * @return + */ + R indexVolunteerAct(Long communityId); + + /** + * 首页二级页面-志愿者活动展示列表 + * @param pageBaseDTO + * @return + */ + R indexVolunteerActList(PageBaseDTO pageBaseDTO); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java index 7ab345f..fca296c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BigScreenStatisticsServiceImpl.java @@ -14,6 +14,10 @@ import javax.annotation.Resource; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenResidentActStatisticsInfo; +import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerActStatisticsInfo; +import com.panzhihua.service_community.dao.ComActActivityDAO; +import com.panzhihua.service_community.dao.ComActCommitteeDao; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -91,6 +95,12 @@ @Resource private ComActDynDAO comActDynDAO; + + @Resource + private ComActActivityDAO comActActivityDAO; + + @Resource + private ComActCommitteeDao comActCommitteeDao; /** * 大数据分析平台-居民自治 @@ -187,6 +197,19 @@ //捐赠图片 List<String> warehouseImages = comActWarehouseDonatesDao.getWarehouseImages(communityId, pageSize); statisticsVO.setWarehouseImages(warehouseImages); + + //居民活动柱状统计 + List<StatisticsCommVO> residentActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, true); + //居民活动发布总数 + int residentActTotalCount = 0; + if (!residentActHistogram.isEmpty()) { + residentActTotalCount = residentActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum(); + } + statisticsVO.setResidentActTotalCount(residentActTotalCount); + statisticsVO.setResidentActHistogram(residentActHistogram); + //业主委员会党员占比 + List<StatisticsCommVO> committeePartyPercent = comActCommitteeDao.selectCommitteePartyPercent(communityId); + statisticsVO.setCommitteePartyPercent(committeePartyPercent); return R.ok(statisticsVO); } @@ -649,6 +672,138 @@ return R.ok(comActQuestnaireDAO.selectQuestionnaireDisplayList(page, pageBaseDTO)); } + /** + * 首页二级页面-居民活动 + * @param communityId + * @return + */ + @Override + public R indexResidentAct(Long communityId) { + BigScreenResidentActStatisticsInfo statisticsInfo = new BigScreenResidentActStatisticsInfo(); + List<StatisticsCommVO> actCircleData = comActActivityDAO.getIndexResidentActBaseData(communityId, true); + statisticsInfo.setActCircleData(actCircleData); + if (!actCircleData.isEmpty()) { + statisticsInfo.setJoinNum(actCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum()); + } + List<StatisticsCommVO> residentActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, true); + //居民活动发布总数 + int publishNum = 0; + if (!residentActHistogram.isEmpty()) { + publishNum = residentActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum(); + } + statisticsInfo.setPublishNum(publishNum); + //居民活动新增折线数据 + Date nowDate = new Date(); + List<StatisticsCommVO> actAddPolylineData = comActActivityDAO.getActAddPolylineData(communityId, true); + int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate)); + for (int i = 1; i <= currentMon; i++) { + String temp; + if (i > 9) { + temp = "" + i; + } else { + temp = "0" + i; + } + boolean isExist = actAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) && + e.getFiled().endsWith(temp)); + if (!isExist) { + StatisticsCommVO other = new StatisticsCommVO(); + other.setFiled(temp); + other.setNum(0); + actAddPolylineData.add(other); + } + } + actAddPolylineData = actAddPolylineData.stream().filter(e -> nonNull(e.getFiled())) + .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList()); + statisticsInfo.setActAddPolylineData(actAddPolylineData); + //居民活动累计折线数据 + List<StatisticsCommVO> actTotalPolylineData = new ArrayList<>(); + String year = new SimpleDateFormat("yyyy").format(nowDate); + actAddPolylineData.forEach(e -> { + StatisticsCommVO temp = comActActivityDAO.getActTotalPolylineData(communityId, true, year + e.getFiled()); + temp.setFiled(e.getFiled()); + actTotalPolylineData.add(temp); + }); + statisticsInfo.setActTotalPolylineData(actTotalPolylineData); + return R.ok(statisticsInfo); + } + + /** + * 首页二级页面-居民活动展示列表 + * @param pageBaseDTO + * @return + */ + @Override + public R indexResidentActList(PageBaseDTO pageBaseDTO) { + Page page = retrievePage(pageBaseDTO); + return R.ok(comActActivityDAO.indexActList(page, pageBaseDTO, true)); + } + + /** + * 首页二级页面-志愿者活动 + * @param communityId + * @return + */ + @Override + public R indexVolunteerAct(Long communityId) { + BigScreenVolunteerActStatisticsInfo statisticsInfo = new BigScreenVolunteerActStatisticsInfo(); + List<StatisticsCommVO> actCircleData = comActActivityDAO.getIndexResidentActBaseData(communityId, false); + statisticsInfo.setActCircleData(actCircleData); + if (!actCircleData.isEmpty()) { + statisticsInfo.setJoinNum(actCircleData.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum()); + } + List<StatisticsCommVO> volunteerActHistogram = comActActivityDAO.selectResidentActHistogramData(communityId, false); + //志愿者活动发布总数 + int publishNum = 0; + if (!volunteerActHistogram.isEmpty()) { + publishNum = volunteerActHistogram.stream().map(StatisticsCommVO::getNum).mapToInt(Integer::intValue).sum(); + } + statisticsInfo.setPublishNum(publishNum); + //志愿者活动新增折线数据 + Date nowDate = new Date(); + List<StatisticsCommVO> actAddPolylineData = comActActivityDAO.getActAddPolylineData(communityId, false); + int currentMon = Integer.parseInt(new SimpleDateFormat("MM").format(nowDate)); + for (int i = 1; i <= currentMon; i++) { + String temp; + if (i > 9) { + temp = "" + i; + } else { + temp = "0" + i; + } + boolean isExist = actAddPolylineData.stream().anyMatch(e -> nonNull(e.getFiled()) && + e.getFiled().endsWith(temp)); + if (!isExist) { + StatisticsCommVO other = new StatisticsCommVO(); + other.setFiled(temp); + other.setNum(0); + actAddPolylineData.add(other); + } + } + actAddPolylineData = actAddPolylineData.stream().filter(e -> nonNull(e.getFiled())) + .sorted(Comparator.comparing(e -> e.getFiled())).collect(Collectors.toList()); + statisticsInfo.setActAddPolylineData(actAddPolylineData); + //志愿者活动累计折线数据 + List<StatisticsCommVO> actTotalPolylineData = new ArrayList<>(); + String year = new SimpleDateFormat("yyyy").format(nowDate); + actAddPolylineData.forEach(e -> { + StatisticsCommVO temp = comActActivityDAO.getActTotalPolylineData(communityId, false, year + e.getFiled()); + temp.setFiled(e.getFiled()); + actTotalPolylineData.add(temp); + }); + statisticsInfo.setActTotalPolylineData(actTotalPolylineData); + return R.ok(statisticsInfo); + } + + /** + * 首页二级页面-志愿者活动展示列表 + * @param pageBaseDTO + * @return + */ + @Override + public R indexVolunteerActList(PageBaseDTO pageBaseDTO) { + Page page = retrievePage(pageBaseDTO); + return R.ok(comActActivityDAO.indexActList(page, pageBaseDTO, false)); + } + private Page retrievePage(PageBaseDTO pageBaseDTO) { Long pageNum = pageBaseDTO.getPageNum(); Long size = pageBaseDTO.getPageSize(); diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml index bdf1b9d..d889c36 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml @@ -146,4 +146,83 @@ <select id="listActivityType" resultType="com.panzhihua.common.model.vos.community.ComActActivityTypeVO"> SELECT * FROM com_act_activity_type WHERE `type` = #{type} AND community_id = #{communityId} ORDER BY id ASC </select> + <select id="selectResidentActHistogramData" + resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO"> + SELECT activity_type AS filed, COUNT(id) AS num + FROM com_act_activity + WHERE community_id = #{communityId} + <if test="isResidentAct"> + AND volunteer_max = 0 + </if> + <if test="!isResidentAct"> + AND volunteer_max != 0 + </if> + GROUP BY filed + </select> + <select id="getIndexResidentActBaseData" + resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO"> + SELECT filed, num, ROUND(num/total,2) AS percent FROM + (SELECT t1.activity_type AS filed, COUNT(t2.id) AS num + FROM com_act_activity t1 + LEFT JOIN (SELECT * FROM com_act_act_sign WHERE `status` = 1) t2 ON t1.id = t2.activity_id + WHERE t1.community_id = #{communityId} + <if test="isResidentAct"> + AND t1.volunteer_max = 0 + </if> + <if test="!isResidentAct"> + AND t1.volunteer_max != 0 + </if> + GROUP BY filed) temp1, + (SELECT COUNT(t2.id) AS total + FROM com_act_activity t1 + LEFT JOIN (SELECT * FROM com_act_act_sign WHERE `status` = 1) t2 ON t1.id = t2.activity_id + WHERE t1.community_id = #{communityId} + <if test="isResidentAct"> + AND t1.volunteer_max = 0 + </if> + <if test="!isResidentAct"> + AND t1.volunteer_max != 0 + </if> + ) temp2 + </select> + <select id="getActAddPolylineData" resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO"> + SELECT DATE_FORMAT( publish_at, '%m' ) AS filed, COUNT(id) AS num + FROM com_act_activity + WHERE community_id = #{communityId} + <if test="isResidentAct"> + AND volunteer_max = 0 + </if> + <if test="!isResidentAct"> + AND volunteer_max != 0 + </if> + AND DATE_FORMAT( publish_at, '%Y' ) = DATE_FORMAT( CURDATE( ) , '%Y' ) GROUP BY filed + </select> + <select id="getActTotalPolylineData" + resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO"> + SELECT COUNT(id) AS num + FROM com_act_activity + WHERE community_id = #{communityId} + <if test="isResidentAct"> + AND volunteer_max = 0 + </if> + <if test="!isResidentAct"> + AND volunteer_max != 0 + </if> + AND DATE_FORMAT( publish_at, '%Y%m' ) <= #{date} + </select> + <select id="indexActList" resultType="com.panzhihua.common.model.vos.community.ComActActivityVO"> + SELECT id, `status`, activity_type, activity_name, cover + FROM com_act_activity + WHERE community_id = #{pageBaseDTO.communityId} + <if test="isResidentAct"> + AND volunteer_max = 0 + </if> + <if test="!isResidentAct"> + AND volunteer_max != 0 + </if> + <if test="pageBaseDTO.param2 != null and pageBaseDTO.param2 != """> + AND activity_type = #{pageBaseDTO.param2} + </if> + ORDER BY id DESC + </select> </mapper> \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActCommitteeMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActCommitteeMapper.xml index f1275ec..12e5f1a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActCommitteeMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActCommitteeMapper.xml @@ -38,5 +38,11 @@ </where> order by t.create_time desc </select> + <select id="selectCommitteePartyPercent" + resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO"> + SELECT `name` AS filed, 0 AS num, 0 AS percent + FROM com_act_committee + WHERE community_id = #{communityId} + </select> </mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoDOMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoDOMapper.xml index 1548a41..f74f73c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoDOMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActEasyPhotoDOMapper.xml @@ -316,7 +316,10 @@ WHERE d1.community_id = #{communityId} AND d1.is_del = 2 AND `type` = 1) t16, (SELECT COUNT(DISTINCT d2.user_id) AS voteCount FROM com_act_discuss d1 INNER JOIN com_act_discuss_option_user d2 ON d1.id = d2.discuss_id - WHERE d1.community_id = #{communityId} AND d1.is_del = 2 AND `type` = 2) t17 + WHERE d1.community_id = #{communityId} AND d1.is_del = 2 AND `type` = 2) t17, + (SELECT COUNT(id) AS residentActCurrentMonCount + FROM com_act_activity + WHERE community_id = #{communityId} AND volunteer_max = 0 AND DATE_FORMAT( publish_at, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )) t18 </select> <select id="selectGridsGovernance" resultType="com.panzhihua.common.model.vos.community.bigscreen.GridsGovernanceStatisticsVO"> -- Gitblit v1.7.1