From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 23 十二月 2021 18:10:22 +0800 Subject: [PATCH] 12/23 大屏修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngStructOtherBuildServiceImpl.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 160 insertions(+), 19 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 3561c04..f927343 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,8 +1,23 @@ 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; +import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.community.ComMngStructBuildTypeVO; import com.panzhihua.common.model.vos.community.ComMngStructOtherBuildVO; import com.panzhihua.service_community.dao.ComMngStructBuildTypeDAO; @@ -10,13 +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.util.ObjectUtils; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -34,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(); @@ -55,12 +64,13 @@ */ @Override public R listBuildType() { - List<ComMngStructBuildTypeVO>comMngStructBuildTypeVOS=new ArrayList<>(); - List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = comMngStructBuildTypeDAO.selectList(null); + List<ComMngStructBuildTypeVO> comMngStructBuildTypeVOS = new ArrayList<>(); + List<ComMngStructBuildTypeDO> comMngStructBuildTypeDOS = + comMngStructBuildTypeDAO.selectList(new LambdaQueryWrapper<>()); 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); }); } @@ -70,7 +80,8 @@ /** * 分页查询 其他建筑 * - * @param comMngStructOtherBuildVO 分页查询参数 + * @param comMngStructOtherBuildVO + * 分页查询参数 * @return 查询结果 */ @Override @@ -78,15 +89,145 @@ 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 + * @return 建筑集合 + */ + @Override + public R listComMngStructBuildType(Long 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<>(); + comMngStructBuildTypeDOS.forEach(comMngStructBuildTypeDO -> { + ComMngStructBuildTypeVO comMngStructBuildTypeVO = new ComMngStructBuildTypeVO(); + BeanUtils.copyProperties(comMngStructBuildTypeDO, comMngStructBuildTypeVO); + comMngStructBuildTypeVOList.add(comMngStructBuildTypeVO); + }); + return R.ok(comMngStructBuildTypeVOList); + } + + /** + * 增加删除建筑类型 + * + * @param systemmanagementConfigVO + * 操作内容 + * @return 操作结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R putComMngStructBuildType(SystemmanagementConfigVO systemmanagementConfigVO) { + Long communityId = systemmanagementConfigVO.getCommunityId(); + 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); + buildTypdIds.forEach(aLong -> { + if (!collect.contains(aLong)) { + ComMngStructBuildTypeDO comMngStructBuildTypeDO = comMngStructBuildTypeDAO.selectById(aLong); + if (!ObjectUtils.isEmpty(comMngStructBuildTypeDO)) { + throw new ServiceException(comMngStructBuildTypeDO.getName() + "已经在使用无法删除"); + } + } + }); + 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.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