From b2fce0dc7dc4ea5dec9792a2bc3ceb9d33d6e07b Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期一, 04 九月 2023 13:59:52 +0800
Subject: [PATCH] 修改后台社区动态加载不出来

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructHouseServiceImpl.java |  546 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 546 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructHouseServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructHouseServiceImpl.java
new file mode 100644
index 0000000..1b8b4cb
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructHouseServiceImpl.java
@@ -0,0 +1,546 @@
+package com.panzhihua.service_community.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.ExcelHouseDTO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.BatchhouseVO;
+import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
+import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
+import com.panzhihua.service_community.dao.ComMngStructAreaDAO;
+import com.panzhihua.service_community.dao.ComMngStructHouseDAO;
+import com.panzhihua.service_community.dao.ComMngStructHouseUserDAO;
+import com.panzhihua.service_community.model.dos.ComMngStructAreaDO;
+import com.panzhihua.service_community.model.dos.ComMngStructHouseDO;
+import com.panzhihua.service_community.model.dos.ComMngStructHouseUserDO;
+import com.panzhihua.service_community.service.ComMngStructHouseService;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @program: springcloud_k8s_panzhihuazhihuishequ
+ * @description: 房屋
+ * @author: huang.hongfa weixin hhf9596 qq 959656820
+ * @create: 2020-12-15 15:07
+ **/
+@Slf4j
+@Service
+public class ComMngStructHouseServiceImpl extends ServiceImpl<ComMngStructHouseDAO, ComMngStructHouseDO>
+    implements ComMngStructHouseService {
+    @Resource
+    private ComMngStructHouseDAO comMngStructHouseDAO;
+    @Resource
+    private ComMngStructHouseUserDAO comMngStructHouseUserDAO;
+    @Resource
+    private ComMngStructAreaDAO comMngStructAreaDAO;
+
+    /**
+     * 房屋信息
+     *
+     * @param userId
+     *            用户id
+     * @return 房屋信息
+     */
+    @Override
+    public R detailHouse(Long userId) {
+        List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>();
+            List<ComMngStructHouseUserDO> comMngStructHouseUserDOS = comMngStructHouseUserDAO.selectList(
+                new QueryWrapper<ComMngStructHouseUserDO>().lambda().eq(ComMngStructHouseUserDO::getUserId, userId));
+            if (!ObjectUtils.isEmpty(comMngStructHouseUserDOS)) {
+                String areaCode = comMngStructHouseUserDOS.get(0).getAreaCode();
+                ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(
+                    new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, areaCode));
+                String houseName = comMngStructHouseDO1.getHouseName();
+                comMngStructHouseUserDOS.forEach(comMngStructHouseUserDO -> {
+                    ComMngStructHouseDO comMngStructHouseDO =
+                        comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda()
+                            .eq(ComMngStructHouseDO::getHouseCode, comMngStructHouseUserDO.getHouseCode()));
+                    ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO();
+                    BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO);
+                    comMngStructHouseVO.setIdentity(comMngStructHouseUserDO.getIdentity());
+                    comMngStructHouseVOS.add(comMngStructHouseVO);
+                });
+                return R.ok(comMngStructHouseVOS);
+            }
+        return R.ok(comMngStructHouseVOS);
+    }
+
+    /**
+     * 小区批量建房
+     *
+     * @param batchhouseVO
+     *            建房参数
+     * @return 建房结果
+     */
+    @Override
+    public R batchHouse(BatchhouseVO batchhouseVO) {
+        String areaCode = batchhouseVO.getAreaCode();
+        Integer integer = comMngStructHouseDAO.selectCount(
+            new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, areaCode));
+        if (null != integer && integer.intValue() > 0) {
+            return R.fail("小区房屋已经存在,删除后批量创建或者使用编辑功能单独创建");
+        }
+        this.batchSaveHouse(batchhouseVO);
+        return R.ok();
+    }
+
+    /**
+     * 批量添加地址功能提取出一个公共方法
+     * 
+     * @param batchhouseVO
+     *            批量添加小区、同级(楼栋、单元、楼层、房间)
+     */
+    @Transactional(rollbackFor = Exception.class)
+    void batchSaveHouse(BatchhouseVO batchhouseVO) {
+        String areaCode = batchhouseVO.getAreaCode();
+        ComMngStructHouseDO comMngStructHouseDO = comMngStructHouseDAO.selectOne(
+            new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, areaCode));
+        String areaName = comMngStructHouseDO.getHouseName();// 小区地址
+        int buildingBegin = batchhouseVO.getBuildingBegin().intValue();
+        int buildingEnd = batchhouseVO.getBuildingEnd().intValue();
+        int unitBegin = batchhouseVO.getUnitBegin().intValue();
+        int unitEnd = batchhouseVO.getUnitEnd().intValue();
+        int floorBegin = batchhouseVO.getFloorBegin().intValue();
+        int floorEnd = batchhouseVO.getFloorEnd().intValue();
+        int doorBegin = batchhouseVO.getDoorBegin().intValue();
+        int doorEnd = batchhouseVO.getDoorEnd().intValue();
+        int isAccumulation = batchhouseVO.getIsAccumulation().intValue();
+        String ruleFloor = batchhouseVO.getRuleFloor();
+        String ruleConnector = batchhouseVO.getRuleConnector();
+        String ruleDoor = batchhouseVO.getRuleDoor();
+        List<ComMngStructHouseDO> comMngStructHouseDOList = new ArrayList<>();
+        long buildCode = 510000;
+        long unitCode = 410000;
+        long floorCode = 310000;
+        long doorCode = 210000;
+        Integer type = batchhouseVO.getType();
+        ComMngStructHouseDO comMngStructHouseDOParent =
+            comMngStructHouseDAO.selectOne(new QueryWrapper<ComMngStructHouseDO>().lambda()
+                .eq(ComMngStructHouseDO::getHouseCode, batchhouseVO.getParentCode()));
+        // 2楼栋 3 单元 4楼层 5门牌号
+        for (int i = buildingBegin; i <= buildingEnd; i++) {// 楼栋
+            ComMngStructHouseDO comMngStructHouseDO1 = new ComMngStructHouseDO();
+            if (buildingBegin == buildingEnd && null != type && type == 3) {
+                comMngStructHouseDO1 = comMngStructHouseDOParent;
+            } else {
+                comMngStructHouseDO1.setHouseName(areaName + i + "栋");
+                comMngStructHouseDO1.setHouseCode(areaCode + (buildCode + i));
+                comMngStructHouseDO1.setParentCode(areaCode);
+                comMngStructHouseDO1.setType(2);
+                comMngStructHouseDOList.add(comMngStructHouseDO1);
+            }
+
+            for (int m = unitBegin; m <= unitEnd; m++) {// 单元
+                ComMngStructHouseDO comMngStructHouseDO2 = new ComMngStructHouseDO();
+                if (unitBegin == unitEnd && null != type && type == 4) {
+                    comMngStructHouseDO2 = comMngStructHouseDOParent;
+                } else {
+                    comMngStructHouseDO2.setType(3);
+                    comMngStructHouseDO2.setParentCode(comMngStructHouseDO1.getHouseCode());
+                    comMngStructHouseDO2.setHouseName(comMngStructHouseDO1.getHouseName() + m + "单元");
+                    comMngStructHouseDO2.setHouseCode(comMngStructHouseDO1.getHouseCode() + (unitCode + m));
+                    comMngStructHouseDOList.add(comMngStructHouseDO2);
+                }
+                int num = 0;// 门牌累加时使用
+
+                for (int k = floorBegin; k <= floorEnd; k++) {// 楼层
+                    ComMngStructHouseDO comMngStructHouseDO3 = new ComMngStructHouseDO();
+                    if (floorBegin == floorEnd && null != type && type == 5) {
+                        comMngStructHouseDO3 = comMngStructHouseDOParent;
+                    } else {
+                        comMngStructHouseDO3.setType(4);
+                        comMngStructHouseDO3.setParentCode(comMngStructHouseDO2.getHouseCode());
+                        comMngStructHouseDO3.setHouseName(comMngStructHouseDO2.getHouseName() + k + "层");
+                        comMngStructHouseDO3.setHouseCode(comMngStructHouseDO2.getHouseCode() + (floorCode + k));
+                        comMngStructHouseDOList.add(comMngStructHouseDO3);
+                    }
+
+                    for (int h = doorBegin; h <= doorEnd; h++) {// 门牌
+                        num++;
+                        ComMngStructHouseDO comMngStructHouseDO4 = new ComMngStructHouseDO();
+                        comMngStructHouseDO4.setType(5);
+                        comMngStructHouseDO4.setParentCode(comMngStructHouseDO3.getHouseCode());
+                        String doorName = "";
+                        String floorName = "";
+                        // 楼层规则
+                        if (ruleFloor.equals("1")) {
+                            floorName = k + "";
+                        } else if (ruleFloor.equals("01")) {
+                            if (k < 10) {
+                                floorName = "0" + k;
+                            } else {
+                                floorName = "" + k;
+                            }
+                        } else {// 001
+                            if (k < 10) {
+                                floorName = "00" + k;
+                            } else if (k < 100) {
+                                floorName = "0" + k;
+                            } else {
+                                floorName = "" + k;
+                            }
+                        }
+                        // 门牌规则
+                        if (ruleDoor.equals("1")) {
+                            if (isAccumulation == 1) {// 累加
+                                doorName = "" + num;
+                            } else {
+                                doorName = "" + h;
+                            }
+                        } else if (ruleDoor.equals("01")) {
+                            if (k < 10) {
+                                if (isAccumulation == 1) {// 累加
+                                    doorName = "0" + num;
+                                } else {
+                                    doorName = "0" + h;
+                                }
+                            } else {
+                                if (isAccumulation == 1) {// 累加
+                                    doorName = "" + num;
+                                } else {
+                                    doorName = "" + h;
+                                }
+                            }
+
+                        } else if (ruleDoor.equals("001")) {
+                            if (k < 10) {
+                                if (isAccumulation == 1) {// 累加
+                                    doorName = "00" + num;
+                                } else {
+                                    doorName = "00" + h;
+                                }
+                            } else if (k < 100) {
+                                if (isAccumulation == 1) {// 累加
+                                    doorName = "0" + num;
+                                } else {
+                                    doorName = "0" + h;
+                                }
+                            } else {
+                                if (isAccumulation == 1) {// 累加
+                                    doorName = "" + num;
+                                } else {
+                                    doorName = "" + h;
+                                }
+                            }
+                        }
+                        comMngStructHouseDO4
+                            .setHouseName(comMngStructHouseDO3.getHouseName() + floorName + ruleConnector + doorName);
+                        comMngStructHouseDO4.setHouseCode(comMngStructHouseDO3.getHouseCode() + (doorCode + num));
+                        comMngStructHouseDO4.setType(5);
+                        comMngStructHouseDO4.setParentCode(comMngStructHouseDO3.getHouseCode());
+                        comMngStructHouseDOList.add(comMngStructHouseDO4);
+                    }
+
+                }
+            }
+        }
+        boolean b = this.saveBatch(comMngStructHouseDOList);
+        if (b) {
+            log.info("batchhouse----楼栋数一共【{}】", buildingEnd - buildingBegin + 1);
+            log.info("batchhouse----单元数一共【{}】", (unitEnd - unitBegin + 1) * (buildingEnd - buildingBegin + 1));
+            log.info("batchhouse----楼层数一共【{}】",
+                (unitEnd - unitBegin + 1) * (buildingEnd - buildingBegin + 1) * (floorEnd - floorBegin + 1));
+            log.info("batchhouse----房间数量一共【{}】", (unitEnd - unitBegin + 1) * (buildingEnd - buildingBegin + 1)
+                * (floorEnd - floorBegin + 1) * (doorEnd - doorBegin + 1));
+            log.info("batchhouse----批量新增房屋地址数量【{}】", comMngStructHouseDOList.size());
+        }
+    }
+
+    /**
+     * 新增小区地址
+     *
+     * @param comMngStructAreaVO
+     *            小区地址
+     */
+    @Override
+    public R addHouseArea(ComMngStructAreaVO comMngStructAreaVO) {
+        ComMngStructHouseDO comMngStructHouseDO = new ComMngStructHouseDO();
+        comMngStructHouseDO.setHouseCode(comMngStructAreaVO.getAreaCode());
+        comMngStructHouseDO.setHouseName(comMngStructAreaVO.getAddressDetail());
+        comMngStructHouseDO.setType(1);
+        comMngStructHouseDO.setParentCode("0");
+        int insert = 0;
+        try {
+            insert = comMngStructHouseDAO.insert(comMngStructHouseDO);
+        } catch (Exception e) {
+            log.error("新增地址错误【{}】", e.getMessage());
+            if (e.getMessage().contains("unique_house_name")) {
+                return R.fail("小区已经存在");
+            }
+        }
+        if (insert > 0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 先删除小区小面所有房屋、删除用户和小区房屋的绑定关系
+     *
+     * @param comMngStructAreaVO
+     *            小区地址编码
+     * @return 删除结果
+     */
+    @Override
+    public R batchDeleteHouse(ComMngStructAreaVO comMngStructAreaVO) {
+        String areaCode = comMngStructAreaVO.getAreaCode();
+        try {
+            int i = comMngStructHouseDAO.batchDeleteHouse(areaCode);// 调用存储过程删除
+            log.info("调用存储工程共删除地址数量【{}】", i);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            return R.fail();
+        }
+        return R.ok();
+    }
+
+    /**
+     * 展示下级建筑
+     *
+     * @param houseCode
+     *            房屋编号
+     * @return 下级建筑列表
+     */
+    @Override
+    public R listSubordinatebuilding(String houseCode) {
+        List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>();
+        List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList(
+            new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, houseCode));
+        if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) {
+            comMngStructHouseDOList.forEach(comMngStructHouseDO -> {
+                ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO();
+                int type = comMngStructHouseDO.getType().intValue();
+                String houseCode1 = comMngStructHouseDO.getHouseCode();
+                BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO);
+                if (type == 5) {
+                    List<LoginUserInfoVO> loginUserInfoVOS = comMngStructHouseUserDAO.selectListHouseUser(houseCode1);
+                    if (!ObjectUtils.isEmpty(loginUserInfoVOS)) {
+                        String names = loginUserInfoVOS.stream().map(loginUserInfoVO -> loginUserInfoVO.getName())
+                            .collect(Collectors.joining(","));
+                        String phones = loginUserInfoVOS.stream().map(loginUserInfoVO -> loginUserInfoVO.getPhone())
+                            .collect(Collectors.joining(","));
+                        comMngStructHouseVO.setNames(names);
+                        comMngStructHouseVO.setPhones(phones);
+                    }
+                }
+
+                comMngStructHouseVOS.add(comMngStructHouseVO);
+            });
+        }
+        return R.ok(comMngStructHouseVOS);
+    }
+
+    /**
+     * 添加同级地址
+     *
+     * @param batchhouseVO
+     *            添加参数
+     * @param comMngStructAreaDO
+     *            小区信息-规则
+     * @return 添加结果
+     */
+    @Override
+    public R addHouse(BatchhouseVO batchhouseVO, ComMngStructAreaDO comMngStructAreaDO) {
+        String roleConnector = comMngStructAreaDO.getRoleConnector();
+        String roleDoor = comMngStructAreaDO.getRoleDoor();
+        String roleFloor = comMngStructAreaDO.getRoleFloor();
+        int type = batchhouseVO.getType().intValue();
+        String parentCode1 = batchhouseVO.getParentCode();
+        List<ComMngStructHouseDO> comMngStructHouseDOList =
+            comMngStructHouseDAO.selectList(new QueryWrapper<ComMngStructHouseDO>().lambda()
+                .eq(ComMngStructHouseDO::getType, type).eq(ComMngStructHouseDO::getParentCode, parentCode1));
+        List<String> stringList = new ArrayList<>();
+        if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) {
+            stringList = comMngStructHouseDOList.stream().map(comMngStructHouseDO -> comMngStructHouseDO.getHouseName())
+                .collect(Collectors.toList());
+        }
+        int begin = 0, end = 0;
+        String typeName = "";
+        // 2楼栋 3 单元 4楼层 5房间
+        switch (type) {
+            case 2:
+                begin = batchhouseVO.getBuildingBegin().intValue();
+                end = batchhouseVO.getBuildingEnd().intValue();
+                typeName = "栋";
+                break;
+            case 3:
+                begin = batchhouseVO.getUnitBegin();
+                end = batchhouseVO.getUnitEnd();
+                typeName = "单元";
+                batchhouseVO.setBuildingBegin(1);
+                batchhouseVO.setBuildingEnd(1);
+                break;
+            case 4:
+                begin = batchhouseVO.getFloorBegin();
+                end = batchhouseVO.getFloorEnd();
+                typeName = "层";
+                batchhouseVO.setBuildingBegin(1);
+                batchhouseVO.setBuildingEnd(1);
+                batchhouseVO.setUnitBegin(1);
+                batchhouseVO.setUnitEnd(1);
+                break;
+            case 5:
+                begin = batchhouseVO.getDoorBegin();
+                end = batchhouseVO.getDoorEnd();
+                batchhouseVO.setBuildingBegin(1);
+                batchhouseVO.setBuildingEnd(1);
+                batchhouseVO.setUnitBegin(1);
+                batchhouseVO.setUnitEnd(1);
+                batchhouseVO.setFloorBegin(1);
+                batchhouseVO.setFloorEnd(1);
+                break;
+            default:
+                break;
+        }
+        if (!ObjectUtils.isEmpty(stringList)) {
+            for (int i = begin; i <= end; i++) {
+                String address = i + typeName;
+                if (stringList.contains(address)) {
+                    return R.fail(address + "已经存在,请删除后重新添加");
+                }
+            }
+        }
+        batchhouseVO.setRuleConnector(roleConnector);
+        batchhouseVO.setRuleDoor(roleDoor);
+        batchhouseVO.setRuleFloor(roleFloor);
+        this.batchSaveHouse(batchhouseVO);
+        return R.ok();
+    }
+
+    /**
+     * 编辑地址
+     *
+     * @param comMngStructHouseVO
+     *            编辑内容
+     * @return 编辑结果
+     */
+    @Override
+    public R putHouse(ComMngStructHouseVO comMngStructHouseVO) {
+        ComMngStructHouseDO comMngStructHouseDO = new ComMngStructHouseDO();
+        comMngStructHouseDO.setSquare(comMngStructHouseVO.getSquare());
+        int update = comMngStructHouseDAO.update(comMngStructHouseDO, new UpdateWrapper<ComMngStructHouseDO>().lambda()
+            .eq(ComMngStructHouseDO::getHouseCode, comMngStructHouseVO.getHouseCode()));
+        if (update > 0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 删除地址
+     *
+     * @param comMngStructHouseVO
+     *            删除指定地址和所有下级
+     * @return 删除结果
+     */
+    @Override
+    public R deleteHouse(ComMngStructHouseVO comMngStructHouseVO) {
+        String houseCode = comMngStructHouseVO.getHouseCode();
+        int i = comMngStructHouseDAO.batchDeleteHouse(houseCode);
+        if (i > 0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 房屋地址下拉列表
+     *
+     * @param parentCode
+     *            父级编码
+     * @return 下级列表
+     */
+    @Override
+    public R putVolunteerPhone(String parentCode) {
+        List<ComMngStructHouseVO> comMngStructHouseVOS = new ArrayList<>();
+        ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(
+            new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, parentCode));
+        String houseName = comMngStructHouseDO1.getHouseName();
+        List<ComMngStructHouseDO> comMngStructHouseDOList = comMngStructHouseDAO.selectList(
+            new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getParentCode, parentCode));
+        if (!ObjectUtils.isEmpty(comMngStructHouseDOList)) {
+            comMngStructHouseDOList.forEach(comMngStructHouseDO -> {
+                ComMngStructHouseVO comMngStructHouseVO = new ComMngStructHouseVO();
+                BeanUtils.copyProperties(comMngStructHouseDO, comMngStructHouseVO);
+                comMngStructHouseVO.setHouseShortName(comMngStructHouseVO.getHouseName().replaceAll(houseName, ""));
+                comMngStructHouseVOS.add(comMngStructHouseVO);
+            });
+        }
+        return R.ok(comMngStructHouseVOS);
+    }
+
+    /**
+     * 新增房屋
+     *
+     * @param comMngStructHouseVO
+     *            房屋信息
+     * @return 新增结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R addHouses(ComMngStructHouseVO comMngStructHouseVO) {
+        String houseCode = comMngStructHouseVO.getHouseCode();
+        Integer states1 = comMngStructHouseVO.getState();
+        ComMngStructHouseDO comMngStructHouseDO1 = comMngStructHouseDAO.selectOne(
+            new QueryWrapper<ComMngStructHouseDO>().lambda().eq(ComMngStructHouseDO::getHouseCode, houseCode));
+        if (ObjectUtils.isEmpty(comMngStructHouseDO1)) {
+            return R.fail("房屋不存在");
+        }
+        Integer states = comMngStructHouseDO1.getState();
+        if (null != states && 0 != states.intValue()) {
+            if (states1.intValue() != states.intValue()) {
+                return R.fail("房屋已经被绑定了,请通过意见反馈联系后台处理");
+            }
+        }
+        ComMngStructHouseDO comMngStructHouseDO = new ComMngStructHouseDO();
+        comMngStructHouseDO.setSquare(comMngStructHouseVO.getSquare());
+        comMngStructHouseDO.setState(states1);
+        comMngStructHouseDO.setId(comMngStructHouseDO1.getId());
+        int update = comMngStructHouseDAO.updateById(comMngStructHouseDO);
+        if (update == 0) {
+            return R.fail("修改房屋面积、状态失败");
+        }
+        ComMngStructHouseUserDO comMngStructHouseUserDO1 =
+            comMngStructHouseUserDAO.selectOne(new QueryWrapper<ComMngStructHouseUserDO>().lambda()
+                .eq(ComMngStructHouseUserDO::getUserId, comMngStructHouseVO.getUserId())
+                .eq(ComMngStructHouseUserDO::getHouseCode, comMngStructHouseVO.getHouseCode()));
+        if (!ObjectUtils.isEmpty(comMngStructHouseUserDO1)) {
+            return R.ok();
+        }
+        ComMngStructHouseUserDO comMngStructHouseUserDO = new ComMngStructHouseUserDO();
+        comMngStructHouseUserDO.setUserId(comMngStructHouseVO.getUserId());
+        comMngStructHouseUserDO.setIdentity(comMngStructHouseVO.getIdentity());
+        comMngStructHouseUserDO.setAreaCode(comMngStructHouseVO.getAreaCode());
+        comMngStructHouseUserDO.setHouseCode(comMngStructHouseVO.getHouseCode());
+        int insert = comMngStructHouseUserDAO.insert(comMngStructHouseUserDO);
+        if (insert > 0) {
+            return R.ok();
+        }
+        throw new RuntimeException("绑定房屋和人员关系失败");
+    }
+
+    @Override
+    public R houseExport(Long areaId) {
+        ComMngStructAreaDO comMngStructAreaDO = comMngStructAreaDAO.selectById(areaId);
+        if (ObjectUtils.isEmpty(comMngStructAreaDO)) {
+            return R.fail("小区不存在");
+        }
+        List<ExcelHouseDTO> houseDTOS = comMngStructHouseDAO.houseExport(comMngStructAreaDO.getAreaCode());
+        return R.ok(houseDTOS);
+    }
+
+}

--
Gitblit v1.7.1