springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/BuildingDto.java
New file @@ -0,0 +1,4 @@ package com.panzhihua.common.model.dtos.community.building; public class BuildingDto { } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/PageBuildingListDto.java
New file @@ -0,0 +1,30 @@ package com.panzhihua.common.model.dtos.community.building.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 分页查询楼栋列表请求参数 */ @Data @ApiModel("分页查询楼栋列表请求参数") public class PageBuildingListDto { @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize = 10L; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; @ApiModelProperty("关键词") private String keyWord; @ApiModelProperty("小区id") private Long villageId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/BuildingVO.java
New file @@ -0,0 +1,9 @@ package com.panzhihua.common.model.vos.community.building; import lombok.Data; @Data public class BuildingVO { private String label; private String value; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingListHeaderStatisticsVo.java
New file @@ -0,0 +1,25 @@ package com.panzhihua.common.model.vos.community.building.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 楼栋列表表头统计返回参数 */ @Data @ApiModel("楼栋列表表头统计返回参数") public class BuildingListHeaderStatisticsVo { @ApiModelProperty("楼栋数") private Integer buildNum; @ApiModelProperty("总户数") private Integer houseNum; @ApiModelProperty("居民人数") private Integer populationNum; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListVo.java
New file @@ -0,0 +1,49 @@ package com.panzhihua.common.model.vos.community.building.admin; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 分页查询楼栋列表返回参数 */ @Data @ApiModel("分页查询楼栋列表返回参数") public class PageBuildingListVo { @ApiModelProperty("楼栋主键") @JsonSerialize(using = ToStringSerializer.class) private Long id; @ApiModelProperty("街路巷") private String alley; @ApiModelProperty("楼栋号") private String name; @ApiModelProperty("小区名称") private String villageName; @ApiModelProperty("小区id") @JsonSerialize(using = ToStringSerializer.class) private Long villageId; @ApiModelProperty("单元数") private Integer unitTotal; @ApiModelProperty("楼层数") private Integer buildFloorSum; @ApiModelProperty("总户数") private Integer houseNum; @ApiModelProperty("居民人数") private Integer populationNum; @ApiModelProperty("门牌号") private String doorNum; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4,6 +4,7 @@ import com.panzhihua.common.model.dtos.community.GetIdentityEidTokenDTO; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.dtos.community.cluster.PageClusterMemberDto; import com.panzhihua.common.model.dtos.community.cluster.admin.*; import com.panzhihua.common.model.dtos.property.CommonPage; @@ -6635,4 +6636,20 @@ */ @GetMapping("/common/data/population/house/user/detail") public R detailHousesUser(@RequestParam("id") Long id); /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ @PostMapping("/building/page/admin/") R pageBuildingAdmin(@RequestBody PageBuildingListDto pageBuildingListDto); /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ @GetMapping("/building/header/statistics/") R buildingListHeaderStatisticsAdmin(@RequestParam("communityId") Long communityId); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java
@@ -4,12 +4,11 @@ import java.io.InputStream; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsVo; import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.alibaba.excel.EasyExcel; @@ -27,7 +26,7 @@ * @date 2021/6/10 12:34 */ @Slf4j @Api(tags = {"社区管理"}) @Api(tags = {"楼栋管理"}) @RestController @RequestMapping("/building") public class BuildingApi extends BaseController { @@ -35,11 +34,9 @@ @Resource private CommunityService communityService; @ApiOperation(value = "excel导入楼栋信息") @ApiOperation(value = "excel导入楼栋信息--注:以前的接口,不需要对接") @PostMapping(value = "/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") public R downloadPopulationTemplate(@RequestParam MultipartFile file, HttpServletRequest request) { // String fileName = file.getOriginalFilename(); // log.info("传入文件名字【{}】", fileName); public R downloadPopulationTemplate(@RequestParam MultipartFile file) { InputStream inputStream; try { inputStream = file.getInputStream(); @@ -52,4 +49,23 @@ } return R.ok(); } @ApiOperation(value = "分页查询楼栋列表", response = PageBuildingListVo.class) @PostMapping("/page") public R page(@RequestBody PageBuildingListDto pageBuildingListDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); pageBuildingListDto.setCommunityId(communityId); return communityService.pageBuildingAdmin(pageBuildingListDto); } @ApiOperation(value = "楼栋列表表头统计", response = BuildingListHeaderStatisticsVo.class) @GetMapping("/header/statistics") public R headerStatistics() { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); return communityService.buildingListHeaderStatisticsAdmin(communityId); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java
@@ -4,6 +4,7 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import org.springframework.web.bind.annotation.*; import com.panzhihua.common.model.vos.R; @@ -18,7 +19,7 @@ */ @Slf4j @RestController @RequestMapping("/building") @RequestMapping("/building/") public class BuildingApi { @Resource @@ -27,7 +28,26 @@ @PostMapping("/batchSave") R listSaveBuildingExcelVO(@RequestBody List<ComMngBuildingExcelVO> newVoList, @RequestParam("communityId") Long communityId) { return comActBuildingService.batchSaveBuilding(newVoList, communityId); } /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ @PostMapping("/page/admin") public R pageBuildingAdmin(@RequestBody PageBuildingListDto pageBuildingListDto) { return comActBuildingService.pageBuildingAdmin(pageBuildingListDto); } /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ @GetMapping("/header/statistics/") public R buildingListHeaderStatisticsAdmin(@RequestParam("communityId") Long communityId) { return comActBuildingService.buildingListHeaderStatisticsAdmin(communityId); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngBuildingDAO.java
@@ -2,8 +2,14 @@ import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.vos.community.VillageVO; import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsVo; import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -23,4 +29,13 @@ List<String> findByVillage(String ids); List<VillageVO> select(Long id); /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ IPage<PageBuildingListVo> pageBuildingAdmin(Page page,@Param(value = "pageBuildingListDto") PageBuildingListDto pageBuildingListDto); BuildingListHeaderStatisticsVo buildingListHeaderStatisticsAdmin(Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java
@@ -3,6 +3,7 @@ import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngBuildingExcelVO; import com.panzhihua.service_community.model.dos.ComMngBuildingDO; @@ -15,4 +16,18 @@ public interface ComActBuildingService extends IService<ComMngBuildingDO> { R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId); /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto); /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ R buildingListHeaderStatisticsAdmin(Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java
@@ -6,6 +6,10 @@ import javax.annotation.Resource; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -112,4 +116,26 @@ gridBuildRelation.setCreateAt(new Date()); return gridBuildRelation; } /** * 社区后台-分页查询楼栋列表 * @param pageBuildingListDto 请求参数 * @return 楼栋列表 */ @Override public R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto){ IPage<PageBuildingListVo> pageBuildingList = this.baseMapper.pageBuildingAdmin( new Page(pageBuildingListDto.getPageNum(),pageBuildingListDto.getPageSize()),pageBuildingListDto); return R.ok(pageBuildingList); } /** * 社区后台-查询楼栋列表表头统计数据 * @param communityId 社区id * @return 楼栋列表表头统计数据 */ @Override public R buildingListHeaderStatisticsAdmin(Long communityId){ return R.ok(this.baseMapper.buildingListHeaderStatisticsAdmin(communityId)); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml
@@ -54,4 +54,42 @@ select t.village_id as villageId,t.name as villageName,t1.id,t1.name from com_mng_village t left join com_mng_building t1 on t.village_id = t1.village_id where t.community_id=#{id} and t1.id is not null </select> <select id="pageBuildingAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.PageBuildingListVo"> SELECT cmb.id, cmv.village_id, cmv.alley, cmb.`name`, cmv.`name` AS villageName, cmv.house_num as doorNum, cmb.unit_total, cmb.build_floor_sum, (select count(id) from com_mng_population_house where village_id = cmb.village_id and floor = cmb.`name`) as houseNum, (select count(id) from com_mng_population where village_id = cmb.village_id and floor = cmb.`name`) as populationNum FROM com_mng_building AS cmb LEFT JOIN com_mng_village AS cmv ON cmv.village_id = cmb.village_id <where> <if test="pageBuildingListDto.communityId != null"> and cmb.act_id = #{pageBuildingListDto.communityId} </if> <if test="pageBuildingListDto.villageId != null"> and cmb.village_id = #{pageBuildingListDto.villageId} </if> <if test="pageBuildingListDto.keyWord != null and pageBuildingListDto.keyWord != """> and cmv.alley like concat(#{pageBuildingListDto.keyWord},'%') </if> </where> order by cmb.create_at desc </select> <select id="buildingListHeaderStatisticsAdmin" resultType="com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsVo"> SELECT count( id ) AS buildNum,( SELECT count( id ) FROM com_mng_population_house WHERE community_id = cmb.act_id ) AS houseNum, ( SELECT count( id ) FROM com_mng_population_community_tags WHERE community_id = cmb.act_id ) AS populationNum FROM com_mng_building AS cmb WHERE cmb.act_id = #{communityId} </select> </mapper>