huanghongfa
2021-10-12 7dc7ef6731680509c3b1a04949feadccf71277ce
实有房屋-楼栋列表接口开发
5个文件已添加
7个文件已修改
288 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/BuildingDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/PageBuildingListDto.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/BuildingVO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/BuildingListHeaderStatisticsVo.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/building/admin/PageBuildingListVo.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngBuildingDAO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 != &quot;&quot;">
                    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>