springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/grid/EventStatisticsAllAdminVO.java
New file @@ -0,0 +1,32 @@ package com.panzhihua.common.model.vos.grid; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("管理后台统计网格所有事件返回参数") public class EventStatisticsAllAdminVO { @ApiModelProperty(value = "发布事件总数") private Integer eventTotal; @ApiModelProperty(value = "处理事件总数") private Integer handleEventTotal; @ApiModelProperty(value = "发布宣传教育总数") private Integer propagandaEducationTotal; @ApiModelProperty(value = "随手拍处理总数") private Integer easyPhotoTotal; @ApiModelProperty(value = "新增居民数") private Integer addResidentTotal = 0; @ApiModelProperty(value = "新增实有房屋数") private Integer addHouseTotal = 0; @ApiModelProperty(value = "完成走访数") private Integer finishVisitTotal = 0; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -6,6 +6,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import java.util.List; /** * * @author cedoo email:cedoo(a)qq.com @@ -770,4 +772,20 @@ */ @PostMapping("/easy/admin/publicity") R easyPublicityByAdmin(@RequestBody ComActEasyPhotoEditAdminDTO photoHandleDTO); /** * 后台管理-统计模块 * @param communityId 社区id * @return 统计信息 */ @GetMapping("/statistics/admin/eventStatistics") R eventStatistics(@RequestParam("communityId") Long communityId); /** * 后台管理-删除网格 * @param Ids 网格id集合 * @return 删除结果 */ @PostMapping("/eventgriddata/data/delete") R deleteGridData(@RequestBody List<Long> Ids); } springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventGridMemberRelationApi.java
@@ -16,6 +16,7 @@ import com.panzhihua.common.service.grid.GridService; import javax.annotation.Resource; import java.util.List; /** * @@ -80,4 +81,13 @@ return gridService.editGridDataByAdmin(eventGridDataDTO); } @ApiOperation(value = "删除网格") @PostMapping("/event/delete") public R deleteGridData(@RequestBody List<Long> Ids){ if(Ids.isEmpty()){ return R.fail("参数错误"); } return gridService.deleteGridData(Ids); } } springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/StatisticsApi.java
New file @@ -0,0 +1,47 @@ package com.panzhihua.grid_backstage.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.grid.PageEventManageDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.grid.EventStatisticsAllAdminVO; import com.panzhihua.common.model.vos.grid.EventVO; import com.panzhihua.common.service.grid.GridService; import com.panzhihua.common.utlis.ClazzUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * 统计模块 */ @Slf4j @RestController @RequestMapping("/statistics/") @Api(tags = {"统计模块 @lyq"}) public class StatisticsApi extends BaseController { @Resource private GridService gridService; @ApiOperation(value = "事件统计", response= EventStatisticsAllAdminVO.class) @GetMapping("/eventStatistics") public R eventStatistics(){ LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo(); if(loginUserInfoVO == null){ return R.fail("请先登录"); } return gridService.eventStatistics(loginUserInfoVO.getCommunityId()); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventGridDataApi.java
@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** * @@ -137,4 +138,9 @@ public R editGridDataByAdmin(@RequestBody EventGridDataEditAdminDTO eventGridDataDTO){ return eventGridDataService.editGridDataByAdmin(eventGridDataDTO); } @PostMapping("/data/delete") public R deleteGridDataByAdmin(@RequestBody List<Long> Ids){ return eventGridDataService.deleteGridDataByAdmin(Ids); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/StatisticsApi.java
New file @@ -0,0 +1,25 @@ package com.panzhihua.service_grid.api; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_grid.service.EventService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @Slf4j @RestController @RequestMapping("/statistics/") public class StatisticsApi { @Resource private EventService eventService; @GetMapping("/admin/eventStatistics") public R eventStatistics(@RequestParam("communityId") Long communityId){ return eventService.eventStatistics(communityId); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventMapper.java
@@ -8,6 +8,7 @@ import com.panzhihua.common.model.dtos.grid.PageEventManageDTO; import com.panzhihua.common.model.dtos.grid.PagePublicityEventDTO; import com.panzhihua.common.model.vos.grid.ComMapGridEventVO; import com.panzhihua.common.model.vos.grid.EventStatisticsAllAdminVO; import com.panzhihua.service_grid.model.dos.EventDO; import com.panzhihua.common.model.vos.grid.EventVO; import org.apache.ibatis.annotations.Mapper; @@ -62,4 +63,8 @@ * @return */ IPage<EventVO> findToManageByPage(Page page, @Param("pageEventManageDTO") PageEventManageDTO pageEventManageDTO); EventStatisticsAllAdminVO eventStatistics(@Param("communityId") Long communityId); Integer getEventCountByGridIds(@Param("ids") List<Long> ids); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventGridDataService.java
@@ -8,6 +8,8 @@ import com.panzhihua.common.model.vos.grid.EventGridDataVO; import com.panzhihua.service_grid.model.dos.EventGridDataDO; import java.util.List; /** * 区县/街道/社区/网格员网格数据管理 service * @@ -95,4 +97,6 @@ * @return 修改结果 */ R editGridDataByAdmin(EventGridDataEditAdminDTO eventGridDataDTO); R deleteGridDataByAdmin(List<Long> Ids); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventService.java
@@ -171,4 +171,6 @@ * @return */ R communityDealEvent(CommonEventDealDTO commonEventDealDTO); R eventStatistics(Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventGridDataServiceImpl.java
@@ -247,4 +247,18 @@ return R.fail(); } @Override public R deleteGridDataByAdmin(List<Long> Ids){ Integer count = eventMapper.getEventCountByGridIds(Ids); if(count > 0){ return R.fail("您选择的网格已发布过事件,不可删除"); } if(this.baseMapper.deleteBatchIds(Ids) > 0){ return R.ok(); }else{ return R.fail(); } } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1419,4 +1419,9 @@ } return eventDealStatus; } @Override public R eventStatistics(Long communityId){ return R.ok(this.baseMapper.eventStatistics(communityId)); } } springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -470,4 +470,44 @@ </if> </select> <select id="eventStatistics" resultType="com.panzhihua.common.model.vos.grid.EventStatisticsAllAdminVO"> SELECT count( e.id ) AS eventTotal,( SELECT count( e.id ) FROM `event` AS e LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id WHERE egd.grid_community_id = #{communityId} AND e.event_status = 2 AND e.event_process_status = 2 ) AS handleEventTotal, ( SELECT count( e.id ) FROM `event` AS e LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id WHERE egd.grid_community_id = #{communityId} AND e.event_category = 2 AND e.event_status = 2 ) AS propagandaEducationTotal, ( SELECT count( id ) FROM com_act_easy_photo WHERE handle_status = 2 AND community_id = #{communityId} ) AS easyPhotoTotal FROM `event` AS e LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id WHERE egd.grid_community_id = #{communityId} AND e.event_status = 2 </select> <select id="getEventCountByGridIds" resultType="Integer"> select count(id) from event where grid_id in <foreach item="item" collection="ids" separator="," open="(" close=")" index=""> #{item} </foreach> </select> </mapper>