huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java
@@ -1,5 +1,16 @@
package com.panzhihua.service_community.service.impl;
import java.util.ArrayList;
import java.util.List;
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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -14,15 +25,6 @@
import com.panzhihua.service_community.model.dos.ComMngStructBuildTypeDO;
import com.panzhihua.service_community.model.dos.ComMngStructOtherBuildDO;
import com.panzhihua.service_community.service.ComMngStructOtherBuildService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -40,15 +42,16 @@
    /**
     * 新增其他建筑
     *
     * @param comMngStructOtherBuildVO 建筑参数
     * @param comMngStructOtherBuildVO
     *            建筑参数
     * @return 新增结果
     */
    @Override
    public R addOtherbuild(ComMngStructOtherBuildVO comMngStructOtherBuildVO) {
        ComMngStructOtherBuildDO comMngStructOtherBuildDO=new ComMngStructOtherBuildDO();
        BeanUtils.copyProperties(comMngStructOtherBuildVO,comMngStructOtherBuildDO);
        ComMngStructOtherBuildDO comMngStructOtherBuildDO = new ComMngStructOtherBuildDO();
        BeanUtils.copyProperties(comMngStructOtherBuildVO, comMngStructOtherBuildDO);
        int insert = comMngStructOtherBuildDAO.insert(comMngStructOtherBuildDO);
        if (insert>0) {
        if (insert > 0) {
            return R.ok();
        }
        return R.fail();
@@ -61,12 +64,13 @@
     */
    @Override
    public R listBuildType() {
        List<ComMngStructBuildTypeVO>comMngStructBuildTypeVOS=new ArrayList<>();
        List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = comMngStructBuildTypeDAO.selectList(new LambdaQueryWrapper<>());
        List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOS = new ArrayList<>();
        List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS =
            comMngStructBuildTypeDAO.selectList(new LambdaQueryWrapper<>());
        if (!ObjectUtils.isEmpty(comMngStructBuildTypeDOS)) {
            comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> {
                ComMngStructBuildTypeVO comMngStructBuildTypeVO=new ComMngStructBuildTypeVO();
                BeanUtils.copyProperties(comMngStructBuildTypeDO,comMngStructBuildTypeVO);
                ComMngStructBuildTypeVO comMngStructBuildTypeVO = new ComMngStructBuildTypeVO();
                BeanUtils.copyProperties(comMngStructBuildTypeDO, comMngStructBuildTypeVO);
                comMngStructBuildTypeVOS.add(comMngStructBuildTypeVO);
            });
        }
@@ -76,7 +80,8 @@
    /**
     * 分页查询 其他建筑
     *
     * @param comMngStructOtherBuildVO 分页查询参数
     * @param comMngStructOtherBuildVO
     *            分页查询参数
     * @return 查询结果
     */
    @Override
@@ -84,34 +89,38 @@
        Page page = new Page<>();
        Long pageNum = comMngStructOtherBuildVO.getPageNum();
        Long pageSize = comMngStructOtherBuildVO.getPageSize();
        if (null==pageNum||0==pageNum) {
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComMngStructOtherBuildVO> iPage = comMngStructOtherBuildDAO.pageOtherBuild(page, comMngStructOtherBuildVO);
        IPage<ComMngStructOtherBuildVO> iPage =
            comMngStructOtherBuildDAO.pageOtherBuild(page, comMngStructOtherBuildVO);
        return R.ok(iPage);
    }
    /**
     * 建筑类型
     *
     * @param communityId 社区id
     * @param communityId
     *            社区id
     * @return 建筑集合
     */
    @Override
    public R listComMngStructBuildType(Long communityId) {
        List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = comMngStructBuildTypeDAO.selectList(new QueryWrapper<ComMngStructBuildTypeDO>().lambda().eq(ComMngStructBuildTypeDO::getCommunityId, communityId));
        List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS =
            comMngStructBuildTypeDAO.selectList(new QueryWrapper<ComMngStructBuildTypeDO>().lambda()
                .eq(ComMngStructBuildTypeDO::getCommunityId, communityId));
        if (ObjectUtils.isEmpty(comMngStructBuildTypeDOS)) {
            return R.fail();
        }
        List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOList=new ArrayList<>();
        List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOList = new ArrayList<>();
        comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> {
            ComMngStructBuildTypeVO comMngStructBuildTypeVO=new ComMngStructBuildTypeVO();
            BeanUtils.copyProperties(comMngStructBuildTypeDO,comMngStructBuildTypeVO);
            ComMngStructBuildTypeVO comMngStructBuildTypeVO = new ComMngStructBuildTypeVO();
            BeanUtils.copyProperties(comMngStructBuildTypeDO, comMngStructBuildTypeVO);
            comMngStructBuildTypeVOList.add(comMngStructBuildTypeVO);
        });
        return R.ok(comMngStructBuildTypeVOList);
@@ -120,34 +129,38 @@
    /**
     * 增加删除建筑类型
     *
     * @param systemmanagementConfigVO 操作内容
     * @param systemmanagementConfigVO
     *            操作内容
     * @return 操作结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R putComMngStructBuildType(SystemmanagementConfigVO systemmanagementConfigVO) {
        Long communityId = systemmanagementConfigVO.getCommunityId();
        List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOList = systemmanagementConfigVO.getComMngStructBuildTypeVOList();
        List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOList =
            systemmanagementConfigVO.getComMngStructBuildTypeVOList();
        if (ObjectUtils.isEmpty(comMngStructBuildTypeVOList)) {
            return R.fail("建筑类型不能为空");
        }
        List<Long> collect = comMngStructBuildTypeVOList.stream().map(comMngStructBuildTypeVO -> comMngStructBuildTypeVO.getId()).collect(Collectors.toList());
        List<Long> buildTypdIds= comMngStructOtherBuildDAO.selectAllBuildTypeIds(communityId);
        List<Long> collect = comMngStructBuildTypeVOList.stream()
            .map(comMngStructBuildTypeVO -> comMngStructBuildTypeVO.getId()).collect(Collectors.toList());
        List<Long> buildTypdIds = comMngStructOtherBuildDAO.selectAllBuildTypeIds(communityId);
        buildTypdIds.forEach(aLong -> {
            if (!collect.contains(aLong)) {
                ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(aLong);
                if (!ObjectUtils.isEmpty(comMngStructBuildTypeDO)) {
                    throw new ServiceException(comMngStructBuildTypeDO.getName()+"已经在使用无法删除");
                    throw new ServiceException(comMngStructBuildTypeDO.getName() + "已经在使用无法删除");
                }
            }
        });
         comMngStructBuildTypeDAO.delete(new QueryWrapper<ComMngStructBuildTypeDO>().lambda().eq(ComMngStructBuildTypeDO::getCommunityId, communityId));
        comMngStructBuildTypeDAO.delete(new QueryWrapper<ComMngStructBuildTypeDO>().lambda()
            .eq(ComMngStructBuildTypeDO::getCommunityId, communityId));
        comMngStructBuildTypeVOList.forEach(comMngStructBuildTypeVO -> {
            String name = comMngStructBuildTypeVO.getName();
            if (ObjectUtils.isEmpty(name)) {
                throw new RuntimeException("建筑类型名称不能为空");
            }
            ComMngStructBuildTypeDO comMngStructBuildTypeDO=new ComMngStructBuildTypeDO();
            ComMngStructBuildTypeDO comMngStructBuildTypeDO = new ComMngStructBuildTypeDO();
            comMngStructBuildTypeDO.setCommunityId(communityId);
            comMngStructBuildTypeDO.setName(name);
            comMngStructBuildTypeDAO.insert(comMngStructBuildTypeDO);
@@ -158,7 +171,8 @@
    /**
     * 其他建筑详情
     *
     * @param id 主键id
     * @param id
     *            主键id
     * @return 建筑内容
     */
    @Override
@@ -172,8 +186,8 @@
        if (ObjectUtils.isEmpty(comMngStructBuildTypeDO)) {
            return R.fail("建筑类型不存在");
        }
        ComMngStructOtherBuildVO comMngStructOtherBuildVO=new ComMngStructOtherBuildVO();
        BeanUtils.copyProperties(comMngStructOtherBuildDO,comMngStructOtherBuildVO);
        ComMngStructOtherBuildVO comMngStructOtherBuildVO = new ComMngStructOtherBuildVO();
        BeanUtils.copyProperties(comMngStructOtherBuildDO, comMngStructOtherBuildVO);
        comMngStructOtherBuildVO.setBuileTypeName(comMngStructBuildTypeDO.getName());
        return R.ok(comMngStructOtherBuildVO);
    }
@@ -181,7 +195,8 @@
    /**
     * 编辑其他建筑
     *
     * @param comMngStructOtherBuildVO 编辑内容
     * @param comMngStructOtherBuildVO
     *            编辑内容
     * @return 编辑结果
     */
    @Override
@@ -191,10 +206,10 @@
        if (ObjectUtils.isEmpty(comMngStructBuildTypeDO)) {
            return R.fail("建筑类型不存在");
        }
        ComMngStructOtherBuildDO comMngStructOtherBuildDO=new ComMngStructOtherBuildDO();
        BeanUtils.copyProperties(comMngStructOtherBuildVO,comMngStructOtherBuildDO);
        ComMngStructOtherBuildDO comMngStructOtherBuildDO = new ComMngStructOtherBuildDO();
        BeanUtils.copyProperties(comMngStructOtherBuildVO, comMngStructOtherBuildDO);
        int update = comMngStructOtherBuildDAO.updateById(comMngStructOtherBuildDO);
        if (update>0) {
        if (update > 0) {
            return R.ok("编辑成功过");
        }
        return R.fail("编辑失败");
@@ -203,13 +218,14 @@
    /**
     * 删除其他建筑
     *
     * @param id 主键
     * @param id
     *            主键
     * @return 删除结果
     */
    @Override
    public R deleteOtherbuild(Long id) {
        int delete = comMngStructOtherBuildDAO.deleteById(id);
        if (delete>0) {
        if (delete > 0) {
            return R.ok();
        }
        return R.fail("删除失败");