DESKTOP-71BH0QO\L、ming
2021-04-02 2ced4e05bc384e010836df6f3f0f13dd6a7f2d0f
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java
@@ -45,6 +45,7 @@
        LambdaQueryWrapper<ComMngVillageDO> param = new QueryWrapper<ComMngVillageDO>().lambda();
        param.eq(ComMngVillageDO::getCommunityId, comMngVillageVO.getCommunityId());
        param.eq(ComMngVillageDO::getAlley, comMngVillageVO.getAlley());
        param.eq(ComMngVillageDO::getHouseNum, comMngVillageVO.getHouseNum());
        Integer resultCount = comActVillageDAO.selectCount(param);
        if (resultCount > 0) {
            return R.fail("实有房屋已经存在");
@@ -93,7 +94,7 @@
            userLambdaQueryWrapper.like(ComMngVillageDO::getAlley, pageComMngVillageDTO.getAlley());
        }
        Page userPage = new Page(pageNum, pageSize);
        IPage<ComMngVillageDO> doPager = comActVillageDAO.selectPage(userPage, userLambdaQueryWrapper);
        IPage<ComMngVillageDO> doPager = comActVillageDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComMngVillageDO::getCreateAt));
        return R.ok(doPager);
    }
@@ -108,20 +109,36 @@
    @Override
    public R listSaveVillage(List<ComMngVillageServeExcelVO> list, Long communityId) {
        //获取社区下所有的实有房屋(小区),打印已经存在的重复数据
        List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId));
        List<String> alleyList = list.stream().map(vo -> vo.getAlley()).collect(Collectors.toList());
        List<Integer> houseNumList = list.stream().map(vo -> vo.getHouseNum()).collect(Collectors.toList());
        List<ComMngVillageDO> resultList = comMngVillageDOs.stream().filter(village -> alleyList.contains(village.getAlley()) && houseNumList.contains(village.getAlley())).collect(Collectors.toList());
        if (resultList != null && resultList.size() > 0) {
            List<String> repeatList = resultList.stream().map(ComMngVillageDO::getAlley).collect(Collectors.toList());
            return R.fail("导入实有房屋,存在数据重复:" + repeatList.toArray());
        //思路:获取社区下所有的实有房屋(小区),打印已经存在的重复数据
        if (list.size() == 0) {
            return R.fail("数据为空!");
        }
        List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId));
        int index = 2;
        for (ComMngVillageServeExcelVO vo : list) {
            if (vo.getHouseNum() == null) {
                return R.fail("门牌号第" + index + "行为空!");
            }
            if (vo.getAlley() == null) {
                return R.fail("街路巷第" + index + "行为空!");
            }
            //判断DB和exel数据重复判断
            boolean result = comMngVillageDOs.stream().anyMatch(village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().intValue() == vo.getHouseNum().intValue());
            if (result) {
                return R.fail("导入街路巷已存在(" + vo.getAlley() + ")");
            }
            index++;
        }
        ComActDO comActDO = comActDAO.selectById(communityId);
        ArrayList<ComMngVillageDO> comMngVillageDOS = Lists.newArrayList();
        BeanUtils.copyProperties(list, comMngVillageDOS);
        /*this.saveBatch(comMngCarDOS);
        return R.ok("共计导入车辆数量:" + comMngCarDOS.size());*/
        System.out.println(comMngVillageDOS);
        return null;
        list.forEach(vo -> {
            ComMngVillageDO comMngVillageDO = new ComMngVillageDO();
            BeanUtils.copyProperties(vo, comMngVillageDO);
            comMngVillageDO.setCommunityId(comActDO.getCommunityId());
            comMngVillageDO.setStreetId(comActDO.getStreetId());
            comMngVillageDOS.add(comMngVillageDO);
        });
        this.saveBatch(comMngVillageDOS);
        return R.ok("共计导入实有房屋数量:" + comMngVillageDOS.size());
    }
}