From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期二, 16 八月 2022 19:08:32 +0800
Subject: [PATCH] 服务范围优化

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java |  147 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 113 insertions(+), 34 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java
index 8fe2a79..9689d63 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java
@@ -1,5 +1,17 @@
 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;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,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
@@ -39,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();
@@ -59,13 +63,14 @@
      * @return 类型列表
      */
     @Override
-    public R listBuildType() {
-        List<ComMngStructBuildTypeVO>comMngStructBuildTypeVOS=new ArrayList<>();
-        List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = comMngStructBuildTypeDAO.selectList(null);
+    public R listBuildType(Long communityId) {
+        List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOS = new ArrayList<>();
+        List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS =
+            comMngStructBuildTypeDAO.selectList(new QueryWrapper<ComMngStructBuildTypeDO>().lambda().eq(ComMngStructBuildTypeDO::getCommunityId,communityId));
         if (!ObjectUtils.isEmpty(comMngStructBuildTypeDOS)) {
-            ComMngStructBuildTypeVO comMngStructBuildTypeVO=new ComMngStructBuildTypeVO();
             comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> {
-                BeanUtils.copyProperties(comMngStructBuildTypeDO,comMngStructBuildTypeVO);
+                ComMngStructBuildTypeVO comMngStructBuildTypeVO = new ComMngStructBuildTypeVO();
+                BeanUtils.copyProperties(comMngStructBuildTypeDO, comMngStructBuildTypeVO);
                 comMngStructBuildTypeVOS.add(comMngStructBuildTypeVO);
             });
         }
@@ -75,7 +80,8 @@
     /**
      * 分页查询 其他建筑
      *
-     * @param comMngStructOtherBuildVO 分页查询参数
+     * @param comMngStructOtherBuildVO
+     *            分页查询参数
      * @return 查询结果
      */
     @Override
@@ -83,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);
@@ -119,36 +129,105 @@
     /**
      * 增加删除建筑类型
      *
-     * @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);
-                throw new ServiceException(comMngStructBuildTypeDO.getName()+"已经在使用无法删除");
+                if (!ObjectUtils.isEmpty(comMngStructBuildTypeDO)) {
+                    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);
         });
         return R.ok();
     }
+
+    /**
+     * 其他建筑详情
+     *
+     * @param id
+     *            主键id
+     * @return 建筑内容
+     */
+    @Override
+    public R detailOtherbuild(Long id) {
+        ComMngStructOtherBuildDO comMngStructOtherBuildDO = comMngStructOtherBuildDAO.selectById(id);
+        if (ObjectUtils.isEmpty(comMngStructOtherBuildDO)) {
+            return R.fail("建筑不存在");
+        }
+        Long typeId = comMngStructOtherBuildDO.getTypeId();
+        ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(typeId);
+        if (ObjectUtils.isEmpty(comMngStructBuildTypeDO)) {
+            return R.fail("建筑类型不存在");
+        }
+        ComMngStructOtherBuildVO comMngStructOtherBuildVO = new ComMngStructOtherBuildVO();
+        BeanUtils.copyProperties(comMngStructOtherBuildDO, comMngStructOtherBuildVO);
+        comMngStructOtherBuildVO.setBuileTypeName(comMngStructBuildTypeDO.getName());
+        return R.ok(comMngStructOtherBuildVO);
+    }
+
+    /**
+     * 编辑其他建筑
+     *
+     * @param comMngStructOtherBuildVO
+     *            编辑内容
+     * @return 编辑结果
+     */
+    @Override
+    public R putOtherbuild(ComMngStructOtherBuildVO comMngStructOtherBuildVO) {
+        Long typeId = comMngStructOtherBuildVO.getTypeId();
+        ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(typeId);
+        if (ObjectUtils.isEmpty(comMngStructBuildTypeDO)) {
+            return R.fail("建筑类型不存在");
+        }
+        ComMngStructOtherBuildDO comMngStructOtherBuildDO = new ComMngStructOtherBuildDO();
+        BeanUtils.copyProperties(comMngStructOtherBuildVO, comMngStructOtherBuildDO);
+        int update = comMngStructOtherBuildDAO.updateById(comMngStructOtherBuildDO);
+        if (update > 0) {
+            return R.ok("编辑成功过");
+        }
+        return R.fail("编辑失败");
+    }
+
+    /**
+     * 删除其他建筑
+     *
+     * @param id
+     *            主键
+     * @return 删除结果
+     */
+    @Override
+    public R deleteOtherbuild(Long id) {
+        int delete = comMngStructOtherBuildDAO.deleteById(id);
+        if (delete > 0) {
+            return R.ok();
+        }
+        return R.fail("删除失败");
+    }
 }

--
Gitblit v1.7.1